------- Comment #3 from hjl at gcc dot gnu dot org 2009-02-10 14:01 ------- Subject: Bug 39119
Author: hjl Date: Tue Feb 10 14:00:46 2009 New Revision: 144058 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144058 Log: gcc/ 2009-02-10 H.J. Lu <hongjiu...@intel.com> PR target/39119 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS. (x86_64_reg_class_name): Removed. (classify_argument): Return 0 if bytes > 32. Return 0 if the first one isn't X86_64_SSE_CLASS or any other ones aren't X86_64_SSEUP_CLASS when size > 16bytes. Don't turn X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS. (construct_container): Remove X86_64_AVX_CLASS. Handle 4 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS. gcc/testsuite/ 2009-02-10 H.J. Lu <hongjiu...@intel.com> PR target/39119 * gcc.target/x86_64/abi/avx/abi-avx.exp: New. * gcc.target/x86_64/abi/avx/args.h: Likewise. * gcc.target/x86_64/abi/avx/asm-support.S: Likewise. * gcc.target/x86_64/abi/avx/avx-check.h: Likewise. * gcc.target/x86_64/abi/avx/test_m256_returning.c: Likewise. * gcc.target/x86_64/abi/avx/test_passing_m256.c: Likewise. * gcc.target/x86_64/abi/avx/test_passing_structs.c: Likewise. * gcc.target/x86_64/abi/avx/test_passing_unions.c: Likewise. Added: trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/ trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/args.h trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/asm-support.S trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/avx-check.h trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/test_m256_returning.c trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/test_passing_m256.c trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/test_passing_structs.c trunk/gcc/testsuite/gcc.target/x86_64/abi/avx/test_passing_unions.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39119