On Fri, Jul 26, 2024 at 2:28 PM Jiang, Haochen <haochen.ji...@intel.com> wrote:
>
> Ping for this patch
>
> Thx,
> Haochen
>
> > -----Original Message-----
> > From: Haochen Jiang <haochen.ji...@intel.com>
> > Sent: Thursday, July 18, 2024 9:45 AM
> > To: gcc-patches@gcc.gnu.org
> > Cc: Liu, Hongtao <hongtao....@intel.com>; hjl.to...@gmail.com;
> > ubiz...@gmail.com
> > Subject: [PATCH] i386: Use BLKmode for {ld,st}tilecfg
> >
> > Hi all,
> >
> > For AMX instructions related with memory, we will treat the memory
> > size as not specified since there won't be different size causing
> > confusion for memory.
> >
> > This will change the output under Intel mode, which is broken for now when
> > using with assembler and aligns to current binutils behavior.
> >
> > Bootstrapped and regtested on x86-64-pc-linux-gnu. Ok for trunk?
Ok.
> >
> > Thx,
> > Haochen
> >
> > gcc/ChangeLog:
> >
> >       * config/i386/i386-expand.cc (ix86_expand_builtin): Change
> >       from XImode to BLKmode.
> >       * config/i386/i386.md (ldtilecfg): Change XI to BLK.
> >       (sttilecfg): Ditto.
> > ---
> >  gcc/config/i386/i386-expand.cc |  2 +-
> >  gcc/config/i386/i386.md        | 12 +++++-------
> >  2 files changed, 6 insertions(+), 8 deletions(-)
> >
> > diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
> > index 9a31e6df2aa..d9ad06264aa 100644
> > --- a/gcc/config/i386/i386-expand.cc
> > +++ b/gcc/config/i386/i386-expand.cc
> > @@ -14198,7 +14198,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx
> > subtarget,
> >         op0 = convert_memory_address (Pmode, op0);
> >         op0 = copy_addr_to_reg (op0);
> >       }
> > -      op0 = gen_rtx_MEM (XImode, op0);
> > +      op0 = gen_rtx_MEM (BLKmode, op0);
> >        if (fcode == IX86_BUILTIN_LDTILECFG)
> >       icode = CODE_FOR_ldtilecfg;
> >        else
> > diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
> > index de9f4ba0496..86989d4875a 100644
> > --- a/gcc/config/i386/i386.md
> > +++ b/gcc/config/i386/i386.md
> > @@ -28975,24 +28975,22 @@
> >     (set_attr "type" "other")])
> >
> >  (define_insn "ldtilecfg"
> > -  [(unspec_volatile [(match_operand:XI 0 "memory_operand" "m")]
> > +  [(unspec_volatile [(match_operand:BLK 0 "memory_operand" "m")]
> >              UNSPECV_LDTILECFG)]
> >    "TARGET_AMX_TILE"
> >    "ldtilecfg\t%0"
> >    [(set_attr "type" "other")
> >     (set_attr "prefix" "maybe_evex")
> > -   (set_attr "memory" "load")
> > -   (set_attr "mode" "XI")])
> > +   (set_attr "memory" "load")])
> >
> >  (define_insn "sttilecfg"
> > -  [(set (match_operand:XI 0 "memory_operand" "=m")
> > -        (unspec_volatile:XI [(const_int 0)] UNSPECV_STTILECFG))]
> > +  [(set (match_operand:BLK 0 "memory_operand" "=m")
> > +        (unspec_volatile:BLK [(const_int 0)] UNSPECV_STTILECFG))]
> >    "TARGET_AMX_TILE"
> >    "sttilecfg\t%0"
> >    [(set_attr "type" "other")
> >     (set_attr "prefix" "maybe_evex")
> > -   (set_attr "memory" "store")
> > -   (set_attr "mode" "XI")])
> > +   (set_attr "memory" "store")])
> >
> >  (include "mmx.md")
> >  (include "sse.md")
> > --
> > 2.31.1
>


-- 
BR,
Hongtao

Reply via email to