[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2022-01-11 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 --- Comment #9 from Richard Biener --- (In reply to Segher Boessenkool from comment #8) > (In reply to Richard Biener from comment #7) > > Another possibility would be to do this on GIMPLE, creating parts of the > > constant pool early with

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2022-01-11 Thread segher at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 --- Comment #8 from Segher Boessenkool --- (In reply to Richard Biener from comment #7) > Another possibility would be to do this on GIMPLE, creating parts of the > constant pool early with CONST_DECLs and loads from them for constants that >

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2022-01-11 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 --- Comment #7 from Richard Biener --- Another possibility would be to do this on GIMPLE, creating parts of the constant pool early with CONST_DECLs and loads from them for constants that are never legitimate (immediate) in instructions.

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2020-09-16 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 Segher Boessenkool changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2020-09-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 --- Comment #5 from Richard Biener --- Related and more difficult case where the add is first and we'd want to change the load of -3 to a load of 3 so we can CSE the 3 for the multiplication. double foo (double x) { return (x + -3.) * 3.; }

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2020-09-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 --- Comment #4 from Richard Biener --- (In reply to Jakub Jelinek from comment #2) > REG_EQUAL notes aren't really needed for that, we have functions to query > the values from the constant pool for loads from it. > So guess it is a matter of

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2020-09-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 --- Comment #3 from Richard Biener --- So on targets where the FP constant loads are separate insns the load of the negated constant could be replaced by a (neg:DF ..) which might even be profitable when not combined with the following add. As

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2020-09-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2

[Bug rtl-optimization/97071] Fails to CSE / inherit constant pool load

2020-09-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97071 Richard Biener changed: What|Removed |Added Target||powerpc64le Keywords|