]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap)
authorRichard Sandiford <r.sandiford@uk.ibm.com>
Mon, 19 May 2014 07:25:25 +0000 (07:25 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 19 May 2014 07:25:25 +0000 (07:25 +0000)
gcc/
PR target/61084
* config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
than wide_int.

From-SVN: r210604

gcc/ChangeLog
gcc/config/sparc/sparc.c

index 75ca1d293bd88d5da3629e76f96bc3fdc9245bfa..e592f85be1aa3f97ac221e74b3e8db9567b6741d 100644 (file)
@@ -1,3 +1,9 @@
+2014-05-19  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       PR target/61084
+       * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
+       than wide_int.
+
 2014-05-19  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * reg-notes.def (CROSSING_JUMP): Likewise.
index 30d4159a4977cae300ab9082f7c68e21ce37b5a0..7bfd3c1d73c37ab670bdf5a225fb9196f38ad39b 100644 (file)
@@ -10915,8 +10915,8 @@ sparc_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED,
          && TREE_CODE (arg2) == INTEGER_CST)
        {
          bool overflow = false;
-         wide_int result = arg2;
-         wide_int tmp;
+         widest_int result = wi::to_widest (arg2);
+         widest_int tmp;
          unsigned i;
 
          for (i = 0; i < VECTOR_CST_NELTS (arg0); ++i)
@@ -10926,8 +10926,8 @@ sparc_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED,
 
              bool neg1_ovf, neg2_ovf, add1_ovf, add2_ovf;
 
-             tmp = wi::neg (e1, &neg1_ovf);
-             tmp = wi::add (e0, tmp, SIGNED, &add1_ovf);
+             tmp = wi::neg (wi::to_widest (e1), &neg1_ovf);
+             tmp = wi::add (wi::to_widest (e0), tmp, SIGNED, &add1_ovf);
              if (wi::neg_p (tmp))
                tmp = wi::neg (tmp, &neg2_ovf);
              else