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 563f22cd317385373a8b45595a45ad88de4539c1..dd12d3284efdb70b81ca6d27d77b4a9310bfd9f0 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 6ccd2797b61bb1d40837fc896d7c9723b8506c92..f8852327d4ad5763f77a6c12bfce1ba57551fe1c 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.  */