[Bug rtl-optimization/88349] [9 regression][MIPS] Redundant store instructions generated start with r266385
paul.hua.gm at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Dec 4 11:29:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88349
--- Comment #1 from Paul Hua <paul.hua.gm at gmail dot com> ---
paulhua@gcc122:~/test/debug_msa$ cat v16i8_cmpi.i
typedef signed char v16i8 __attribute__ ((vector_size(16)));
v16i8 test31_s_v16i8 (v16i8 i) {
return i < 5;
}
good asm:
test31_s_v16i8:
.frame $sp,16,$31 # vars= 0, regs= 1/0, args= 0, gp= 0
.mask 0x10000000,-8
.fmask 0x00000000,0
daddiu $sp,$sp,-16
sd $28,8($sp)
lui $28,%hi(%neg(%gp_rel(test31_s_v16i8)))
daddu $28,$28,$25
daddiu $28,$28,%lo(%neg(%gp_rel(test31_s_v16i8)))
insert.d $w0[0],$4
insert.d $w0[1],$5
clti_s.b $w0,$w0,5
copy_s.d $2,$w0[0]
copy_s.d $3,$w0[1]
ld $28,8($sp)
.set noreorder
.set nomacro
j $31
daddiu $sp,$sp,16
bad asm:
test31_s_v16i8:
.frame $sp,32,$31 # vars= 16, regs= 1/0, args= 0, gp= 0
.mask 0x10000000,-8
.fmask 0x00000000,0
daddiu $sp,$sp,-32
sd $28,24($sp)
lui $28,%hi(%neg(%gp_rel(test31_s_v16i8)))
daddu $28,$28,$25
daddiu $28,$28,%lo(%neg(%gp_rel(test31_s_v16i8)))
insert.d $w0[0],$4
insert.d $w0[1],$5
clti_s.b $w0,$w0,5
st.b $w0,0($sp)
copy_s.d $2,$w0[0]
copy_s.d $3,$w0[1]
ld $28,24($sp)
.set noreorder
.set nomacro
j $31
daddiu $sp,$sp,32
cmd:
~/build/gcc-r266385_obj/gcc/cc1 -fpreprocessed v16i8_cmpi.i -mel -quiet
-dumpbase v16i8_cmpi.c -mmsa -march=mips64r2 -mabi=64 -mllsc -mips64r2
-mno-shared -auxbase v16i8_cmpi -O1 -version -o bad.s
More information about the Gcc-bugs
mailing list