i386: Simplify {,v}ph{add,sub{,s}{w,d} insn patterns [PR94460]
authorJakub Jelinek <jakub@redhat.com>
Tue, 5 May 2020 07:01:37 +0000 (09:01 +0200)
committerJakub Jelinek <jakub@redhat.com>
Tue, 5 May 2020 07:01:37 +0000 (09:01 +0200)
commit228646a64fc1013f9133159d2e7b05fdd9972772
tree6c2ccf566964635bafc53968321433940b4b51a2
parentba84e01d81b135594e63a2a830194862b6e358bc
i386: Simplify {,v}ph{add,sub{,s}{w,d} insn patterns [PR94460]

As mentioned in the previous PR94460 patch, the RTL patterns look too
large/complicated, we can simplify them by just performing two 2 arg
permutations to move the arguments into the right spots and then just
doing the plus/minus (or signed saturation version thereof).

2020-05-05  Jakub Jelinek  <jakub@redhat.com>

PR target/94460
* config/i386/sse.md (avx2_ph<plusminus_mnemonic>wv16hi3,
ssse3_ph<plusminus_mnemonic>wv8hi3, ssse3_ph<plusminus_mnemonic>wv4hi3,
avx2_ph<plusminus_mnemonic>dv8si3, ssse3_ph<plusminus_mnemonic>dv4si3,
ssse3_ph<plusminus_mnemonic>dv2si3): Simplify RTL patterns.
gcc/ChangeLog
gcc/config/i386/sse.md