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? > > 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