]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386: Add HImode to VALID_SSE2_REG_MODE
authorUros Bizjak <ubizjak@gmail.com>
Mon, 16 Dec 2024 19:51:07 +0000 (20:51 +0100)
committerUros Bizjak <ubizjak@gmail.com>
Mon, 16 Dec 2024 19:52:05 +0000 (20:52 +0100)
Move explicit Himode handling for SSE2 XMM regnos from
ix86_hard_regno_mode_ok to VALID_SSE2_REG_MODE.

No functional change.

gcc/ChangeLog:

* config/i386/i386.cc (ix86_hard_regno_mode_ok):
Remove explicit HImode handling for SSE2 XMM regnos.
* config/i386/i386.h (VALID_SSE2_REG_MODE): Add HImode.

gcc/config/i386/i386.cc
gcc/config/i386/i386.h

index ca763e1eb334d47e3ddfceb3b3fda8e5cfa40b8d..f74329a941aa63cc771af0aed9bfdb779520eac4 100644 (file)
@@ -21155,10 +21155,6 @@ ix86_hard_regno_mode_ok (unsigned int regno, machine_mode mode)
       if (EXT_REX_SSE_REGNO_P (regno))
        return false;
 
-      /* Use pinsrw/pextrw to mov 16-bit data from/to sse to/from integer.  */
-      if (TARGET_SSE2 && mode == HImode)
-       return true;
-
       /* OImode and AVX modes are available only when AVX is enabled.  */
       return ((TARGET_AVX
               && VALID_AVX256_REG_OR_OI_MODE (mode))
index 85c54c35c5c9ed2160c70a8a3f83da70b3c77cd6..61bc20e1868b45420fd7953ed7b6885a462f8ff4 100644 (file)
@@ -1099,7 +1099,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
    || (MODE) == V8HFmode || (MODE) == V4HFmode || (MODE) == V2HFmode   \
    || (MODE) == V8BFmode || (MODE) == V4BFmode || (MODE) == V2BFmode   \
    || (MODE) == V4QImode || (MODE) == V2HImode || (MODE) == V1SImode   \
-   || (MODE) == V2DImode || (MODE) == V2QImode                         \
+   || (MODE) == V2DImode || (MODE) == V2QImode || (MODE) == HImode     \
    || (MODE) == DFmode || (MODE) == DImode                             \
    || (MODE) == HFmode || (MODE) == BFmode)