Hi Marcus: I just spend some time on those two testcase, I think this those two testcase could just skip in big-endinan.
> FAIL: gcc.target/riscv/shift-and-1.c scan-assembler-not andi > FAIL: gcc.target/riscv/shift-and-2.c scan-assembler-not andi However seems like rv32be has still has some strange fail there, do you mind take a look for that? ../configure --prefix=$PREFIX --with-arch=rv32gc --with-multilib-generator=rv32gc-ilp32-- diff --git a/gcc/testsuite/gcc.target/riscv/shift-and-1.c b/gcc/testsuite/gcc.target/riscv/shift-and-1.c index d1f3a05db2c..6f4dccc709f 100644 --- a/gcc/testsuite/gcc.target/riscv/shift-and-1.c +++ b/gcc/testsuite/gcc.target/riscv/shift-and-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv32gc -mabi=ilp32 -O" } */ +/* { dg-options "-march=rv32gc -mabi=ilp32 -O -mlittle-endian" } */ /* Test for <optab>si3_mask. */ int diff --git a/gcc/testsuite/gcc.target/riscv/shift-and-2.c b/gcc/testsuite/gcc.target/riscv/shift-and-2.c index 2c98e50101b..19ce5a60b30 100644 --- a/gcc/testsuite/gcc.target/riscv/shift-and-2.c +++ b/gcc/testsuite/gcc.target/riscv/shift-and-2.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { riscv64*-*-* } } } */ -/* { dg-options "-march=rv64gc -mabi=lp64 -O" } */ +/* { dg-options "-march=rv64gc -mabi=lp64 -O -mlittle-endian" } */ /* Test for <optab>si3_mask_1. */ extern int k; On Tue, Feb 23, 2021 at 3:23 PM Marcus Comstedt <mar...@mc.pp.se> wrote: > > > Hi Kito, > > Kito Cheng <kito.ch...@gmail.com> writes: > > > FAIL: gcc.c-torture/execute/string-opt-5.c > > FAIL: gcc.target/riscv/shift-and-1.c scan-assembler-not andi > > FAIL: gcc.target/riscv/shift-and-2.c scan-assembler-not andi > > string-opt-5.c is one of the newlib issues I mentioned (handcoded > assembler for strcmp which assumed LE (it was intended to #error out > on BE, but used "BYTE_ORDER" instead of "__BYTE_ORDER__", so the check > never worked)). I'll send the fixes later today. > > The shift-and tests don't generate incorrect code or anything, but > it's still puzzling why the generated code is different from with > -mlittle-endian. > > > // Marcus > >