diff options
| author | H.J. Lu <hongjiu.lu@intel.com> | 2010-11-24 18:24:39 +0000 | 
|---|---|---|
| committer | H.J. Lu <hjl@gcc.gnu.org> | 2010-11-24 10:24:39 -0800 | 
| commit | 617e6634a2c2a39a41035ad9e181260f75e9bf92 (patch) | |
| tree | ff51025a91389fdadda16f5296b0266c6edc4b5b /libjava/java/sql | |
| parent | a19ff177943cacfaad1fe950d2a775a266700eaf (diff) | |
| download | gcc-617e6634a2c2a39a41035ad9e181260f75e9bf92.zip gcc-617e6634a2c2a39a41035ad9e181260f75e9bf92.tar.gz gcc-617e6634a2c2a39a41035ad9e181260f75e9bf92.tar.bz2 | |
Improve vzeroupper optimization.
gcc/
2010-11-24  H.J. Lu  <hongjiu.lu@intel.com>
	PR target/46519
	* config/i386/i386.c (upper_128bits_state): New.
	(block_info_def): Remove upper_128bits_set and done.  Add state,
	referenced, count, processed and rescanned. 
	(check_avx256_stores): Updated.
	(move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
	Call note_stores only if needed.  Set referenced and count.
	(move_or_delete_vzeroupper_1): Updated.  Set rescan_vzeroupper_p.
	(rescan_move_or_delete_vzeroupper): New.
	(move_or_delete_vzeroupper):  Process and rescan all all basic
	blocks instead of predecessor blocks of all exit points.
	(ix86_option_override_internal): Enable vzeroupper optimization
	only for -fexpensive-optimizations and not optimizing for size.
	(use_avx256_p): Removed.
	(init_cumulative_args): Don't set use_avx256_p.
	(ix86_function_arg): Likewise.
	(ix86_expand_move): Likewise.
	(ix86_expand_vector_move_misalign): Likewise.
	(ix86_local_alignment): Likewise.
	(ix86_minimum_alignment): Likewise.
	(ix86_expand_epilogue): Don't check use_avx256_p when generating
	vzeroupper.
	(ix86_expand_call): Likewise.
	* config/i386/i386.h (machine_function): Remove use_vzeroupper_p
	and use_avx256_p.  Add rescan_vzeroupper_p.
gcc/testsuite/
2010-11-24  H.J. Lu  <hongjiu.lu@intel.com>
	PR target/46519
	* gcc.target/i386/avx-vzeroupper-10.c: Expect no avx_vzeroupper.
	* gcc.target/i386/avx-vzeroupper-11.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-14.c: Replace -O0 with -O2.
	* gcc.target/i386/avx-vzeroupper-15.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-16.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-17.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-20.c: New.
	* gcc.target/i386/avx-vzeroupper-21.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-22.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-23.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-24.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-25.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-26.c: Likewise.
From-SVN: r167124
Diffstat (limited to 'libjava/java/sql')
0 files changed, 0 insertions, 0 deletions
