[Bug tree-optimization/61301] missed optimization of move if vector passed by reference

2014-06-08 Thread thomas.preudhomme at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61301 --- Comment #4 from Thomas Preud'homme thomas.preudhomme at arm dot com --- (In reply to Richard Biener from comment #3) _3 = MEM[(const float *)this_1(D) + 4B]; _4 = MEM[(const float *)this_1(D)]; _5 = MEM[(const float *)this_1(D) +

[Bug tree-optimization/61301] missed optimization of move if vector passed by reference

2014-06-08 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61301 --- Comment #5 from Andrew Pinski pinskia at gcc dot gnu.org --- (In reply to Thomas Preud'homme from comment #4) I had started working on shuffle support in bswap but I realized this would probably not help ARM as move between floating point

[Bug tree-optimization/61301] missed optimization of move if vector passed by reference

2014-05-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61301 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords|

[Bug tree-optimization/61301] missed optimization of move if vector passed by reference

2014-05-24 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61301 --- Comment #1 from Marc Glisse glisse at gcc dot gnu.org --- forwprop recognizes a constructor of bit_field_ref and turns it into a vec_perm_expr, but it can't handle a constructor of mem_ref (that requires looking for clobbers etc, not a job

[Bug tree-optimization/61301] missed optimization of move if vector passed by reference

2014-05-24 Thread vincenzo.innocente at cern dot ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61301 --- Comment #2 from vincenzo Innocente vincenzo.innocente at cern dot ch --- At least when shuffle2 is inlined it is likely to become like shuffle1... not sure for the case of a struct such as foo (unless the instance of foo itself in on the