On Mon, Feb 05, 2018 at 05:57:25AM -0600, Segher Boessenkool wrote: > On Thu, Feb 01, 2018 at 02:31:17PM -0500, Michael Meissner wrote: > > This patch fixes the optimization regression that occurred on GCC 7 where > > conversions from the various floating point types to small integers would at > > times generate a store and a load. > > [ snip big explanation; thanks for that! ] > > Could you merge the signed and unsigned patterns, using any_fix? Or is > there a reason that cannot work (other than that <su> unsigned_fix seems > buggy, it should say "u")?
Well that's the way the instructions are. For traditional FPR instructions we have FCTIWZ vs. FCTIWUZ, while on the VSX side we have XSCVDPSXWS vs. XSCVDPUXWS. If you mean the name of the insn, I can change it if desired, but originally it was based on the FPR insn name. > Okay for trunk even without that (but please try). Also okay for 7 after > looking for fallout. In the past, I have found that combining code iterators with two mode iterators has a bug where it would use the wrong code iterator, so I just avoided doing that. I'll see if it is still a bug. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797