]> 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, 9 Oct 2023 08:09:49 +0000 (16:09 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Mon, 9 Oct 2023 09:07:36 +0000 (17:07 +0800)
commitaa9bce39f1cea1f4cbdf41823c53029a8af40d50
tree73de9fddf1de60cfa50a7ea693815dbb41e53d08
parentc2a282a9b507c6281450675702576ab572e1b17c
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