This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [MIPS] Test case dspr2-MULT is failed
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Mingjie Xing <mingjie dot xing at gmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 31 Dec 2010 13:38:39 +0000
- Subject: Re: [MIPS] Test case dspr2-MULT is failed
- References: <AANLkTimhP_2mewXieOCg0ppKNrx2084V1Okes69_5q6v@mail.gmail.com>
Mingjie Xing <mingjie.xing@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