On Thu, Oct 16, 2025 at 4:35 PM Hu, Lin1 <[email protected]> wrote: > > Hi, all > > On 64-bit windows, long can't be used, because it is 32 bits. Use > __PTRDIFF_TYPE__ instead of long. > > Bootstrapped and regtested on x86_64-pc-linux-gnu, and tested on > x86_64-w64-mingw32. OK for trunk? Ok. > > BRs, > Lin > > gcc/ChangeLog: > > PR target/122119 > * config/i386/amxmovrsintrin.h > (_tile_loaddrs_internal): Use __PTRDIFF_TYPE__ instead of long. > (_tile_loaddrst1_internal): Ditto. > (_tile_2rpntlvwz0rs_internal): Ditto. > (_tile_2rpntlvwz0rst1_internal): Ditto. > (_tile_2rpntlvwz1rs_internal): Ditto. > (_tile_2rpntlvwz1rst1_internal): Ditto. > --- > gcc/config/i386/amxmovrsintrin.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/gcc/config/i386/amxmovrsintrin.h > b/gcc/config/i386/amxmovrsintrin.h > index 97969f894ff..2bc9f127138 100644 > --- a/gcc/config/i386/amxmovrsintrin.h > +++ b/gcc/config/i386/amxmovrsintrin.h > @@ -40,13 +40,13 @@ > __asm__ volatile \ > ("{tileloaddrs\t(%0,%1,1), %%tmm"#tdst \ > "|tileloaddrs\t%%tmm"#tdst", [%0+%1*1]}" \ > - :: "r" ((const void*) (base)), "r" ((long) (stride))) > + :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride))) > > #define _tile_loaddrst1_internal(tdst, base, stride) \ > __asm__ volatile \ > ("{tileloaddrst1\t(%0,%1,1), %%tmm"#tdst \ > "|tileloaddrst1\t%%tmm"#tdst", [%0+%1*1]}" \ > - :: "r" ((const void*) (base)), "r" ((long) (stride))) > + :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride))) > > #define _tile_loaddrs(tdst, base, stride) \ > _tile_loaddrs_internal(tdst, base, stride) > @@ -69,25 +69,25 @@ __asm__ volatile \ > __asm__ volatile \ > ("{t2rpntlvwz0rs\t(%0,%1,1), %%tmm"#tdst \ > "|t2rpntlvwz0rs\t%%tmm"#tdst", [%0+%1*1]}" \ > - :: "r" ((const void*) (base)), "r" ((long) (stride))) > + :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride))) > > #define _tile_2rpntlvwz0rst1_internal(tdst, base, stride) \ > __asm__ volatile \ > ("{t2rpntlvwz0rst1\t(%0,%1,1), %%tmm"#tdst \ > "|t2rpntlvwz0rst1\t%%tmm"#tdst", [%0+%1*1]}" \ > - :: "r" ((const void*) (base)), "r" ((long) (stride))) > + :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride))) > > #define _tile_2rpntlvwz1rs_internal(tdst, base, stride) \ > __asm__ volatile \ > ("{t2rpntlvwz1rs\t(%0,%1,1), %%tmm"#tdst \ > "|t2rpntlvwz1rs\t%%tmm"#tdst", [%0+%1*1]}" \ > - :: "r" ((const void*) (base)), "r" ((long) (stride))) > + :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride))) > > #define _tile_2rpntlvwz1rst1_internal(tdst, base, stride) \ > __asm__ volatile \ > ("{t2rpntlvwz1rst1\t(%0,%1,1), %%tmm"#tdst \ > "|t2rpntlvwz1rst1\t%%tmm"#tdst", [%0+%1*1]}" \ > - :: "r" ((const void*) (base)), "r" ((long) (stride))) > + :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride))) > > #define _tile_2rpntlvwz0rs(tdst, base, stride) \ > _tile_2rpntlvwz0rs_internal(tdst, base, stride) > -- > 2.31.1 >
-- BR, Hongtao
