]> git.ipfire.org Git - thirdparty/gcc.git/commit
Disable zmm register and 512 bit libmvec call when !TARGET_EVEX512
authorHaochen Jiang <haochen.jiang@intel.com>
Mon, 11 Sep 2023 06:37:44 +0000 (14:37 +0800)
committerliuhongt <hongtao.liu@intel.com>
Fri, 22 Sep 2023 02:30:44 +0000 (10:30 +0800)
commit3d1ef6b1bfa1bf847192367ff4696b0bee32ffb3
tree77ddd96997e6c9c5df276a04a736ae7756113fe5
parent0a5e1821d81c3906e32fb99e7b42aa7a718530d0
Disable zmm register and 512 bit libmvec call when !TARGET_EVEX512

gcc/ChangeLog:

* config/i386/i386-expand.cc (ix86_broadcast_from_constant):
Disable zmm broadcast for !TARGET_EVEX512.
* config/i386/i386-options.cc (ix86_option_override_internal):
Do not use PVW_512 when no-evex512.
(ix86_simd_clone_adjust): Add evex512 target into string.
* config/i386/i386.cc (type_natural_mode): Report ABI warning
when using zmm register w/o evex512.
(ix86_return_in_memory): Do not allow zmm when !TARGET_EVEX512.
(ix86_hard_regno_mode_ok): Ditto.
(ix86_set_reg_reg_cost): Ditto.
(ix86_rtx_costs): Ditto.
(ix86_vector_mode_supported_p): Ditto.
(ix86_preferred_simd_mode): Ditto.
(ix86_get_mask_mode): Ditto.
(ix86_simd_clone_compute_vecsize_and_simdlen): Disable 512 bit
libmvec call when !TARGET_EVEX512.
(ix86_simd_clone_usable): Ditto.
* config/i386/i386.h (BIGGEST_ALIGNMENT): Disable 512 alignment
when !TARGET_EVEX512
(MOVE_MAX): Do not use PVW_512 when !TARGET_EVEX512.
(STORE_MAX_PIECES): Ditto.
gcc/config/i386/i386-expand.cc
gcc/config/i386/i386-options.cc
gcc/config/i386/i386.cc
gcc/config/i386/i386.h