Commit 7a907dee by Uros Bizjak Committed by Uros Bizjak

i386.md (cmpstrnsi): Remove dead code.

	* config/i386/i386.md (cmpstrnsi): Remove dead code.

From-SVN: r272474
parent 25403c41
2019-06-19 Uroš Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (cmpstrnsi): Remove dead code.
2019-06-19 Wilco Dijkstra <wdijkstr@arm.com> 2019-06-19 Wilco Dijkstra <wdijkstr@arm.com>
PR middle-end/84521 PR middle-end/84521
......
...@@ -17004,7 +17004,7 @@ ...@@ -17004,7 +17004,7 @@
(use (match_operand 4 "immediate_operand"))] (use (match_operand 4 "immediate_operand"))]
"" ""
{ {
rtx addr1, addr2, out, outlow, count, countreg, align; rtx addr1, addr2, countreg, align, out;
if (optimize_insn_for_size_p () && !TARGET_INLINE_ALL_STRINGOPS) if (optimize_insn_for_size_p () && !TARGET_INLINE_ALL_STRINGOPS)
FAIL; FAIL;
...@@ -17028,10 +17028,6 @@ ...@@ -17028,10 +17028,6 @@
&& TREE_CODE (TREE_OPERAND (TREE_OPERAND (t2, 0), 0)) == STRING_CST))) && TREE_CODE (TREE_OPERAND (TREE_OPERAND (t2, 0), 0)) == STRING_CST)))
FAIL; FAIL;
out = operands[0];
if (!REG_P (out))
out = gen_reg_rtx (SImode);
addr1 = copy_addr_to_reg (XEXP (operands[1], 0)); addr1 = copy_addr_to_reg (XEXP (operands[1], 0));
addr2 = copy_addr_to_reg (XEXP (operands[2], 0)); addr2 = copy_addr_to_reg (XEXP (operands[2], 0));
if (addr1 != XEXP (operands[1], 0)) if (addr1 != XEXP (operands[1], 0))
...@@ -17039,17 +17035,16 @@ ...@@ -17039,17 +17035,16 @@
if (addr2 != XEXP (operands[2], 0)) if (addr2 != XEXP (operands[2], 0))
operands[2] = replace_equiv_address_nv (operands[2], addr2); operands[2] = replace_equiv_address_nv (operands[2], addr2);
count = operands[3]; countreg = ix86_zero_extend_to_Pmode (operands[3]);
countreg = ix86_zero_extend_to_Pmode (count);
/* %%% Iff we are testing strict equality, we can use known alignment /* %%% Iff we are testing strict equality, we can use known alignment
to good advantage. This may be possible with combine, particularly to good advantage. This may be possible with combine, particularly
once cc0 is dead. */ once cc0 is dead. */
align = operands[4]; align = operands[4];
if (CONST_INT_P (count)) if (CONST_INT_P (operands[3]))
{ {
if (INTVAL (count) == 0) if (operands[3] == const0_rtx)
{ {
emit_move_insn (operands[0], const0_rtx); emit_move_insn (operands[0], const0_rtx);
DONE; DONE;
...@@ -17064,12 +17059,9 @@ ...@@ -17064,12 +17059,9 @@
operands[1], operands[2])); operands[1], operands[2]));
} }
outlow = gen_lowpart (QImode, out); out = gen_lowpart (QImode, operands[0]);
emit_insn (gen_cmpintqi (outlow)); emit_insn (gen_cmpintqi (out));
emit_move_insn (out, gen_rtx_SIGN_EXTEND (SImode, outlow)); emit_move_insn (operands[0], gen_rtx_SIGN_EXTEND (SImode, out));
if (operands[0] != out)
emit_move_insn (operands[0], out);
DONE; DONE;
}) })
...@@ -19320,7 +19312,7 @@ ...@@ -19320,7 +19312,7 @@
(match_operand:SI 2 "const_int_operand"))] (match_operand:SI 2 "const_int_operand"))]
"TARGET_3DNOW || TARGET_PREFETCH_SSE || TARGET_PRFCHW || TARGET_PREFETCHWT1" "TARGET_3DNOW || TARGET_PREFETCH_SSE || TARGET_PRFCHW || TARGET_PREFETCHWT1"
{ {
bool write = INTVAL (operands[1]) != 0; bool write = operands[1] != const0_rtx;
int locality = INTVAL (operands[2]); int locality = INTVAL (operands[2]);
gcc_assert (IN_RANGE (locality, 0, 3)); gcc_assert (IN_RANGE (locality, 0, 3));
...@@ -19385,7 +19377,7 @@ ...@@ -19385,7 +19377,7 @@
(const_int 3))] (const_int 3))]
"TARGET_3DNOW || TARGET_PRFCHW || TARGET_PREFETCHWT1" "TARGET_3DNOW || TARGET_PRFCHW || TARGET_PREFETCHWT1"
{ {
if (INTVAL (operands[1]) == 0) if (operands[1] == const0_rtx)
return "prefetch\t%a0"; return "prefetch\t%a0";
else else
return "prefetchw\t%a0"; return "prefetchw\t%a0";
......
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