Hello!
No functional changes.
2016-04-25 Uros Bizjak <[email protected]>
* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
predicate for operand 2.
Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
Committed to mainline SVN.
Uros.
Index: i386.md
===================================================================
--- i386.md (revision 235396)
+++ i386.md (working copy)
@@ -6291,10 +6291,9 @@
(any_or:SWI12
(ashift:SWI12
(match_operand:SWI12 1 "index_register_operand" "l")
- (match_operand:SWI12 2 "const_int_operand" "n"))
+ (match_operand:SWI12 2 "const_0_to_3_operand" "n"))
(match_operand:SWI12 3 "const_int_operand" "n")))]
"(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
- && (unsigned HOST_WIDE_INT) INTVAL (operands[2]) <= 3
&& ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
< (HOST_WIDE_INT_1U << INTVAL (operands[2])))"
"#"
@@ -6316,11 +6315,10 @@
(any_or:SWI48
(ashift:SWI48
(match_operand:SWI48 1 "index_register_operand" "l")
- (match_operand:SWI48 2 "const_int_operand" "n"))
+ (match_operand:SWI48 2 "const_0_to_3_operand" "n"))
(match_operand:SWI48 3 "const_int_operand" "n")))]
- "(unsigned HOST_WIDE_INT) INTVAL (operands[2]) <= 3
- && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
- < (HOST_WIDE_INT_1U << INTVAL (operands[2])))"
+ "(unsigned HOST_WIDE_INT) INTVAL (operands[3])
+ < (HOST_WIDE_INT_1U << INTVAL (operands[2]))"
"#"
"&& reload_completed"
[(set (match_dup 0)