In 64-bit mode, we can use SSE2 to support 64-bit vectors.

        PR target/89021
        * config/i386/i386.h (VALID_SSE_REG_MODE): Allow 64-bit vector
        modes for TARGET_MMX_WITH_SSE.
        (VALID_SSE2_REG_MODE): Likewise.
---
 gcc/config/i386/i386.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index b62305fceec..10e882015f0 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1155,7 +1155,11 @@ extern const char *host_detect_local_cpu (int argc, 
const char **argv);
 
 #define VALID_SSE2_REG_MODE(MODE)                                      \
   ((MODE) == V16QImode || (MODE) == V8HImode || (MODE) == V2DFmode     \
-   || (MODE) == V2DImode || (MODE) == DFmode)
+   || (MODE) == V2DImode || (MODE) == DFmode                           \
+   || (TARGET_MMX_WITH_SSE && ((MODE) == V1DImode || (MODE) == V8QImode        
\
+                              || (MODE) == V4HImode                    \
+                              || (MODE) == V2SImode                    \
+                              || (MODE) == V2SFmode)))
 
 #define VALID_SSE_REG_MODE(MODE)                                       \
   ((MODE) == V1TImode || (MODE) == TImode                              \
@@ -1198,7 +1202,11 @@ extern const char *host_detect_local_cpu (int argc, 
const char **argv);
    || (MODE) == V4DImode || (MODE) == V8SFmode || (MODE) == V4DFmode   \
    || (MODE) == V2TImode || (MODE) == V8DImode || (MODE) == V64QImode  \
    || (MODE) == V16SImode || (MODE) == V32HImode || (MODE) == V8DFmode \
-   || (MODE) == V16SFmode)
+   || (MODE) == V16SFmode                                              \
+   || (TARGET_MMX_WITH_SSE && ((MODE) == V1DImode || (MODE) == V8QImode        
\
+                              || (MODE) == V4HImode                    \
+                              || (MODE) == V2SImode                    \
+                              || (MODE) == V2SFmode)))
 
 #define X87_FLOAT_MODE_P(MODE) \
   (TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode))
-- 
2.20.1

Reply via email to