CC maintainers for this.

在 2025/12/23 13:44, xuexiaomei 写道:
> 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.
> 

Though patch 1/2 needs rework as Richi's review comments, IMHO this
patch 2/2 is independent of patch 1/2.

BR,
Kewen

> 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")

Reply via email to