x86: correct bmi2_umul<mode><dwi>3_1's MEM_P() uses

It's pretty clear that the operand numbers in the MEM_P() checks are
off by one, perhaps due to a copy-and-paste oversight (unlike in most
other places here we're dealing with two outputs).

gcc/

	* config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
	arguments.
This commit is contained in:
Jan Beulich 2022-05-30 11:29:59 +02:00
parent 1b88c61e37
commit c892984040

View File

@ -8465,7 +8465,7 @@
(zero_extend:<DWI> (match_dup 3)))
(match_operand:QI 4 "const_int_operand" "n"))))]
"TARGET_BMI2 && INTVAL (operands[4]) == <MODE_SIZE> * BITS_PER_UNIT
&& !(MEM_P (operands[1]) && MEM_P (operands[2]))"
&& !(MEM_P (operands[2]) && MEM_P (operands[3]))"
"mulx\t{%3, %0, %1|%1, %0, %3}"
[(set_attr "type" "imulx")
(set_attr "prefix" "vex")