Mingjie Xing <mingjie.x...@gmail.com> writes: > There are two test cases failed when run 'make check-gcc > RUNTESTFLAGS="mips.exp"'. The log is, > > Executing on host: /home/xmj/tools/build-test-trunk-mips/gcc/xgcc > -B/home/xmj/tools/build-test-trunk-mips/gcc/ > /home/xmj/tools/test-trunk/gcc/testsuite/gcc.target/mips/dspr2-MULT.c > -DNOMIPS16=__attribute__((nomips16)) -mabi=32 -mips32r2 -mgp32 -O2 > -mdspr2 -mtune=74kc -ffixed-hi -ffixed-lo -S -o dspr2-MULT.s > (timeout = 300) > PASS: gcc.target/mips/dspr2-MULT.c (test for excess errors) > PASS: gcc.target/mips/dspr2-MULT.c scan-assembler \tmult\t > PASS: gcc.target/mips/dspr2-MULT.c scan-assembler ac1 > FAIL: gcc.target/mips/dspr2-MULT.c scan-assembler ac2 > Executing on host: /home/xmj/tools/build-test-trunk-mips/gcc/xgcc > -B/home/xmj/tools/build-test-trunk-mips/gcc/ > /home/xmj/tools/test-trunk/gcc/testsuite/gcc.target/mips/dspr2-MULTU.c > -DNOMIPS16=__attribute__((nomips16)) -mabi=32 -mips32r2 -mgp32 -O2 > -mdspr2 -mtune=74kc -ffixed-hi -ffixed-lo -S -o dspr2-MULTU.s > (timeout = 300) > PASS: gcc.target/mips/dspr2-MULTU.c (test for excess errors) > PASS: gcc.target/mips/dspr2-MULTU.c scan-assembler \tmultu\t > PASS: gcc.target/mips/dspr2-MULTU.c scan-assembler ac1 > FAIL: gcc.target/mips/dspr2-MULTU.c scan-assembler ac2 > > Is it a bug?
It's a register-allocation optimisation regression that's been around for quite a long time now (probably over a year). We're not making as much use of the 4 accumulator registers as we should. In truth, I don't think we ever really made good use of them anyway. ISTR that trivial modifications of the testcase failed even before the regression. Richard