diff options
author | Richard Sandiford <r.sandiford@uk.ibm.com> | 2014-05-19 07:25:25 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-05-19 07:25:25 +0000 |
commit | 34dbb287c7d6bc68db6bc2eb83b1275dfe99e923 (patch) | |
tree | 4b7fbe0e2bf4125379370f1cb262c85faadc8f98 | |
parent | 339ba33b4f6f90b30f41705cfc71e1ec2b81ac27 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 8 |
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 |