diff options
author | liuhongt <hongtao.liu@intel.com> | 2022-05-13 09:59:13 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2022-05-17 09:30:22 +0800 |
commit | 105c56a8cfde6015b989ab22c20c915c1b4e69ec (patch) | |
tree | c2d81cf0a848f12031431939e00e20ec56a193ee /gcc/ada | |
parent | 1fba0608d12a209a5d76d65bcb1dec1c07bc33e9 (diff) | |
download | gcc-105c56a8cfde6015b989ab22c20c915c1b4e69ec.zip gcc-105c56a8cfde6015b989ab22c20c915c1b4e69ec.tar.gz gcc-105c56a8cfde6015b989ab22c20c915c1b4e69ec.tar.bz2 |
Optimize vpermtiw/b to vpunpcklqdq for certain cases.
Assembly Optimization like:
- vmovq %xmm0, %xmm2
- vmovdqa .LC0(%rip), %xmm0
vmovq %xmm1, %xmm1
- vpermi2w %xmm1, %xmm2, %xmm0
+ vmovq %xmm0, %xmm0
+ vpunpcklqdq %xmm1, %xmm0, %xmm0
...
-.LC0:
- .value 0
- .value 1
- .value 2
- .value 3
- .value 8
- .value 9
- .value 10
- .value 11
gcc/ChangeLog:
PR target/105033
* config/i386/sse.md (*vec_concatv4si): Extend to ..
(*vec_concat<mode>): .. V16QI and V8HImode.
(*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
(*vec_concatv8hi_permt2): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr105033.c: New test.
Diffstat (limited to 'gcc/ada')
0 files changed, 0 insertions, 0 deletions