aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2018-11-22 22:25:37 +0100
committerUros Bizjak <uros@gcc.gnu.org>2018-11-22 22:25:37 +0100
commite4b0215585f77f78fa3aa9b1621749ce23c1d393 (patch)
treea93bfc04055799f090f9c62697ea2ac0a792ee69 /gcc
parent69a69df1e55a98e63c608ff5779189a00a5a1deb (diff)
downloadgcc-e4b0215585f77f78fa3aa9b1621749ce23c1d393.zip
gcc-e4b0215585f77f78fa3aa9b1621749ce23c1d393.tar.gz
gcc-e4b0215585f77f78fa3aa9b1621749ce23c1d393.tar.bz2
i386.c (ix86_check_avx_upper_register): Return true for all SSE registers with mode bitsize > 128.
* config/i386/i386.c (ix86_check_avx_upper_register): Return true for all SSE registers with mode bitsize > 128. From-SVN: r266389
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c7
2 files changed, 6 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 563f22c..dd12d32 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 6ccd279..f885232 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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. */