diff options
author | liuhongt <hongtao.liu@intel.com> | 2023-07-20 09:38:09 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2023-08-16 09:01:47 +0800 |
commit | f5f7d03bb9634b052a7b4469f10db10e20a8bbc4 (patch) | |
tree | a979543adad0a79ccf027b2d715788a3155a958f /gcc/tree-vectorizer.h | |
parent | b01e96f86ed8bc4d2de23508d46913c26652c840 (diff) | |
download | gcc-f5f7d03bb9634b052a7b4469f10db10e20a8bbc4.zip gcc-f5f7d03bb9634b052a7b4469f10db10e20a8bbc4.tar.gz gcc-f5f7d03bb9634b052a7b4469f10db10e20a8bbc4.tar.bz2 |
Generate vmovapd instead of vmovsd for moving DFmode between SSE_REGS.
vmovapd can enable register renaming and have same code size as
vmovsd. Similar for vmovsh vs vmovaps, vmovaps is 1 byte less than
vmovsh.
When TARGET_AVX512VL is not available, still generate
vmovsd/vmovss/vmovsh to avoid vmovapd/vmovaps zmm16-31.
gcc/ChangeLog:
* config/i386/i386.md (movdf_internal): Generate vmovapd instead of
vmovsd when moving DFmode between SSE_REGS.
(movhi_internal): Generate vmovdqa instead of vmovsh when
moving HImode between SSE_REGS.
(mov<mode>_internal): Use vmovaps instead of vmovsh when
moving HF/BFmode between SSE_REGS.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr89229-4a.c: Adjust testcase.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions