diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2010-02-20 23:11:32 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2010-02-20 23:11:32 +0100 |
commit | 78c201a40b85b6ac15cfd707c162c0a90c12ec4c (patch) | |
tree | 5891e4de80a20766df3ca2a73dcb53ffcea6e6f6 /gcc | |
parent | 17251338deebd6575ef2a9e2c99c3f976561dc93 (diff) | |
download | gcc-78c201a40b85b6ac15cfd707c162c0a90c12ec4c.zip gcc-78c201a40b85b6ac15cfd707c162c0a90c12ec4c.tar.gz gcc-78c201a40b85b6ac15cfd707c162c0a90c12ec4c.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr43067.c | 15 |
4 files changed, 31 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61e595e..105023b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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> PR c++/35669 @@ -7,7 +14,7 @@ 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org> * common.opt (Wlarger-than-): Add Undocumented. - + 2010-02-19 Mike Stump <mikestump@comcast.net> * 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 5f0aa3b..671dcd4 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 5555898..a010e8f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +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> 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 <manu@gcc.gnu.org> 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 0000000..7abb002 --- /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]; +} |