Commit 78c201a4 by Uros Bizjak Committed by Uros Bizjak

re PR target/43067 (ICE: SIGSEGV with -fschedule-insns -mxop)

	PR target/43067
	* config/i386/sse.md (xop_mulv2div2di3_low): Change type
	attribute to ssemul.
	(xop_mulv2div2di3_high): Ditto.

testsuite/ChangeLog:

	PR target/43067
	* gcc.target/i386/pr43067.c: New test.

From-SVN: r156929
parent 17251338
2010-02-20 Uros Bizjak <ubizjak@gmail.com>
PR target/43067
* config/i386/sse.md (xop_mulv2div2di3_low): Change type
attribute to ssemul.
(xop_mulv2div2di3_high): Ditto.
2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/35669 PR c++/35669
......
...@@ -10422,7 +10422,7 @@ ...@@ -10422,7 +10422,7 @@
{ {
operands[3] = CONST0_RTX (V2DImode); operands[3] = CONST0_RTX (V2DImode);
} }
[(set_attr "type" "ssemuladd") [(set_attr "type" "ssemul")
(set_attr "mode" "TI")]) (set_attr "mode" "TI")])
(define_insn "xop_pmacsdqh" (define_insn "xop_pmacsdqh"
...@@ -10484,7 +10484,7 @@ ...@@ -10484,7 +10484,7 @@
{ {
operands[3] = CONST0_RTX (V2DImode); operands[3] = CONST0_RTX (V2DImode);
} }
[(set_attr "type" "ssemuladd") [(set_attr "type" "ssemul")
(set_attr "mode" "TI")]) (set_attr "mode" "TI")])
;; XOP parallel integer multiply/add instructions for the intrinisics ;; XOP parallel integer multiply/add instructions for the intrinisics
......
2010-02-20 Uros Bizjak <ubizjak@gmail.com>
PR target/43067
* gcc.target/i386/pr43067.c: New test.
2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/35669 PR c++/35669
......
/* { dg-do compile } */
/* { dg-options "-O1 -mxop -ftree-vectorize -fschedule-insns" } */
union {
int i32[10240];
long long i64[10240];
} a, b, c;
void imul32_to_64 (void)
{
int i;
for (i = 0; i < 10240; i++)
a.i64[i] = (long long) b.i32[i] * c.i32[i];
}
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