On Tue, Jun 2, 2026 at 9:16 AM Kewen Lin <[email protected]> wrote:
>
> 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.
Ok.


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


--
BR,
Hongtao

Reply via email to