i386: Add V2SFmode conversion functions [PR95046]
authorUros Bizjak <ubizjak@gmail.com>
Thu, 14 May 2020 07:15:23 +0000 (09:15 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Thu, 14 May 2020 07:15:23 +0000 (09:15 +0200)
commit42ef8a5e662a765dc794a7a5c0227bcd83556e44
tree21ff60d7d9d84f1a335f41b7392a2e2b3b4695e9
parent0473885be8b2a7aa0d5064a16c004116162f473f
i386: Add V2SFmode conversion functions [PR95046]

gcc/ChangeLog:

PR target/95046
* config/i386/mmx.md (mmx_fix_truncv2sfv2si2): rename from mmx_pf2id.
Add SSE/AVX alternative.  Change operand predicates from
nonimmediate_operand to register_mmxmem_operand.
Enable instruction pattern for TARGET_MMX_WITH_SSE.
(fix_truncv2sfv2si2): New expander.
(fixuns_truncv2sfv2si2): Ditto.

(mmx_floatv2siv2sf2): rename from mmx_floatv2si2.
Add SSE/AVX alternative.  Change operand predicates from
nonimmediate_operand to register_mmxmem_operand.
Enable instruction pattern for TARGET_MMX_WITH_SSE.
(floatv2siv2sf2): New expander.
(floatunsv2siv2sf2): Ditto.

* config/i386/i386-builtin.def (IX86_BUILTIN_PF2ID):
Update for rename.
(IX86_BUILTIN_PI2FD): Ditto.

testsuite/ChangeLog:

PR target/95046
* gcc.target/i386/pr95046-5.c: New test.
gcc/ChangeLog
gcc/config/i386/i386-builtin.def
gcc/config/i386/mmx.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr95046-5.c [new file with mode: 0644]