[Bug rtl-optimization/80474] ipa-cp wrongly adding LO(symbol) twice

2017-05-22 Thread jan.smets at nokia dot com
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

2017-05-22 Thread ebotcazou at gcc dot gnu.org
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

2017-05-10 Thread jan.smets at nokia dot com
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 Palka    
tree-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

2017-05-10 Thread rguenth at gcc dot gnu.org
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

2017-04-25 Thread jan.smets at nokia dot com
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

2017-04-25 Thread rguenth at gcc dot gnu.org
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

2017-04-22 Thread jan.smets at nokia dot com
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

2017-04-21 Thread rguenth at gcc dot gnu.org
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?