diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2024-12-16 20:51:07 +0100 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2024-12-16 20:52:05 +0100 |
commit | 9d96b03c1edbd5cd47566fbcca61c5d4d5b01625 (patch) | |
tree | e074fe293ec8cc8bbc26daa8308c506e671629d6 /gcc | |
parent | e5c84fd3c195eb5e553fde84e79dd83712edf732 (diff) | |
download | gcc-9d96b03c1edbd5cd47566fbcca61c5d4d5b01625.zip gcc-9d96b03c1edbd5cd47566fbcca61c5d4d5b01625.tar.gz gcc-9d96b03c1edbd5cd47566fbcca61c5d4d5b01625.tar.bz2 |
i386: Add HImode to VALID_SSE2_REG_MODE
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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.cc | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 2 |
2 files changed, 1 insertions, 5 deletions
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc index ca763e1..f74329a 100644 --- a/gcc/config/i386/i386.cc +++ b/gcc/config/i386/i386.cc @@ -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)) diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 85c54c3..61bc20e 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -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) |