From: Uros Bizjak Date: Sat, 20 Feb 2010 22:11:32 +0000 (+0100) Subject: re PR target/43067 (ICE: SIGSEGV with -fschedule-insns -mxop) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=78c201a40b85b6ac15cfd707c162c0a90c12ec4c;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61e595e82d4..105023b0f6e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-02-20 Uros Bizjak + + 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 PR c++/35669 @@ -7,7 +14,7 @@ 2010-02-20 Manuel López-Ibáñez * common.opt (Wlarger-than-): Add Undocumented. - + 2010-02-19 Mike Stump * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it. diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 5f0aa3b36ec..671dcd47371 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -10422,7 +10422,7 @@ { operands[3] = CONST0_RTX (V2DImode); } - [(set_attr "type" "ssemuladd") + [(set_attr "type" "ssemul") (set_attr "mode" "TI")]) (define_insn "xop_pmacsdqh" @@ -10484,7 +10484,7 @@ { operands[3] = CONST0_RTX (V2DImode); } - [(set_attr "type" "ssemuladd") + [(set_attr "type" "ssemul") (set_attr "mode" "TI")]) ;; XOP parallel integer multiply/add instructions for the intrinisics diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5555898d80f..a010e8f4ea8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-02-20 Uros Bizjak + + PR target/43067 + * gcc.target/i386/pr43067.c: New test. + 2010-02-20 Manuel López-Ibáñez PR c++/35669 @@ -23,7 +28,7 @@ PR 43128 * c-c++-common/pr41779.c: Fix broken testcase. - + 2010-02-19 Manuel López-Ibáñez PR 36513 diff --git a/gcc/testsuite/gcc.target/i386/pr43067.c b/gcc/testsuite/gcc.target/i386/pr43067.c new file mode 100644 index 00000000000..7abb0027939 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr43067.c @@ -0,0 +1,15 @@ +/* { 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]; +}