2014-01-01 Jakub Jelinek <jakub@redhat.com>
+ * config/i386/sse.md (*mov<mode>_internal): Guard
+ EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
+
PR rtl-optimization/59647
* cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
new_rtx into UNSIGNED_FLOAT rtxes.
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))
{