From: "[email protected]" <[email protected]>

gcc/ChangeLog:

        * config/i386/sse.md
        (define_mode_attr sse2):
        Add V4SI/V8SI/V16SI/V8HI/V16HI/V32HI.
        (<sse2>_movnt<mode>): Change operand mode from VI8 to
        VI_AVX_AVX512F.
        (define_mode_iterator STORENT_MODE):
        Add V4SI/V8SI/V16SI/V8HI/V16HI/V32HI/V16QI/V32QI/V64QI.

Signed-off-by: [email protected] <[email protected]>
---
 gcc/config/i386/sse.md | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 46ee77ba38e..7ceb705959a 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1024,7 +1024,9 @@
 
 (define_mode_attr sse2
   [(V16QI "sse2") (V32QI "avx") (V64QI "avx512f")
-   (V2DI "sse2") (V4DI "avx") (V8DI "avx512f")])
+   (V2DI "sse2") (V4DI "avx") (V8DI "avx512f")
+   (V4SI "sse2") (V8SI "avx") (V16SI "avx512f")
+   (V8HI "sse2") (V16HI "avx") (V32HI "avx512f")])
 
 (define_mode_attr sse3
   [(V16QI "sse3") (V32QI "avx")])
@@ -2049,8 +2051,8 @@
    (set_attr "mode" "<MODE>")])
 
 (define_insn "<sse2>_movnt<mode>"
-  [(set (match_operand:VI8 0 "memory_operand" "=m")
-       (unspec:VI8 [(match_operand:VI8 1 "register_operand" "v")]
+  [(set (match_operand:VI_AVX_AVX512F 0 "memory_operand" "=m")
+       (unspec:VI_AVX_AVX512F [(match_operand:VI_AVX_AVX512F 1 
"register_operand" "v")]
                    UNSPEC_MOVNT))]
   "TARGET_SSE2"
   "%vmovntdq\t{%1, %0|%0, %1}"
@@ -2073,7 +2075,10 @@
    (SF "TARGET_SSE4A") (DF "TARGET_SSE4A")
    (V8DI "TARGET_AVX512F") (V4DI "TARGET_AVX") (V2DI "TARGET_SSE2")
    (V16SF "TARGET_AVX512F") (V8SF "TARGET_AVX") V4SF
-   (V8DF "TARGET_AVX512F") (V4DF "TARGET_AVX") (V2DF "TARGET_SSE2")])
+   (V8DF "TARGET_AVX512F") (V4DF "TARGET_AVX") (V2DF "TARGET_SSE2")
+   (V16SI "TARGET_AVX512F") (V8SI "TARGET_AVX") V4SI
+   (V32HI "TARGET_AVX512F") (V16HI "TARGET_AVX") V8HI
+   (V64QI "TARGET_AVX512F") (V32QI "TARGET_AVX") V16QI])
 
 (define_expand "storent<mode>"
   [(set (match_operand:STORENT_MODE 0 "memory_operand")
-- 
2.22.0


Reply via email to