i386.c (ix86_check_avx_upper_register): Return true for all SSE registers with mode...
authorUros Bizjak <ubizjak@gmail.com>
Thu, 22 Nov 2018 21:25:37 +0000 (22:25 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 22 Nov 2018 21:25:37 +0000 (22:25 +0100)
* config/i386/i386.c (ix86_check_avx_upper_register):
Return true for all SSE registers with mode bitsize > 128.

From-SVN: r266389

gcc/ChangeLog
gcc/config/i386/i386.c

index 563f22c..dd12d32 100644 (file)
@@ -1,3 +1,8 @@
+2018-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_check_avx_upper_register):
+       Return true for all SSE registers with mode bitsize > 128.
+
 2018-11-22  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-optimization/87718
index 6ccd279..f885232 100644 (file)
@@ -18856,12 +18856,7 @@ ix86_dirflag_mode_needed (rtx_insn *insn)
 static bool
 ix86_check_avx_upper_register (const_rtx exp)
 {
-  if (SUBREG_P (exp))
-    exp = SUBREG_REG (exp);
-
-  return (REG_P (exp)
-       && (VALID_AVX256_REG_OR_OI_MODE (GET_MODE (exp))
-       || VALID_AVX512F_REG_OR_XI_MODE (GET_MODE (exp))));
+  return SSE_REG_P (exp) && GET_MODE_BITSIZE (GET_MODE (exp)) > 128;
 }
 
 /* Return needed mode for entity in optimize_mode_switching pass.  */