From: Christoph Müllner <christoph.muell...@vrull.eu> Recently, these xtheadcondmov tests regressed with -Oz: * FAIL: gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c * FAIL: gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c * FAIL: gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c * FAIL: gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c
As -Oz stands for "Optimize aggressively for size rather than speed.", we need to inspect the generated code, which looks like this: -Oz 0000000000000000 <not_int_int>: 0: e199 bnez a1,6 <.L2> 2: 40100513 li a0,1025 0000000000000006 <.L2>: 6: 8082 ret -O2: 0000000000000000 <not_int_int>: 0: 40100793 li a5,1025 4: 40b7950b th.mveqz a0,a5,a1 8: 8082 ret As the generated code with -Oz consumes less size, there is nothing wrong in the code generation. Instead, let's not run the xtheadcondmov tests with -Oz. Signed-off-by: Christoph Müllner <christoph.muell...@vrull.eu> gcc/testsuite/ChangeLog: * gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c: Disable for -Oz. * gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c: Likewise. * gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c: Likewise. * gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c: Likewise. * gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c: Likewise. * gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c: Likewise. * gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c: Likewise. * gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c: Likewise. --- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c index 913ae43f21b..9cc9ec1d0c7 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c index 1bc8b838233..491343370b7 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c index 8ef5869a89b..d7227249e84 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond, int v) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c index f9568bee27f..6cc98e36e71 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond, int v) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c index 8feddbeb79d..7cce2c71d18 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c index 7c08e20c25d..51b90bbc9a9 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c index c1619509af9..d9bde61cd2b 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond, int v) diff --git a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c index ff95a57927a..c12501a752c 100644 --- a/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c +++ b/gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-march=rv32gc_xtheadcondmov" { target { rv32 } } } */ /* { dg-options "-march=rv64gc_xtheadcondmov" { target { rv64 } } } */ -/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" } } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Os" "-Og" "-Oz" } } */ int not_int_int (int x, int cond, int v) -- 2.41.0