From 7d8faaeb80921d759c82a7236f5a3388f53dbabf Mon Sep 17 00:00:00 2001 From: "Wang, Phoebe" Date: Sun, 10 Nov 2024 11:42:51 +0800 Subject: [PATCH] Fix mistake in #113532 --- llvm/lib/Target/X86/X86ISelLowering.cpp | 2 -- llvm/lib/Target/X86/X86InstrInfo.cpp | 1 + llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll | 14 +++++++------- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 253b768f34a07..3888d207206ec 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -27328,8 +27328,6 @@ static SDValue LowerINTRINSIC_W_CHAIN(SDValue Op, const X86Subtarget &Subtarget, case Intrinsic::x86_t2rpntlvwz0t1_internal: case Intrinsic::x86_t2rpntlvwz1_internal: case Intrinsic::x86_t2rpntlvwz1t1_internal: { - if (!Subtarget.hasAMXTILE()) - break; auto *X86MFI = DAG.getMachineFunction().getInfo(); X86MFI->setAMXProgModel(AMXProgModelEnum::ManagedRA); unsigned IntNo = Op.getConstantOperandVal(1); diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index 3af51a1d4d30b..1b95450596314 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -4737,6 +4737,7 @@ static bool isAMXOpcode(unsigned Opc) { case X86::TILELOADD_EVEX: case X86::TILESTORED_EVEX: case X86::PTILEPAIRLOAD: + case X86::PTILEPAIRSTORE: return true; } } diff --git a/llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll b/llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll index b06a9369b9762..2025ee94a9740 100644 --- a/llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll +++ b/llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll @@ -80,18 +80,18 @@ define void @test_amx_spill(i8* %pointer, i8* %base, i64 %stride) #0 { ; CHECK-NEXT: tileloadd (%rsi,%rdx), %tmm0 ; CHECK-NEXT: t2rpntlvwz0 (%rsi,%rdx), %tmm4 ; CHECK-NEXT: t2rpntlvwz0t1 (%rsi,%rdx), %tmm6 -; CHECK-NEXT: tilestored %tmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 1024-byte Folded Spill -; CHECK-NEXT: tilestored %tmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 1024-byte Folded Spill +; CHECK-NEXT: movabsq $64, %rcx +; CHECK-NEXT: tilestored %tmm6, 4032(%rsp,%rcx) # 1024-byte Folded Spill +; CHECK-NEXT: tilestored %tmm7, 5056(%rsp,%rcx) # 1024-byte Folded Spill ; CHECK-NEXT: t2rpntlvwz1 (%rsi,%rdx), %tmm6 -; CHECK-NEXT: tilestored %tmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 1024-byte Folded Spill -; CHECK-NEXT: tilestored %tmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 1024-byte Folded Spill +; CHECK-NEXT: tilestored %tmm6, 1984(%rsp,%rcx) # 1024-byte Folded Spill +; CHECK-NEXT: tilestored %tmm7, 3008(%rsp,%rcx) # 1024-byte Folded Spill ; CHECK-NEXT: t2rpntlvwz1t1 (%rsi,%rdx), %tmm6 -; CHECK-NEXT: tilestored %tmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 1024-byte Folded Spill -; CHECK-NEXT: tilestored %tmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 1024-byte Folded Spill +; CHECK-NEXT: tilestored %tmm6, -64(%rsp,%rcx) # 1024-byte Folded Spill +; CHECK-NEXT: tilestored %tmm7, 960(%rsp,%rcx) # 1024-byte Folded Spill ; CHECK-NEXT: t2rpntlvwz0 (%rsi,%rdx), %tmm6 ; CHECK-NEXT: tilestored %tmm4, (%rsi,%rdx) ; CHECK-NEXT: tilestored %tmm5, (%rsi,%rdx) -; CHECK-NEXT: movabsq $64, %rcx ; CHECK-NEXT: tileloadd 4032(%rsp,%rcx), %tmm4 # 1024-byte Folded Reload ; CHECK-NEXT: tileloadd 5056(%rsp,%rcx), %tmm5 # 1024-byte Folded Reload ; CHECK-NEXT: tilestored %tmm4, (%rsi,%rdx)