rs6000.c (vspltis_constant): Fix most significant bit of zero.
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 19 Feb 2014 19:43:13 +0000 (19:43 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Wed, 19 Feb 2014 19:43:13 +0000 (19:43 +0000)
2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (vspltis_constant): Fix most significant
bit of zero.

From-SVN: r207919

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index da1351b..8f84dbd 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
+       bit of zero.
+
 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/60207
index 6872e6c..ce9cea6 100644 (file)
@@ -5020,7 +5020,7 @@ vspltis_constant (rtx op, unsigned step, unsigned copies)
 
   val = const_vector_elt_as_int (op, BYTES_BIG_ENDIAN ? nunits - 1 : 0);
   splat_val = val;
-  msb_val = val > 0 ? 0 : -1;
+  msb_val = val >= 0 ? 0 : -1;
 
   /* Construct the value to be splatted, if possible.  If not, return 0.  */
   for (i = 2; i <= copies; i *= 2)