diff options
author | tocarip <tocarip@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-17 11:41:55 +0000 |
---|---|---|
committer | tocarip <tocarip@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-17 11:41:55 +0000 |
commit | 6f5b9198dbd745c1acde6d1bbf072f563f8843c9 (patch) | |
tree | 725f1bee0208dbf95a22d87405350b7a8190983b | |
parent | b844e9f9d57e904874aa7395df2cbdc9d7883829 (diff) | |
download | gcc-6f5b9198dbd745c1acde6d1bbf072f563f8843c9.tar.gz |
Backported from mainline
2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
PR target/64387
* config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
(vec_unpacks_hi_v16sf): Ditto.
* gcc.target/i386/pr64387.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@220756 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr64387.c | 15 |
4 files changed, 34 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b2bd46fe77..88ed21d8f51 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-02-17 Ilya Tocar <ilya.tocar@intel.com> + + Backported from mainline + 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> + + PR target/64387 + * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. + (vec_unpacks_hi_v16sf): Ditto. + 2015-02-15 John David Anglin <danglin@gcc.gnu.org> * config/pa/pa.c (pa_secondary_reload): Request a secondary reload diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 5a62572b0cd..439ced0dde5 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -4385,7 +4385,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") @@ -4397,7 +4397,7 @@ (define_expand "vec_unpacks_hi_v16sf" [(set (match_dup 2) (vec_select:V8SF - (match_operand:V16SF 1 "nonimmediate_operand") + (match_operand:V16SF 1 "register_operand") (parallel [(const_int 8) (const_int 9) (const_int 10) (const_int 11) (const_int 12) (const_int 13) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f83330a4064..ec65640a109 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2015-02-17 Ilya Tocar <ilya.tocar@intel.com> + + Backport from mainline + 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> + + PR target/64387 + * gcc.target/i386/pr64387.c: New test. + 2015-02-13 Mikael Morin <mikael@gcc.gnu.org> 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 00000000000..dd381425a27 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr64387.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -ftree-vectorize -ffloat-store -mavx512er" } */ + +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; +} |