]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/config/rs6000/rs6000.c
re PR target/68805 (ICE while var-tracking in simplify_binary_operation_1 with -g...
[gcc.git] / gcc / config / rs6000 / rs6000.c
index 6b22f93e0ffbd053b1b85e4b4345e642543fad7c..8ffdae2e0241ac3c85bf5f9e54f55a09a8108714 100644 (file)
@@ -8829,8 +8829,9 @@ rs6000_const_vec (machine_mode mode)
 rtx
 rs6000_gen_le_vsx_permute (rtx source, machine_mode mode)
 {
-  /* Use ROTATE instead of VEC_SELECT on IEEE 128-bit floating point.  */
-  if (FLOAT128_VECTOR_P (mode))
+  /* Use ROTATE instead of VEC_SELECT on IEEE 128-bit floating point, and
+     128-bit integers if they are allowed in VSX registers.  */
+  if (FLOAT128_VECTOR_P (mode) || mode == TImode)
     return gen_rtx_ROTATE (mode, source, GEN_INT (64));
   else
     {
This page took 0.074135 seconds and 5 git commands to generate.