]> git.ipfire.org Git - thirdparty/gcc.git/commit
Extend 16/32-bit vector bit_op patterns with (m,0,i) alternative.
authorliuhongt <hongtao.liu@intel.com>
Thu, 7 Jul 2022 06:33:32 +0000 (14:33 +0800)
committerliuhongt <hongtao.liu@intel.com>
Fri, 22 Jul 2022 01:39:16 +0000 (09:39 +0800)
commit605b64251c78f29da32ed807413971339f27d13b
tree5f7418720a0ffc3fe3767ff17d500eeac95ae67d
parent45e0683d99cf5396b2e8232c3986767cfbb0dd34
Extend 16/32-bit vector bit_op patterns with (m,0,i) alternative.

And split it after reload.

gcc/ChangeLog:

PR target/106038
* config/i386/mmx.md (<code><mode>3): New define_expand, it's
original "<code><mode>3".
(*<code><mode>3): New define_insn, it's original
"<code><mode>3" be extended to handle memory and immediate
operand with ix86_binary_operator_ok. Also adjust define_split
after it.
(mmxinsnmode): New mode attribute.
(*mov<mode>_imm): Refactor with mmxinsnmode.
* config/i386/predicates.md
(register_or_x86_64_const_vector_operand): New predicate.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr106038-1.c: New test.
gcc/config/i386/mmx.md
gcc/config/i386/predicates.md
gcc/testsuite/gcc.target/i386/pr106038-1.c [new file with mode: 0644]