Commit b807694e by Uros Bizjak Committed by Uros Bizjak

re PR target/50202 (ICE: in final_scan_insn, at final.c:2709 (could not split…

re PR target/50202 (ICE: in final_scan_insn, at final.c:2709 (could not split insn) with __builtin_ia32_pcmpistri128)

	PR target/50202
	* config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
	when all outputs are unused.
	(sse4_2_pcmpestr): Ditto.

testsuite/ChangeLog:

	PR target/50202
	* gcc.target/i386/pr50202.c: New test.

From-SVN: r178130
parent 851018fb
2011-08-27 Uros Bizjak <ubizjak@gmail.com>
PR target/50202
* config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
when all outputs are unused.
(sse4_2_pcmpestr): Ditto.
2011-08-26 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (round<mode>2): New expander.
......
......@@ -9734,6 +9734,9 @@
operands[2], operands[3],
operands[4], operands[5],
operands[6]));
if (!(flags || ecx || xmm0))
emit_note (NOTE_INSN_DELETED);
DONE;
}
[(set_attr "type" "sselog")
......@@ -9861,6 +9864,9 @@
emit_insn (gen_sse4_2_pcmpistr_cconly (NULL, NULL,
operands[2], operands[3],
operands[4]));
if (!(flags || ecx || xmm0))
emit_note (NOTE_INSN_DELETED);
DONE;
}
[(set_attr "type" "sselog")
......
2011-08-27 Uros Bizjak <ubizjak@gmail.com>
PR target/50202
* gcc.target/i386/pr50202.c: New test.
2011-08-26 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/sse_4_1-round-vec.c: New test.
......
/* { dg-do compile } */
/* { dg-options "-O -fno-tree-dse -fno-dce -msse4" } */
/* { dg-require-effective-target sse4 } */
typedef char __v16qi __attribute__ ((__vector_size__ (16)));
__v16qi v;
int i;
void
foo (void)
{
i = __builtin_ia32_pcmpistri128 (v, v, 255);
i = 255;
}
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