This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/71118] [5,6,7 Regression] ftois instruction not emitted for float -> int bitcast
- From: "segher at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 15 May 2016 22:28:46 +0000
- Subject: [Bug rtl-optimization/71118] [5,6,7 Regression] ftois instruction not emitted for float -> int bitcast
- Auto-submitted: auto-generated
- References: <bug-71118-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71118
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> ---
This is caused by https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01445.html .
After the change, the hard (argument) register is no longer propagated
into the (set (int reg) (subreg of fp reg)), and then IRA puts the fp
reg in memory.
We should find a way to express the conversion in a way that we can
match it to its own instruction (it matches the generic integer pattern
now, nothing looks inside the subreg), or if it has to go through memory,
do that at expand time already.