x86: Cast stride to __PTRDIFF_TYPE__ for AMX-MOVRS intrinsics. [PR122119]

On 64-bit windows, long can't be used, because it is 32 bits. Use
__PTRDIFF_TYPE__ instead of long.

gcc/ChangeLog:

	PR target/122119
	* config/i386/amxmovrsintrin.h
	(_tile_loaddrs_internal): Use __PTRDIFF_TYPE__ instead of long.
	(_tile_loaddrst1_internal): Ditto.
This commit is contained in:
Hu, Lin1 2025-10-10 14:30:19 +08:00
parent 03fed2a80b
commit 175bacbb25
1 changed files with 2 additions and 2 deletions

View File

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