PR82809: register handling in ix86_vector_duplicate_value
authorRichard Sandiford <richard.sandiford@linaro.org>
Fri, 3 Nov 2017 09:24:28 +0000 (09:24 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Fri, 3 Nov 2017 09:24:28 +0000 (09:24 +0000)
commita34a16abe50b14dfb23929a0e596275ab7fd11e2
tree709552d36c9010d5bdb45960cf0a95762cf90c40
parentf53bd856482af56a7af70bbae243f0c2af296b0e
PR82809: register handling in ix86_vector_duplicate_value

When adding the call to gen_vec_duplicate, I failed to notice that
code further down modified the VEC_DUPLICATE in place.  That isn't
safe if gen_vec_duplicate returned a const_vector.

2017-11-02  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
PR target/82809
* config/i386/i386.c (ix86_vector_duplicate_value): Use
gen_vec_duplicate after forcing the scalar into a register.

gcc/testsuite/
* gcc.dg/pr82809.c: New test.

From-SVN: r254366
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr82809.c [new file with mode: 0644]