aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-01-01 00:53:17 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-01-01 00:53:17 +0100
commit726c3546ef93df71ec61944655f792779eed53d1 (patch)
tree7e1e7720ca03a666cdc38c59b2e49f350f5aaffd /gcc/config
parentdfebbdc61fc2aff2380313c5e8d7281b80d9b76c (diff)
downloadgcc-726c3546ef93df71ec61944655f792779eed53d1.zip
gcc-726c3546ef93df71ec61944655f792779eed53d1.tar.gz
gcc-726c3546ef93df71ec61944655f792779eed53d1.tar.bz2
sse.md (*mov<mode>_internal): Guard EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
* config/i386/sse.md (*mov<mode>_internal): Guard EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P. From-SVN: r206269
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/sse.md6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index d75edb7..d8451d1 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -670,8 +670,10 @@
in avx512f, so we need to use workarounds, to access sse registers
16-31, which are evex-only. */
if (TARGET_AVX512F && GET_MODE_SIZE (<MODE>mode) < 64
- && (EXT_REX_SSE_REGNO_P (REGNO (operands[0]))
- || EXT_REX_SSE_REGNO_P (REGNO (operands[1]))))
+ && ((REG_P (operands[0])
+ && EXT_REX_SSE_REGNO_P (REGNO (operands[0])))
+ || (REG_P (operands[1])
+ && EXT_REX_SSE_REGNO_P (REGNO (operands[1])))))
{
if (memory_operand (operands[0], <MODE>mode))
{