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  <meiss...@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: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Reply via email to