Add expander for movp2hi and movp2qi.
authorliuhongt <hongtao.liu@intel.com>
Wed, 26 Aug 2020 07:24:10 +0000 (15:24 +0800)
committerliuhongt <hongtao.liu@intel.com>
Fri, 28 Aug 2020 07:45:00 +0000 (15:45 +0800)
commit58d6eea0e0754351b399a4b85562f81326a184ad
tree8219043e1921967f14659e8d02b1d1dd8e5b6ebb
parent6ba09730375b47c0442b3638d02d75fb3430425c
Add expander for movp2hi and movp2qi.

2020-08-30  Uros Bizjak    <ubizjak@gmail.com>

gcc/ChangeLog:
PR target/96744
* config/i386/i386-expand.c (split_double_mode): Also handle
E_P2HImode and E_P2QImode.
* config/i386/sse.md (MASK_DWI): New define_mode_iterator.
(mov<mode>): New expander for P2HI,P2QI.
(*mov<mode>_internal): New define_insn_and_split to split
movement of P2QI/P2HI to 2 movqi/movhi patterns after reload.

gcc/testsuite/ChangeLog:

* gcc.target/i386/double_mask_reg-1.c: New test.
gcc/config/i386/i386-expand.c
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/double_mask_reg-1.c [new file with mode: 0644]