i386: Use TImode for BLKmode values in 2 integer registers
authorH.J. Lu <hongjiu.lu@intel.com>
Sat, 29 Sep 2018 21:59:59 +0000 (21:59 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Sat, 29 Sep 2018 21:59:59 +0000 (14:59 -0700)
commitbdfbaa72c5b25f273a7e40be93eb13583d310911
treeea061bd7f0306e9f4ad21b1b0c130d68ff0226bf
parent29a94bf97da148775cedb260ca8581be9cc2bacd
i386: Use TImode for BLKmode values in 2 integer registers

When passing and returning BLKmode values in 2 integer registers, use
1 TImode register instead of 2 DImode registers. Otherwise, V1TImode
may be used to move and store such BLKmode values, which prevent RTL
optimizations.

gcc/

PR target/87370
* config/i386/i386.c (construct_container): Use TImode for
BLKmode values in 2 integer registers.

gcc/testsuite/

PR target/87370
* gcc.target/i386/pr87370.c: New test.

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