https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95830
Paul Hua <paul.hua.gm at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |--- --- Comment #5 from Paul Hua <paul.hua.gm at gmail dot com> --- The following testcase still fails on mips. FAIL: gcc.target/mips/mips-ps-5.c -O1 scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O1 scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O2 scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O2 scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O3 -g scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O3 -g scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O2 -flto -fno-use-linker-plugin -flto-partition=none scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O2 -flto -fno-use-linker-plugin -flto-partition=none scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-5.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O1 scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O1 scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O2 scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O2 scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O3 -g scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O3 -g scan-assembler \\tmov[tf]\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O2 -flto -fno-use-linker-plugin -flto-partition=none scan-assembler \\tc\\\\.eq\\\\.ps\\t FAIL: gcc.target/mips/mips-ps-7.c -O2 -flto -fno-use-linker-plugin -flto-partition=none scan-assembler \\tmov[tf]\\\\.ps\\t $ cat mips-ps-5.i extern float a[] __attribute__ ((aligned (8))); extern float b[] __attribute__ ((aligned (8))); extern float c[] __attribute__ ((aligned (8))); __attribute__((nomips16)) void foo (void) { int i; for (i = 0; i < 16; i++) a[i] = b[i] == c[i] + 1 ? b[i] : c[i]; } $ ./gcc/cc1 -fpreprocessed mips-ps-5.i -mel -quiet -dumpbase mips-ps-5.c -dumpbase-ext .c -mhard-float -mdouble-float -mfp64 -mgp64 -mpaired-single -modd-spreg -march=mips64r2 -mabi=64 -mllsc -mips64r2 -mno-shared -O1 -version -fdiagnostics-color=never -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-urls=never -ftree-vectorize -ffat-lto-objects -fno-ident -o mips-ps-5.s old asm out : .L2: ldc1 $f0,0($2) ldc1 $f1,0($4) add.ps $f2,$f1,$f3 c.eq.ps $fcc0,$f0,$f2 movf.ps $f0,$f1,$fcc0 sdc1 $f0,0($3) daddiu $2,$2,8 daddiu $4,$4,8 .set noreorder .set nomacro bne $2,$5,.L2 daddiu $3,$3,8 .set macro .set reorder after r11-1445-g502d63b6d61 asm out: .L2: ldc1 $f2,0($3) ldc1 $f0,0($5) add.ps $f3,$f0,$f5 cvt.s.pl $f1,$f2 cvt.s.pu $f2,$f2 cvt.s.pl $f4,$f3 c.eq.s $fcc0,$f1,$f4 move $2,$6 movf $2,$0,$fcc0 sw $2,16($sp) cvt.s.pu $f3,$f3 c.eq.s $fcc1,$f2,$f3 move $2,$6 movf $2,$0,$fcc1 sw $2,20($sp) ld $2,16($sp) sll $7,$2,0 dsra $2,$2,32 cvt.s.pl $f3,$f0 movz.s $f1,$f3,$7 cvt.s.pu $f0,$f0 movn.s $f0,$f2,$2 cvt.ps.s $f1,$f0,$f1 sdc1 $f1,0($4) daddiu $3,$3,8 daddiu $5,$5,8 .set noreorder .set nomacro bne $3,$8,.L2 daddiu $4,$4,8 .set macro .set reorder