Properly store 128-bit constant in large model
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 14 Feb 2017 16:53:22 +0000 (16:53 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 14 Feb 2017 16:53:22 +0000 (08:53 -0800)
commitee139af5321d25192e675cc276460d7ab6fcffe9
tree7f999788950183bc2e9b3ec3aaeb593b1ab37c2b
parentbf00c9e08002fcb36d8b61d2e2a47801ef11c2f1
Properly store 128-bit constant in large model

When converting TI store with CONST_INT to V1TI store with CONST_VECTOR
in large model, an extra instruction may be needed to load CONST_VECTOR
into a register.  Insert the extra instruction to the right place.

gcc/

PR target/79498
* config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
the extra instruction to the right place to store 128-bit constant
when needed.

gcc/testsuite/

PR target/79498
* gcc.target/i386/pr79498.c: New test.

From-SVN: r245438
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr79498.c [new file with mode: 0644]