From: Ilya Tocar Date: Tue, 17 Feb 2015 10:35:12 +0000 (+0000) Subject: backport: re PR target/64387 (ICE: in extract_insn, at recog.c:2327 (unrecognizable... X-Git-Tag: releases/gcc-4.8.5~268 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e7ef78147569f87228059731f7f3f72f76d31f4;p=thirdparty%2Fgcc.git backport: re PR target/64387 (ICE: in extract_insn, at recog.c:2327 (unrecognizable insn) with -ffloat-store -mavx512er) Backported from mainline 2015-01-14 Ilya Tocar PR target/64387 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. * gcc.target/i386/pr64387.c: New test. From-SVN: r220755 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 469ee31c9082..13ef8bc9ba35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2015-02-17 Ilya Tocar + + Backported from mainline + 2015-01-14 Ilya Tocar + + PR target/64387 + * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. + 2015-02-12 Jakub Jelinek Backported from mainline diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index bc47bb4067ad..89ead074781c 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -3117,7 +3117,7 @@ (define_expand "vec_unpacks_hi_v8sf" [(set (match_dup 2) (vec_select:V4SF - (match_operand:V8SF 1 "nonimmediate_operand") + (match_operand:V8SF 1 "register_operand") (parallel [(const_int 4) (const_int 5) (const_int 6) (const_int 7)]))) (set (match_operand:V4DF 0 "register_operand") diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ff0934bb3811..7c79fd4df502 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2015-02-17 Ilya Tocar + + Backport from mainline + 2015-01-14 Ilya Tocar + + PR target/64387 + * gcc.target/i386/pr64387.c: New test. + 2015-02-13 Mikael Morin PR fortran/63744 diff --git a/gcc/testsuite/gcc.target/i386/pr64387.c b/gcc/testsuite/gcc.target/i386/pr64387.c new file mode 100644 index 000000000000..332a639871c5 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr64387.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -ftree-vectorize -ffloat-store -mavx2" } */ + +float x[256]; + +double * +foo (void) +{ + double *z = __builtin_malloc (sizeof (double) * 256); + int i; + for (i = 0; i < 256; ++i) + z[i] = x[i] + 1.0f; + foo (); + return 0; +}