summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/avx-vzeroupper-4.c
Commit message (Collapse)AuthorAgeFilesLines
* * gcc.target/i386/pr46939.c (long): Fix LP64 vs LLP64ktietz2012-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | issue. * gcc.target/i386/pr45352-2.c: Likewise. * gcc.target/i386/bitfield3.c: Add -mno-ms-bitfields for mingw targets. * gcc.target/i386/xop-vshift-1.c(random): Use on mingw targets instead rand. * gcc.target/i386/sse4_1-blendps-2.c: Likewise. * gcc.target/i386/sse2-mul-1.c: Likewise. * gcc.target/i386/sse4_1-blendps.c: Likewise. * gcc.target/i386/pad-6b.c: Adjust test for x64 mingw target. * gcc.target/i386/pad-1.c: Likewise. * gcc.target/i386/pad-9.c: Likewise. * gcc.target/i386/pad-2.c: Likewise. * gcc.target/i386/pad-5b.c: Likewise. * gcc.target/i386/pad-8.c: Likewise. * gcc.target/i386/pr46470.c: Skip for x64 mingw target. * gcc.target/i386/pr44130.c: Likewise. * gcc.target/i386/align-main-1.c: Likewise. * gcc.target/i386/align-main-2.c: Likewise. * gcc.target/i386/sw-1.c: Likewise. * gcc.target/i386/avx-vzeroupper-5.c: Add -mabi=sysv on x64 mingw target. * gcc.target/i386/avx-vzeroupper-4.c: Likewise. * gcc.target/i386/pr46295.c: Likewise. * gcc.target/i386/amd64-abi-1.c: Likewise. * gcc.target/i386/amd64-abi-2.c: Likewise. * gcc.target/i386/pr39082-1.c: Likewise. * gcc.target/i386/pr39162.c: Likewise. * gcc.target/i386/pr22152.c: Likewise. * gcc.target/i386/wrgsbase-2.c: Adjust dg-final rule. * gcc.target/i386/wrfsbase-2.c: Likewise. * gcc.target/i386/local.c: Likewise * gcc.target/i386/wrgsbase-1.c: Likewise. * gcc.target/i386/wrfsbase-1.c: Likewise. * gcc.target/i386/pr39315-3.c: Likewise. * gcc.target/i386/pr35767-4.c: Likewise. * gcc.target/i386/pr45336-3.c (pextrd): Don't check for x64 mingw target. * gcc.target/i386/pr45336-2.c: Likewise. * gcc.target/i386/pr45336-1.c: Likewise. * gcc.target/i386/pr45336-4.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184607 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -mvzeroupper to x86.hjl2010-10-271-0/+15
gcc/ 2010-10-27 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386-protos.h (init_cumulative_args): Add an int. * config/i386/i386.c (block_info): New. (BLOCK_INFO): Likewise. (call_avx256_state): Likewise. (check_avx256_stores): Likewise. (move_or_delete_vzeroupper_2): Likewise. (move_or_delete_vzeroupper_1): Likewise. (move_or_delete_vzeroupper): Likewise. (use_avx256_p): Likewise. (function_pass_avx256_p): Likewise. (flag_opts): Add -mvzeroupper. (ix86_option_override_internal): Turn on MASK_VZEROUPPER by default for TARGET_AVX. Turn off MASK_VZEROUPPER if TARGET_AVX is disabled. (ix86_function_ok_for_sibcall): Disable sibcall if we need to generate vzeroupper. (init_cumulative_args): Add an int to indicate caller. Set use_avx256_p, callee_return_avx256_p and caller_use_avx256_p based on return type. (ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and caller_pass_avx256_p based on argument type. (ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register is used, but not returned by caller. (ix86_expand_call): Emit vzeroupper if 256bit AVX register is used. (ix86_local_alignment): Set use_avx256_p if 256bit AVX register is used. (ix86_minimum_alignment): Likewise. (ix86_expand_special_args_builtin): Set target to GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper. (ix86_reorg): Run the vzeroupper optimization if needed. * config/i386/i386.h (ix86_args): Add caller. (INIT_CUMULATIVE_ARGS): Updated. (machine_function): Add use_vzeroupper_p, use_avx256_p, caller_pass_avx256_p, caller_return_avx256_p, callee_pass_avx256_p and callee_return_avx256_p. * config/i386/i386.opt (-mvzeroupper): New. * config/i386/predicates.md (vzeroupper_operation): Removed. * config/i386/sse.md (avx_vzeroupper): Removed. (*avx_vzeroupper): Removed. (avx_vzeroupper): New. * doc/invoke.texi: Document -mvzeroupper. gcc/testsuite/ 2010-10-27 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/avx-vzeroupper-1.c: Add -mtune=generic. * gcc.target/i386/avx-vzeroupper-2.c: Likewise. * gcc.target/i386/avx-vzeroupper-3.c: New. * gcc.target/i386/avx-vzeroupper-4.c: Likewise. * gcc.target/i386/avx-vzeroupper-5.c: Likewise. * gcc.target/i386/avx-vzeroupper-6.c: Likewise. * gcc.target/i386/avx-vzeroupper-7.c: Likewise. * gcc.target/i386/avx-vzeroupper-8.c: Likewise. * gcc.target/i386/avx-vzeroupper-9.c: Likewise. * gcc.target/i386/avx-vzeroupper-10.c: Likewise. * gcc.target/i386/avx-vzeroupper-11.c: Likewise. * gcc.target/i386/avx-vzeroupper-12.c: Likewise. * gcc.target/i386/avx-vzeroupper-13.c: Likewise. * gcc.target/i386/avx-vzeroupper-14.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166000 138bc75d-0d04-0410-961f-82ee72b054a4