re PR target/81225 (ICE with -mavx512ifma -O3 -ffloat-store)
authorJakub Jelinek <jakub@redhat.com>
Fri, 30 Jun 2017 14:52:24 +0000 (16:52 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 30 Jun 2017 14:52:24 +0000 (16:52 +0200)
commite855bdc04db3b2ff010d6d490dc9a4bee5f08b3b
tree3a4f3d77102574602514a7b66719d9f2db480ceb
parentfe32bb1b5bd2973305a206a29ed4c7c8749d98c5
re PR target/81225 (ICE with -mavx512ifma -O3 -ffloat-store)

PR target/81225
* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For
V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead
of nonimmediate_operand and <store_mask_constraint> instead of m for
the input operand.  For V8FI iterator, always split if input is a MEM.
For V16FI and V8SF_256 iterators, don't test if both operands are MEM
if <mask_applied>.  For VI4F_256 iterator, use <store_mask_predicate>
instead of register_operand and <store_mask_constraint> instead of v for
        the input operand.  Make sure both operands aren't MEMs for if not
<mask_applied>.

* gcc.target/i386/pr81225.c: New test.

From-SVN: r249844
gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr81225.c [new file with mode: 0644]