diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2023-05-05 14:10:18 +0200 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2023-05-05 14:11:15 +0200 |
commit | 919642fa4b2bc4c32910336dd200d53766801c80 (patch) | |
tree | d763d913fa98edebe48cd4e4d8c4ae3e6ebc786c /libcpp | |
parent | e383fc69d2a3eab37319ea41543ee09c8cdd6e57 (diff) | |
download | gcc-919642fa4b2bc4c32910336dd200d53766801c80.zip gcc-919642fa4b2bc4c32910336dd200d53766801c80.tar.gz gcc-919642fa4b2bc4c32910336dd200d53766801c80.tar.bz2 |
i386: Introduce mulv2si3 instruction
For SSE2 targets the expander unpacks input elements into the correct
position in the V4SI vector and emits PMULUDQ instruction. The output
elements are then shuffled back to their positions in the V2SI vector.
For SSE4 targets PMULLD instruction is emitted directly.
gcc/ChangeLog:
* config/i386/mmx.md (mulv2si3): New expander.
(*mulv2si3): New insn pattern.
gcc/testsuite/ChangeLog:
* gcc.target/i386/sse2-mmx-mult-vec.c: New test.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions