Don't pass/return vectors in registers for IAMCU
authorH.J. Lu <hjl@gcc.gnu.org>
Wed, 8 Jul 2015 16:19:06 +0000 (09:19 -0700)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 8 Jul 2015 16:19:06 +0000 (09:19 -0700)
commitb6f485e7af0777a6ee40fc0bd662b02022b28d71
tree40332ccc182cc332f0362a5fbc2bae56a291b642
parent529b9e5ad7f2f134dbcb7b3549bdb29e689c190c
Don't pass/return vectors in registers for IAMCU

Vectors should be passed in memory for IAMCU.  No warning for vector ABI
change for IAMCU since IAMCU ABI won't change.

gcc/

PR target/66806
* config/i386/i386.c (type_natural_mode): Don't warn vector ABI
change for IAMCU.
(function_arg_advance_32): Don't pass vectors in registers for
IAMCU.
(function_arg_32): Likewise.
(ix86_return_in_memory): Don't return vectors in registers for
IAMCU.

gcc/testsuite/

PR target/66806
* gcc.target/i386/pr66806.c: New test.

From-SVN: r225564
gcc/config/i386/i386.c
gcc/testsuite/gcc.target/i386/pr66806.c [new file with mode: 0644]