aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2023-07-20 09:38:09 +0800
committerliuhongt <hongtao.liu@intel.com>2023-08-16 09:01:47 +0800
commitf5f7d03bb9634b052a7b4469f10db10e20a8bbc4 (patch)
treea979543adad0a79ccf027b2d715788a3155a958f /gcc/tree-vectorizer.h
parentb01e96f86ed8bc4d2de23508d46913c26652c840 (diff)
downloadgcc-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