i386: Allow MMX register modes in SSE registers
authorH.J. Lu <hongjiu.lu@intel.com>
Wed, 15 May 2019 15:02:54 +0000 (15:02 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 15 May 2019 15:02:54 +0000 (08:02 -0700)
commitdfa61b9ed06d71901c4c430caa89820972ad68fe
treeb6d4e739c2425a70e5b2bb5093622885b42b5af3
parent2e97dfdd542fba50566fd5d3dc87207d968d87d2
i386: Allow MMX register modes in SSE registers

In 64-bit mode, SSE2 can be used to emulate MMX instructions without
3DNOW.  We can use SSE2 to support MMX register modes.

PR target/89021
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__MMX_WITH_SSE__ for TARGET_MMX_WITH_SSE.
* config/i386/i386.c (ix86_set_reg_reg_cost): Add support for
TARGET_MMX_WITH_SSE with VALID_MMX_REG_MODE.
(ix86_vector_mode_supported_p): Likewise.
* config/i386/i386.h (TARGET_MMX_WITH_SSE): New.

From-SVN: r271213
gcc/ChangeLog
gcc/config/i386/i386-c.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h