https://github.com/arsenm created 
https://github.com/llvm/llvm-project/pull/227602

ldtilecfg invalidates all tile registers, which the pseudo models by
listing them in Defs. Nothing reads them from the configuration
instruction itself, so mark them dead where the pseudo is built instead
of leaving it to be re-inferred.

Co-authored-by: Claude Opus 5 <[email protected]>

>From 55ce414fdc78103e21d1f200c4c58eb995665dc0 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <[email protected]>
Date: Tue, 29 Sep 2026 00:09:48 +0200
Subject: [PATCH] X86: Mark the tile register defs of PLDTILECFGV dead

ldtilecfg invalidates all tile registers, which the pseudo models by
listing them in Defs. Nothing reads them from the configuration
instruction itself, so mark them dead where the pseudo is built instead
of leaving it to be re-inferred.

Co-authored-by: Claude Opus 5 <[email protected]>
---
 llvm/lib/Target/X86/X86FastPreTileConfig.cpp  |  1 +
 llvm/lib/Target/X86/X86PreTileConfig.cpp      |  3 ++-
 .../CodeGen/X86/AMX/amx-fastconfig-phi.mir    | 22 +++++++++----------
 .../CodeGen/X86/AMX/amx-fastconfig-phi2.mir   |  8 +++----
 .../CodeGen/X86/AMX/amx-fastconfig-phi4.mir   | 10 ++++-----
 .../CodeGen/X86/AMX/amx-fastconfig-spill.mir  |  8 +++----
 llvm/test/CodeGen/X86/AMX/amx-fastconfig.mir  |  6 ++---
 .../CodeGen/X86/AMX/amx-fastpreconfig.mir     |  2 +-
 8 files changed, 31 insertions(+), 29 deletions(-)

diff --git a/llvm/lib/Target/X86/X86FastPreTileConfig.cpp 
b/llvm/lib/Target/X86/X86FastPreTileConfig.cpp
index b18c16f757a40..f461b5e97bd59 100644
--- a/llvm/lib/Target/X86/X86FastPreTileConfig.cpp
+++ b/llvm/lib/Target/X86/X86FastPreTileConfig.cpp
@@ -537,6 +537,7 @@ bool 
X86FastPreTileConfigImpl::configBasicBlock(MachineBasicBlock &MBB) {
                                      ST->getTileConfigAlignment(), false);
     LastTileCfg = addFrameReference(
         BuildMI(MBB, Before, DebugLoc(), TII->get(X86::PLDTILECFGV)), CfgSS);
+    LastTileCfg->setImplicitPhysRegDefsDead();
     LastShapeMI = nullptr;
     Change = true;
   };
diff --git a/llvm/lib/Target/X86/X86PreTileConfig.cpp 
b/llvm/lib/Target/X86/X86PreTileConfig.cpp
index 103b977ed7c84..7a36eea047d43 100644
--- a/llvm/lib/Target/X86/X86PreTileConfig.cpp
+++ b/llvm/lib/Target/X86/X86PreTileConfig.cpp
@@ -408,7 +408,8 @@ bool 
X86PreTileConfigImpl::runOnMachineFunction(MachineFunction &MF) {
       if (VisitedOrInserted.insert(I).second) {
         auto II = I.MI ? I.MI->getIterator() : I.MBB->instr_begin();
         addFrameReference(BuildMI(*I.MBB, ++II, DL, 
TII->get(X86::PLDTILECFGV)),
-                          SS);
+                          SS)
+            ->setImplicitPhysRegDefsDead();
       }
     }
   }
diff --git a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi.mir 
b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi.mir
index c4f0c669a6639..8e5018fe924e8 100644
--- a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi.mir
+++ b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi.mir
@@ -116,7 +116,7 @@ body:             |
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[MOV16ri:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri1:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r:%[0-9]+]]:gr64_nosp = LEA64r %stack.0, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILEZEROV:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri1]], 
[[MOV16ri]]
   ; CHECK-NEXT:   [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -129,7 +129,7 @@ body:             |
   ; CHECK-NEXT:   [[MOV32ri64_:%[0-9]+]]:gr64_nosp = MOV32ri64 32
   ; CHECK-NEXT:   [[MOV16ri2:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri3:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r1:%[0-9]+]]:gr64_nosp = LEA64r %stack.2, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILELOADDV:%[0-9]+]]:tile = PTILELOADDV [[MOV16ri3]], 
[[MOV16ri2]], [[COPY3]], 1, killed [[MOV32ri64_]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri1:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -141,7 +141,7 @@ body:             |
   ; CHECK-NEXT:   [[PHI:%[0-9]+]]:gr16 = PHI [[MOV16ri]], %bb.1, [[MOV16ri2]], 
%bb.2
   ; CHECK-NEXT:   [[PHI1:%[0-9]+]]:gr16 = PHI [[MOV16ri1]], %bb.1, 
[[MOV16ri3]], %bb.2
   ; CHECK-NEXT:   [[PHI2:%[0-9]+]]:gr64_nosp = PHI [[LEA64r]], %bb.1, 
[[LEA64r1]], %bb.2
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV64ri2:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[LEA64r2:%[0-9]+]]:gr64_nosp = LEA64r %stack.5, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILELOADDV1:%[0-9]+]]:tile = PTILELOADDV [[PHI1]], 
[[PHI]], [[PHI2]], 1, killed [[MOV64ri2]], 0, $noreg
@@ -149,13 +149,13 @@ body:             |
   ; CHECK-NEXT:   TILESTORED %stack.5, 1, killed [[MOV64ri3]], 0, $noreg, 
[[PTILELOADDV1]] :: (store (s8192) into %stack.5)
   ; CHECK-NEXT:   [[MOV16ri4:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri5:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[PTILEZEROV1:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri5]], 
[[MOV16ri4]]
   ; CHECK-NEXT:   [[MOV64ri4:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   TILESTORED %stack.4, 1, killed [[MOV64ri4]], 0, $noreg, 
[[PTILEZEROV1]] :: (store (s8192) into %stack.4)
   ; CHECK-NEXT:   [[MOV16ri6:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri7:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[PTILEZEROV2:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri7]], 
[[MOV16ri6]]
   ; CHECK-NEXT:   [[MOV64ri5:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   TILESTORED %stack.3, 1, killed [[MOV64ri5]], 0, $noreg, 
[[PTILEZEROV2]] :: (store (s8192) into %stack.3)
@@ -163,7 +163,7 @@ body:             |
   ; CHECK-NEXT:   JMP_1 %bb.5
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT: bb.4:
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV32ri64_1:%[0-9]+]]:gr64_nosp = MOV32ri64 32
   ; CHECK-NEXT:   [[MOV16ri8:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri9:%[0-9]+]]:gr16 = MOV16ri 16
@@ -179,14 +179,14 @@ body:             |
   ; CHECK-NEXT:   [[PHI4:%[0-9]+]]:gr16 = PHI [[PHI]], %bb.3, %60, %bb.8
   ; CHECK-NEXT:   [[PHI5:%[0-9]+]]:gr16 = PHI [[PHI1]], %bb.3, %59, %bb.8
   ; CHECK-NEXT:   [[PHI6:%[0-9]+]]:gr64_nosp = PHI [[LEA64r2]], %bb.3, %58, 
%bb.8
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV64ri7:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV3:%[0-9]+]]:tile = PTILELOADDV [[PHI5]], 
[[PHI4]], [[PHI6]], 1, killed [[MOV64ri7]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri8:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   TILESTORED %stack.8, 1, killed [[MOV64ri8]], 0, $noreg, 
[[PTILELOADDV3]] :: (store (s8192) into %stack.8)
   ; CHECK-NEXT:   [[MOV16ri10:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri11:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV64ri9:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV4:%[0-9]+]]:tile = PTILELOADDV [[MOV16ri7]], 
[[MOV16ri6]], %stack.3, 1, killed [[MOV64ri9]], 0, $noreg :: (load (s8192) from 
%stack.3)
   ; CHECK-NEXT:   [[MOV64ri10:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -202,7 +202,7 @@ body:             |
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[MOV16ri12:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri13:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r3:%[0-9]+]]:gr64_nosp = LEA64r %stack.6, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILEZEROV3:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri13]], 
[[MOV16ri12]]
   ; CHECK-NEXT:   [[MOV64ri12:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -215,7 +215,7 @@ body:             |
   ; CHECK-NEXT:   [[MOV32ri64_2:%[0-9]+]]:gr64_nosp = MOV32ri64 32
   ; CHECK-NEXT:   [[MOV16ri14:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri15:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r4:%[0-9]+]]:gr64_nosp = LEA64r %stack.7, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILELOADDV7:%[0-9]+]]:tile = PTILELOADDV [[MOV16ri15]], 
[[MOV16ri14]], [[COPY3]], 1, killed [[MOV32ri64_2]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri13:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -227,7 +227,7 @@ body:             |
   ; CHECK-NEXT:   [[PHI7:%[0-9]+]]:gr16 = PHI [[MOV16ri12]], %bb.6, 
[[MOV16ri14]], %bb.7
   ; CHECK-NEXT:   [[PHI8:%[0-9]+]]:gr16 = PHI [[MOV16ri13]], %bb.6, 
[[MOV16ri15]], %bb.7
   ; CHECK-NEXT:   [[PHI9:%[0-9]+]]:gr64_nosp = PHI [[LEA64r3]], %bb.6, 
[[LEA64r4]], %bb.7
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV64ri14:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV8:%[0-9]+]]:tile = PTILELOADDV [[PHI8]], 
[[PHI7]], [[PHI9]], 1, killed [[MOV64ri14]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri15:%[0-9]+]]:gr64_nosp = MOV64ri 64
diff --git a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi2.mir 
b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi2.mir
index c7b272ab83762..c744be78cb51e 100644
--- a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi2.mir
+++ b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi2.mir
@@ -53,7 +53,7 @@ body:             |
   ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:gr32 = COPY killed [[COPY]]
   ; CHECK-NEXT:   %r0:gr16 = MOV16ri 64
   ; CHECK-NEXT:   %c0:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r:%[0-9]+]]:gr64_nosp = LEA64r %stack.0, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   %t0:tile = PTILEZEROV %r0, %c0
   ; CHECK-NEXT:   [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -68,7 +68,7 @@ body:             |
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[MOV16ri:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri1:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r1:%[0-9]+]]:gr64_nosp = LEA64r %stack.2, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILEZEROV:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri1]], 
[[MOV16ri]]
   ; CHECK-NEXT:   [[MOV64ri1:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -81,7 +81,7 @@ body:             |
   ; CHECK-NEXT:   [[PHI:%[0-9]+]]:gr16 = PHI %c0, %bb.0, %24, %bb.3
   ; CHECK-NEXT:   [[PHI1:%[0-9]+]]:gr16 = PHI %r0, %bb.0, %23, %bb.3
   ; CHECK-NEXT:   [[PHI2:%[0-9]+]]:gr64_nosp = PHI [[LEA64r]], %bb.0, %22, 
%bb.3
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV64ri2:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV:%[0-9]+]]:tile = PTILELOADDV [[PHI1]], 
[[PHI]], [[PHI2]], 1, killed [[MOV64ri2]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri3:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -94,7 +94,7 @@ body:             |
   ; CHECK-NEXT:   [[PHI3:%[0-9]+]]:gr16 = PHI [[MOV16ri]], %bb.1, [[PHI]], 
%bb.2
   ; CHECK-NEXT:   [[PHI4:%[0-9]+]]:gr16 = PHI [[MOV16ri1]], %bb.1, [[PHI1]], 
%bb.2
   ; CHECK-NEXT:   [[PHI5:%[0-9]+]]:gr64_nosp = PHI [[LEA64r1]], %bb.1, 
[[PHI2]], %bb.2
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV64ri4:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV1:%[0-9]+]]:tile = PTILELOADDV [[PHI4]], 
[[PHI3]], [[PHI5]], 1, killed [[MOV64ri4]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri5:%[0-9]+]]:gr64_nosp = MOV64ri 64
diff --git a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi4.mir 
b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi4.mir
index f0c7565164408..77d42eab425d4 100644
--- a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi4.mir
+++ b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi4.mir
@@ -54,7 +54,7 @@ body:             |
   ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:gr32 = COPY killed [[COPY]]
   ; CHECK-NEXT:   %r0:gr16 = MOV16ri 64
   ; CHECK-NEXT:   %c0:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r:%[0-9]+]]:gr64_nosp = LEA64r %stack.0, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[LEA64r1:%[0-9]+]]:gr64_nosp = LEA64r %stack.0, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   %t0:tile = PTILEZEROV %r0, %c0
@@ -70,7 +70,7 @@ body:             |
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[MOV16ri:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri1:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[PTILEZEROV:%[0-9]+]]:tile = PTILEZEROV killed 
[[MOV16ri1]], killed [[MOV16ri]]
   ; CHECK-NEXT:   JMP_1 %bb.3
   ; CHECK-NEXT: {{  $}}
@@ -83,14 +83,14 @@ body:             |
   ; CHECK-NEXT:   [[PHI3:%[0-9]+]]:gr16 = PHI %c0, %bb.0, %11, %bb.3, %17, 
%bb.2
   ; CHECK-NEXT:   [[PHI4:%[0-9]+]]:gr16 = PHI %r0, %bb.0, %12, %bb.3, %18, 
%bb.2
   ; CHECK-NEXT:   [[PHI5:%[0-9]+]]:gr64_nosp = PHI [[LEA64r]], %bb.0, %24, 
%bb.3, %25, %bb.2
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[MOV64ri1:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV:%[0-9]+]]:tile = PTILELOADDV [[PHI1]], 
[[PHI]], [[PHI2]], 1, killed [[MOV64ri1]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri2:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV1:%[0-9]+]]:tile = PTILELOADDV [[PHI4]], 
[[PHI3]], [[PHI5]], 1, killed [[MOV64ri2]], 0, $noreg
   ; CHECK-NEXT:   [[MOV16ri2:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri3:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r2:%[0-9]+]]:gr64_nosp = LEA64r %stack.3, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[LEA64r3:%[0-9]+]]:gr64_nosp = LEA64r %stack.3, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILEZEROV1:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri3]], 
[[MOV16ri2]]
@@ -104,7 +104,7 @@ body:             |
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT:   [[MOV16ri4:%[0-9]+]]:gr16 = MOV16ri 64
   ; CHECK-NEXT:   [[MOV16ri5:%[0-9]+]]:gr16 = MOV16ri 16
-  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.1, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.1, align 4)
   ; CHECK-NEXT:   [[LEA64r4:%[0-9]+]]:gr64_nosp = LEA64r %stack.2, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[LEA64r5:%[0-9]+]]:gr64_nosp = LEA64r %stack.2, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILEZEROV2:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri5]], 
[[MOV16ri4]]
diff --git a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-spill.mir 
b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-spill.mir
index 0d092ba38c757..d39ba1bdee348 100644
--- a/llvm/test/CodeGen/X86/AMX/amx-fastconfig-spill.mir
+++ b/llvm/test/CodeGen/X86/AMX/amx-fastconfig-spill.mir
@@ -37,7 +37,7 @@ body:             |
   ; CHECK-NEXT:   MOV8mi %stack.4, 1, $noreg, 0, $noreg, 1 :: (store (s512) 
into %stack.4, align 4)
   ; CHECK-NEXT:   [[MOV16ri:%[0-9]+]]:gr16 = MOV16ri 32
   ; CHECK-NEXT:   [[MOV16ri1:%[0-9]+]]:gr16 = MOV16ri 8
-  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.4, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.4, align 4)
   ; CHECK-NEXT:   [[PTILEZEROV:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri1]], 
[[MOV16ri]]
   ; CHECK-NEXT:   [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   TILESTORED %stack.3, 1, killed [[MOV64ri]], 0, $noreg, 
[[PTILEZEROV]] :: (store (s8192) into %stack.3)
@@ -51,7 +51,7 @@ body:             |
   ; CHECK-NEXT:   JMP_1 %bb.1
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT: bb.1:
-  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.4, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.4, align 4)
   ; CHECK-NEXT:   [[PTILELOADDV1:%[0-9]+]]:tile = PTILELOADDV %row, %col, 
[[LEA64r]], 1, [[MOV32ri64_]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri2:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV2:%[0-9]+]]:tile = PTILELOADDV [[MOV16ri1]], 
[[MOV16ri]], %stack.2, 1, killed [[MOV64ri2]], 0, $noreg :: (load (s8192) from 
%stack.2)
@@ -116,7 +116,7 @@ body:             |
   ; CHECK-NEXT:   MOV8mi %stack.4, 1, $noreg, 0, $noreg, 1 :: (store (s512) 
into %stack.4, align 4)
   ; CHECK-NEXT:   [[MOV16ri:%[0-9]+]]:gr16 = MOV16ri 32
   ; CHECK-NEXT:   [[MOV16ri1:%[0-9]+]]:gr16 = MOV16ri 8
-  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.4, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.4, align 4)
   ; CHECK-NEXT:   [[PTILEZEROV:%[0-9]+]]:tile = PTILEZEROV [[MOV16ri1]], 
[[MOV16ri]]
   ; CHECK-NEXT:   [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   TILESTORED %stack.3, 1, killed [[MOV64ri]], 0, $noreg, 
[[PTILEZEROV]] :: (store (s8192) into %stack.3)
@@ -128,7 +128,7 @@ body:             |
   ; CHECK-NEXT:   JMP_1 %bb.1
   ; CHECK-NEXT: {{  $}}
   ; CHECK-NEXT: bb.1:
-  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.4, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.4, align 4)
   ; CHECK-NEXT:   [[PTILELOADDV1:%[0-9]+]]:tile = PTILELOADDV [[MOV16ri1]], 
[[MOV16ri]], [[LEA64r]], 1, [[MOV32ri64_]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri2:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   %t:tile = PTILELOADDV [[MOV16ri1]], [[MOV16ri]], %stack.2, 
1, killed [[MOV64ri2]], 0, $noreg :: (load (s8192) from %stack.2)
diff --git a/llvm/test/CodeGen/X86/AMX/amx-fastconfig.mir 
b/llvm/test/CodeGen/X86/AMX/amx-fastconfig.mir
index ac2bcf3a54441..e6e001efbdda7 100644
--- a/llvm/test/CodeGen/X86/AMX/amx-fastconfig.mir
+++ b/llvm/test/CodeGen/X86/AMX/amx-fastconfig.mir
@@ -105,7 +105,7 @@ body:             |
   ; CHECK-NEXT:   [[MOV32ri64_:%[0-9]+]]:gr64 = MOV32ri64 @buf
   ; CHECK-NEXT:   [[MOV32ri64_1:%[0-9]+]]:gr64_nosp = MOV32ri64 32
   ; CHECK-NEXT:   [[MOV16ri:%[0-9]+]]:gr16 = MOV16ri 8
-  ; CHECK-NEXT:   PLDTILECFGV %stack.3, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.3, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.3, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.3, align 4)
   ; CHECK-NEXT:   [[LEA64r:%[0-9]+]]:gr64_nosp = LEA64r %stack.2, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILELOADDV:%[0-9]+]]:tile = PTILELOADDV [[COPY4]], 
[[MOV16ri]], [[MOV32ri64_]], 1, [[MOV32ri64_1]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -126,7 +126,7 @@ body:             |
   ; CHECK-NEXT:   [[MOV32ri64_2:%[0-9]+]]:gr64 = MOV32ri64 @buf2
   ; CHECK-NEXT:   [[MOV32ri64_3:%[0-9]+]]:gr64_nosp = MOV32ri64 32
   ; CHECK-NEXT:   [[MOV16ri1:%[0-9]+]]:gr16 = MOV16ri 8
-  ; CHECK-NEXT:   PLDTILECFGV %stack.3, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.3, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.3, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.3, align 4)
   ; CHECK-NEXT:   [[LEA64r3:%[0-9]+]]:gr64_nosp = LEA64r %stack.6, 1, $noreg, 
0, $noreg
   ; CHECK-NEXT:   [[PTILELOADDV3:%[0-9]+]]:tile = PTILELOADDV [[COPY4]], 
[[MOV16ri1]], [[MOV32ri64_2]], 1, [[MOV32ri64_3]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri3:%[0-9]+]]:gr64_nosp = MOV64ri 64
@@ -150,7 +150,7 @@ body:             |
   ; CHECK-NEXT:   [[PHI6:%[0-9]+]]:gr16 = PHI [[COPY3]], %bb.1, [[COPY3]], 
%bb.2
   ; CHECK-NEXT:   [[PHI7:%[0-9]+]]:gr16 = PHI [[COPY4]], %bb.1, [[COPY4]], 
%bb.2
   ; CHECK-NEXT:   [[PHI8:%[0-9]+]]:gr64_nosp = PHI [[LEA64r2]], %bb.1, 
[[LEA64r5]], %bb.2
-  ; CHECK-NEXT:   PLDTILECFGV %stack.3, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.3, align 4)
+  ; CHECK-NEXT:   PLDTILECFGV %stack.3, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.3, align 4)
   ; CHECK-NEXT:   [[MOV64ri6:%[0-9]+]]:gr64_nosp = MOV64ri 64
   ; CHECK-NEXT:   [[PTILELOADDV6:%[0-9]+]]:tile = PTILELOADDV [[PHI1]], 
[[PHI]], [[PHI2]], 1, killed [[MOV64ri6]], 0, $noreg
   ; CHECK-NEXT:   [[MOV64ri7:%[0-9]+]]:gr64_nosp = MOV64ri 64
diff --git a/llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir 
b/llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
index 803f85d06dcb5..b48926d9eed47 100644
--- a/llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
+++ b/llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
@@ -37,7 +37,7 @@ body:             |
     ; CHECK-NEXT: [[LEA64r:%[0-9]+]]:gr64 = LEA64r %stack.0, 1, $noreg, 0, 
$noreg
     ; CHECK-NEXT: [[MOV16ri:%[0-9]+]]:gr16 = MOV16ri 32
     ; CHECK-NEXT: [[MOV16ri1:%[0-9]+]]:gr16 = MOV16ri 8
-    ; CHECK-NEXT: PLDTILECFGV %stack.2, 1, $noreg, 0, $noreg, implicit-def 
$tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def 
$tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load 
(s512) from %stack.2, align 4)
+    ; CHECK-NEXT: PLDTILECFGV %stack.2, 1, $noreg, 0, $noreg, implicit-def 
dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead 
$tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead 
$tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.2, align 4)
     ; CHECK-NEXT: $tmm0 = TILELOADD [[LEA64r]], 1, [[MOV32ri64_]], 0, $noreg
     ; CHECK-NEXT: [[PTILELOADDV:%[0-9]+]]:tile = PTILELOADDV [[MOV16ri1]], 
[[MOV16ri]], [[LEA64r]], 1, [[MOV32ri64_]], 0, $noreg
     ; CHECK-NEXT: [[PTILELOADDV1:%[0-9]+]]:tile = PTILELOADDV [[MOV16ri1]], 
[[MOV16ri]], [[LEA64r]], 1, [[MOV32ri64_]], 0, $noreg

_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to