aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <r.sandiford@uk.ibm.com>2014-05-19 07:25:25 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-05-19 07:25:25 +0000
commit34dbb287c7d6bc68db6bc2eb83b1275dfe99e923 (patch)
tree4b7fbe0e2bf4125379370f1cb262c85faadc8f98
parent339ba33b4f6f90b30f41705cfc71e1ec2b81ac27 (diff)
downloadgcc-34dbb287c7d6bc68db6bc2eb83b1275dfe99e923.zip
gcc-34dbb287c7d6bc68db6bc2eb83b1275dfe99e923.tar.gz
gcc-34dbb287c7d6bc68db6bc2eb83b1275dfe99e923.tar.bz2
re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap)
gcc/ PR target/61084 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather than wide_int. From-SVN: r210604
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/sparc.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 75ca1d2..e592f85 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 30d4159..7bfd3c1 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -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