[PATCH] PowerPC PR target/84154, fix floating point to small integer conversion regression
Michael Meissner
meissner@linux.vnet.ibm.com
Tue Feb 6 20:11:00 GMT 2018
On Tue, Feb 06, 2018 at 11:15:21AM -0600, Segher Boessenkool wrote:
> Hi!
>
> On Mon, Feb 05, 2018 at 05:57:51PM -0500, Michael Meissner wrote:
> > > We have
> > >
> > > (define_code_attr su [(sign_extend "s")
> > > (zero_extend "u")
> > > (fix "s")
> > > (unsigned_fix "s")
> > > (float "s")
> > > (unsigned_float "u")])
> > >
> > > and "s" for unsigned_fix seems like it should be "u". Very surprising
> > > otherwise (if this is needed in some case, it should just write "s" there
> > > instead of "<su>").
>
> What about this?
You were right. I kept missing this. Sorry.
Here is the patch for just this fix. As we've discussed, I'll apply this patch
directly as being obvious, while waiting for the other builds.
[gcc]
2018-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/84154
* config/rs6000/rs6000.md (su code attribute): Use "u" for
unsigned_fix, not "s".
Index: gcc/config/rs6000/rs6000.md
===================================================================
--- gcc/config/rs6000/rs6000.md (revision 257269)
+++ gcc/config/rs6000/rs6000.md (working copy)
@@ -550,7 +550,7 @@ (define_code_attr u [(sign_extend "")
(define_code_attr su [(sign_extend "s")
(zero_extend "u")
(fix "s")
- (unsigned_fix "s")
+ (unsigned_fix "u")
(float "s")
(unsigned_float "u")])
--
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
More information about the Gcc-patches
mailing list