[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 --- Comment #7 from Jan Smets --- My apologies, somehow I dropped the -mno-abicalls along the road. $ git status HEAD detached at gcc-6_3_0-release configure --target=mips64-linux-gnuabi64 --enable-languages=c (with binutils/gmp/etc all alread present) make all-gcc -jN ./gcc/xgcc --version xgcc (GCC) 6.3.0 ./gcc/xgcc -B ./gcc -O2 -fno-reorder-blocks -march=mips2 -fno-inline-small-functions -mabi=32 -c /tmp/test.c -S -dA -dP -o - -mno-abicalls The output still matches the above output. Thanks
[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 Eric Botcazou changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed|2017-04-21 00:00:00 |2017-05-22 Ever confirmed|0 |1 --- Comment #6 from Eric Botcazou --- I cannot reproduce, please post the configure line of the 6.3.1 compiler and make sure to use pristine FSF sources.
[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 --- Comment #5 from Jan Smets --- We get 'good' code on 7.1/trunk since 2016-04-29 Patrick Palkatree-ssa-threadedge.c (simplify_control_stmt_condition): Split out into ... simplify_control_stmt_condition_1): ... here. Recurse into BIT_AND_EXPRs and BIT_IOR_EXPRs. but that just makes it latent.
[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 Richard Biener changed: What|Removed |Added Keywords||wrong-code Status|WAITING |UNCONFIRMED CC||ebotcazou at gcc dot gnu.org, ||matthew.fortune at imgtec dot com Ever confirmed|1 |0
[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 --- Comment #4 from Jan Smets --- For the reduced testcase : $ mips64-linux-gnuabi64-gcc --version mips64-linux-gnuabi64-gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406 mips64-linux-gnuabi64-gcc -O2 -fno-reorder-blocks -march=mips2 -fno-inline-small-functions -mabi=32 -c /tmp/test.c -S -dA -dP -o - # BLOCK 30 freq:1892 seq:27 # PRED: 36 [100.0%] $L34: #(jump_insn 153 152 198 (set (pc) #(if_then_else (eq (reg:SI 11 $11 [orig:202 prephitmp_65 ] [202]) #(const_int 0 [0])) #(label_ref 187) #(pc))) /tmp/test.c:58 472 {*branch_equalitysi} # (int_list:REG_BR_PROB 5000 (nil)) # -> 187) beq $11,$0,$L29 # 153 *branch_equalitysi [length = 4] #(insn 198 153 712 (set (reg/f:SI 16 $16 [282]) #(lo_sum:SI (reg/f:SI 16 $16 [283]) #(symbol_ref:SI ("badFn") [flags 0x41] ))) 300 {*lowsi} # (expr_list:REG_EQUAL (symbol_ref:SI ("badFn") [flags 0x41] ) #(nil))) addiu $16,$16,%lo(badFn) # 198 *lowsi [length = 4] # BLOCK 38 freq:945 seq:35 # PRED: 30 [50.0%] $L29: #(jump_insn 189 188 376 (set (pc) #(if_then_else (ne (reg:SI 9 $9 [orig:203 _67 ] [203]) #(const_int 0 [0])) #(label_ref 373) #(pc))) /tmp/test.c:58 472 {*branch_equalitysi} # (int_list:REG_BR_PROB 6446 (nil)) # -> 373) bne $9,$0,$L36 # 189 *branch_equalitysi [length = 4] #(insn/s 376 189 515 (set (reg/f:SI 16 $16 [282]) #(lo_sum:SI (reg/f:SI 16 $16 [283]) #(symbol_ref:SI ("badFn") [flags 0x41] ))) 300 {*lowsi} # (expr_list:REG_EQUAL (symbol_ref:SI ("badFn") [flags 0x41] ) #(nil))) addiu $16,$16,%lo(badFn) # 376 *lowsi [length = 4] # BLOCK 71 freq:609 seq:68 # PRED: 38 [64.5%] $L36: $L36: #(insn 661 776 377 (set (reg/f:SI 7 $7 [270]) #(high:SI (symbol_ref/f:SI ("*$LC0") [flags 0x2] ))) /tmp/test.c:58 310 {*movsi_internal} # (expr_list:REG_EQUIV (high:SI (symbol_ref/f:SI ("*$LC0") [flags 0x2] )) #(nil))) lui $7,%hi($LC0) # 661 *movsi_internal/4 [length = 4] #(insn 377 661 379 (set (mem:SI (plus:SI (reg/f:SI 29 $sp) #(const_int 16 [0x10])) [0 S4 A32]) #(reg/f:SI 16 $16 [282])) /tmp/test.c:58 310 {*movsi_internal} # (nil)) sw $16,16($sp) # 377 *movsi_internal/11 [length = 4] ...
[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 --- Comment #3 from Richard Biener --- How to configure a cross? --target=mips-o32 isn't valid. For the reduced testcase what are we looking for?
[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 --- Comment #2 from Jan Smets --- Created attachment 41245 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41245=edit testcase pr80474 -O2 -fno-reorder-blocks -march=mips2 -fno-inline-small-functions MIPS O32
[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474 Richard Biener changed: What|Removed |Added Target||mips-o32 Status|UNCONFIRMED |WAITING Last reconfirmed||2017-04-21 Ever confirmed|0 |1 --- Comment #1 from Richard Biener --- Can you provide unreduced preprocessed source plus command-line options to reproduce with a cross?