Commit 9bb069e5 by Uros Bizjak Committed by Uros Bizjak

i386.md (*lea<mode>_general_4): Use const_0_to_3_operand predicate for operand 2.

	* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
	predicate for operand 2.

From-SVN: r235397
parent 55284a77
2016-04-25 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
predicate for operand 2.
2016-04-24 Uros Bizjak <ubizjak@gmail.com> 2016-04-24 Uros Bizjak <ubizjak@gmail.com>
H.J. Lu <hongjiu.lu@intel.com> H.J. Lu <hongjiu.lu@intel.com>
......
...@@ -6291,10 +6291,9 @@ ...@@ -6291,10 +6291,9 @@
(any_or:SWI12 (any_or:SWI12
(ashift:SWI12 (ashift:SWI12
(match_operand:SWI12 1 "index_register_operand" "l") (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")))] (match_operand:SWI12 3 "const_int_operand" "n")))]
"(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) "(!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]) && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
< (HOST_WIDE_INT_1U << INTVAL (operands[2])))" < (HOST_WIDE_INT_1U << INTVAL (operands[2])))"
"#" "#"
...@@ -6316,11 +6315,10 @@ ...@@ -6316,11 +6315,10 @@
(any_or:SWI48 (any_or:SWI48
(ashift:SWI48 (ashift:SWI48
(match_operand:SWI48 1 "index_register_operand" "l") (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")))] (match_operand:SWI48 3 "const_int_operand" "n")))]
"(unsigned HOST_WIDE_INT) INTVAL (operands[2]) <= 3 "(unsigned HOST_WIDE_INT) INTVAL (operands[3])
&& ((unsigned HOST_WIDE_INT) INTVAL (operands[3]) < (HOST_WIDE_INT_1U << INTVAL (operands[2]))"
< (HOST_WIDE_INT_1U << INTVAL (operands[2])))"
"#" "#"
"&& reload_completed" "&& reload_completed"
[(set (match_dup 0) [(set (match_dup 0)
...@@ -7955,7 +7953,7 @@ ...@@ -7955,7 +7953,7 @@
if (len == HOST_BITS_PER_WIDE_INT) if (len == HOST_BITS_PER_WIDE_INT)
mask = -1; mask = -1;
else else
mask = ((HOST_WIDE_INT)1 << len) - 1; mask = (HOST_WIDE_INT_1 << len) - 1;
mask <<= pos; mask <<= pos;
operands[2] = gen_rtx_AND (mode, val, gen_int_mode (mask, mode)); operands[2] = gen_rtx_AND (mode, val, gen_int_mode (mask, mode));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment