[llvm] 5fc9653 - Remove x86 test amx-fast-tile-config.mir (by its author)

Xiang1 Zhang via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 1 17:38:54 PDT 2021


Author: Xiang1 Zhang
Date: 2021-06-02T08:29:36+08:00
New Revision: 5fc9653faaf93f4cf2bc9d46c4619ec5811a602f

URL: https://github.com/llvm/llvm-project/commit/5fc9653faaf93f4cf2bc9d46c4619ec5811a602f
DIFF: https://github.com/llvm/llvm-project/commit/5fc9653faaf93f4cf2bc9d46c4619ec5811a602f.diff

LOG: Remove x86 test amx-fast-tile-config.mir (by its author)

This test contains a lot of manual changes which is not convenient
to update, and the checks are duplicated with test amx-configO2toO0.ll

Added: 
    

Modified: 
    

Removed: 
    llvm/test/CodeGen/X86/AMX/amx-fast-tile-config.mir


################################################################################
diff  --git a/llvm/test/CodeGen/X86/AMX/amx-fast-tile-config.mir b/llvm/test/CodeGen/X86/AMX/amx-fast-tile-config.mir
deleted file mode 100644
index ebb0c7d501fc0..0000000000000
--- a/llvm/test/CodeGen/X86/AMX/amx-fast-tile-config.mir
+++ /dev/null
@@ -1,465 +0,0 @@
-# RUN: llc -o - -mtriple=x86_64-unknown-unknown -mattr=+amx-int8 -mattr=+avx512f -run-pass=fasttileconfig %s | FileCheck %s
-
---- |
-
-  @buf = dso_local global [1024 x i8] zeroinitializer, align 16
-  @buf2 = dso_local global [1024 x i8] zeroinitializer, align 16
-
-  define dso_local void @test_api(i32 %cond, i16 signext %row, i16 signext %col) local_unnamed_addr #0 {
-  entry:
-    %0 = alloca <16 x i32>, align 4
-    %1 = alloca <16 x i32>, align 4
-    %2 = alloca <16 x i32>, align 4
-    %3 = alloca <16 x i32>, align 4
-    %4 = alloca <16 x i32>, align 4
-    %5 = alloca <16 x i32>, align 4
-    %6 = alloca <16 x i32>, align 4
-    %7 = alloca <16 x i32>, align 4
-    %8 = alloca <256 x i32>, align 1024
-    %9 = bitcast <256 x i32>* %8 to i8*
-    %10 = alloca <256 x i32>, align 1024
-    %11 = bitcast <256 x i32>* %10 to i8*
-    %12 = alloca <256 x i32>, align 1024
-    %13 = bitcast <256 x i32>* %12 to i8*
-    %14 = alloca <256 x i32>, align 1024
-    %15 = bitcast <256 x i32>* %14 to i8*
-    %tobool.not = icmp eq i32 %cond, 0
-    br i1 %tobool.not, label %if.else, label %if.then
-
-  if.then:                                          ; preds = %entry
-    %16 = bitcast <16 x i32>* %6 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %6, align 64
-    %amx.tmm.0.shape.row1 = getelementptr i8, i8* %16, i64 48
-    %17 = getelementptr i8, i8* %16, i64 16
-    %amx.tmm.0.shape.col2 = bitcast i8* %17 to i16*
-    %18 = trunc i16 %row to i8
-    store volatile i8 %18, i8* %amx.tmm.0.shape.row1, align 1
-    store volatile i16 8, i16* %amx.tmm.0.shape.col2, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %16)
-    %19 = tail call x86_amx @llvm.x86.tileloadd64.internal(i16 %row, i16 8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32)
-    call void @llvm.x86.tilestored64.internal(i16 %row, i16 8, i8* %13, i64 64, x86_amx %19)
-    %20 = bitcast <16 x i32>* %2 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %2, align 64
-    %amx.tmm.0.shape.row9 = getelementptr i8, i8* %20, i64 48
-    %21 = getelementptr i8, i8* %20, i64 16
-    %amx.tmm.0.shape.col10 = bitcast i8* %21 to i16*
-    %22 = trunc i16 8 to i8
-    store volatile i8 %22, i8* %amx.tmm.0.shape.row9, align 1
-    store volatile i16 %col, i16* %amx.tmm.0.shape.col10, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %20)
-    %23 = tail call x86_amx @llvm.x86.tileloadd64.internal(i16 8, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32)
-    call void @llvm.x86.tilestored64.internal(i16 8, i16 %col, i8* %11, i64 64, x86_amx %23)
-    %24 = bitcast <16 x i32>* %3 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %3, align 64
-    %amx.tmm.0.shape.row7 = getelementptr i8, i8* %24, i64 48
-    %25 = getelementptr i8, i8* %24, i64 16
-    %amx.tmm.0.shape.col8 = bitcast i8* %25 to i16*
-    %26 = trunc i16 %row to i8
-    store volatile i8 %26, i8* %amx.tmm.0.shape.row7, align 1
-    store volatile i16 %col, i16* %amx.tmm.0.shape.col8, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %24)
-    %27 = tail call x86_amx @llvm.x86.tileloadd64.internal(i16 %row, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32)
-    call void @llvm.x86.tilestored64.internal(i16 %row, i16 %col, i8* %9, i64 64, x86_amx %27)
-    br label %if.end
-
-  if.else:                                          ; preds = %entry
-    %28 = bitcast <16 x i32>* %1 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %1, align 64
-    %amx.tmm.0.shape.row11 = getelementptr i8, i8* %28, i64 48
-    %29 = getelementptr i8, i8* %28, i64 16
-    %amx.tmm.0.shape.col12 = bitcast i8* %29 to i16*
-    %30 = trunc i16 %row to i8
-    store volatile i8 %30, i8* %amx.tmm.0.shape.row11, align 1
-    store volatile i16 8, i16* %amx.tmm.0.shape.col12, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %28)
-    %31 = tail call x86_amx @llvm.x86.tileloadd64.internal(i16 %row, i16 8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf2, i64 0, i64 0), i64 32)
-    call void @llvm.x86.tilestored64.internal(i16 %row, i16 8, i8* %13, i64 64, x86_amx %31)
-    %32 = bitcast <16 x i32>* %7 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %7, align 64
-    %amx.tmm.0.shape.row = getelementptr i8, i8* %32, i64 48
-    %33 = getelementptr i8, i8* %32, i64 16
-    %amx.tmm.0.shape.col = bitcast i8* %33 to i16*
-    %34 = trunc i16 8 to i8
-    store volatile i8 %34, i8* %amx.tmm.0.shape.row, align 1
-    store volatile i16 %col, i16* %amx.tmm.0.shape.col, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %32)
-    %35 = tail call x86_amx @llvm.x86.tileloadd64.internal(i16 8, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf2, i64 0, i64 0), i64 32)
-    call void @llvm.x86.tilestored64.internal(i16 8, i16 %col, i8* %11, i64 64, x86_amx %35)
-    %36 = bitcast <16 x i32>* %0 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %0, align 64
-    %amx.tmm.0.shape.row13 = getelementptr i8, i8* %36, i64 48
-    %37 = getelementptr i8, i8* %36, i64 16
-    %amx.tmm.0.shape.col14 = bitcast i8* %37 to i16*
-    %38 = trunc i16 %row to i8
-    store volatile i8 %38, i8* %amx.tmm.0.shape.row13, align 1
-    store volatile i16 %col, i16* %amx.tmm.0.shape.col14, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %36)
-    %39 = tail call x86_amx @llvm.x86.tileloadd64.internal(i16 %row, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf2, i64 0, i64 0), i64 32)
-    call void @llvm.x86.tilestored64.internal(i16 %row, i16 %col, i8* %9, i64 64, x86_amx %39)
-    br label %if.end
-
-  if.end:                                           ; preds = %if.else, %if.then
-    %40 = bitcast <16 x i32>* %4 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %4, align 64
-    %amx.tmm.0.shape.row5 = getelementptr i8, i8* %40, i64 48
-    %41 = getelementptr i8, i8* %40, i64 16
-    %amx.tmm.0.shape.col6 = bitcast i8* %41 to i16*
-    %42 = trunc i16 %row to i8
-    store volatile i8 %42, i8* %amx.tmm.0.shape.row5, align 1
-    store volatile i16 %col, i16* %amx.tmm.0.shape.col6, align 2
-    %amx.tmm.1.shape.row = getelementptr i8, i8* %40, i64 49
-    %43 = getelementptr i8, i8* %40, i64 18
-    %amx.tmm.1.shape.col = bitcast i8* %43 to i16*
-    %44 = trunc i16 %row to i8
-    store volatile i8 %44, i8* %amx.tmm.1.shape.row, align 1
-    store volatile i16 8, i16* %amx.tmm.1.shape.col, align 2
-    %amx.tmm.2.shape.row = getelementptr i8, i8* %40, i64 50
-    %45 = getelementptr i8, i8* %40, i64 20
-    %amx.tmm.2.shape.col = bitcast i8* %45 to i16*
-    %46 = trunc i16 8 to i8
-    store volatile i8 %46, i8* %amx.tmm.2.shape.row, align 1
-    store volatile i16 %col, i16* %amx.tmm.2.shape.col, align 2
-    %amx.tmm.3.shape.row = getelementptr i8, i8* %40, i64 51
-    %47 = getelementptr i8, i8* %40, i64 22
-    %amx.tmm.3.shape.col = bitcast i8* %47 to i16*
-    %48 = trunc i16 %row to i8
-    store volatile i8 %48, i8* %amx.tmm.3.shape.row, align 1
-    store volatile i16 %col, i16* %amx.tmm.3.shape.col, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %40)
-    %49 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %row, i16 8, i8* %13, i64 64)
-    %50 = call x86_amx @llvm.x86.tileloadd64.internal(i16 8, i16 %col, i8* %11, i64 64)
-    %51 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %row, i16 %col, i8* %9, i64 64)
-    %52 = tail call x86_amx @llvm.x86.tdpbssd.internal(i16 %row, i16 %col, i16 8, x86_amx %51, x86_amx %49, x86_amx %50)
-    call void @llvm.x86.tilestored64.internal(i16 %row, i16 %col, i8* %15, i64 64, x86_amx %52)
-    %53 = bitcast <16 x i32>* %5 to i8*
-    store <16 x i32> zeroinitializer, <16 x i32>* %5, align 64
-    %amx.tmm.0.shape.row3 = getelementptr i8, i8* %53, i64 48
-    %54 = getelementptr i8, i8* %53, i64 16
-    %amx.tmm.0.shape.col4 = bitcast i8* %54 to i16*
-    %55 = trunc i16 %row to i8
-    store volatile i8 %55, i8* %amx.tmm.0.shape.row3, align 1
-    store volatile i16 %col, i16* %amx.tmm.0.shape.col4, align 2
-    call void @llvm.x86.ldtilecfg.internal(i8* %53)
-    %56 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %row, i16 %col, i8* %15, i64 64)
-    tail call void @llvm.x86.tilestored64.internal(i16 %row, i16 %col, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i64 32, x86_amx %56)
-    ret void
-  }
-
-  ; Function Attrs: nounwind
-  declare x86_amx @llvm.x86.tileloadd64.internal(i16, i16, i8*, i64) #1
-
-  ; Function Attrs: nounwind
-  declare x86_amx @llvm.x86.tdpbssd.internal(i16, i16, i16, x86_amx, x86_amx, x86_amx) #1
-
-  ; Function Attrs: nounwind
-  declare void @llvm.x86.tilestored64.internal(i16, i16, i8*, i64, x86_amx) #1
-
-  ; Function Attrs: nounwind
-  declare void @llvm.x86.ldtilecfg.internal(i8*) #2
-
-  attributes #0 = { "target-features"="+amx-int8,+avx512f" }
-  attributes #1 = { nounwind "target-features"="+amx-int8,+avx512f" }
-  attributes #2 = { nounwind }
-
-...
----
-name:            test_api
-alignment:       16
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
-failedISel:      false
-tracksRegLiveness: true
-hasWinCFI:       false
-registers:       []
-liveins:
-  - { reg: '$edi', virtual-reg: '' }
-  - { reg: '$esi', virtual-reg: '' }
-  - { reg: '$edx', virtual-reg: '' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    1024
-  adjustsStack:    false
-  hasCalls:        false
-  stackProtector:  ''
-  maxCallFrameSize: 4294967295
-  cvBytesOfCalleeSavedRegisters: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
-  hasTailCall:     false
-  localFrameSize:  0
-  savePoint:       ''
-  restorePoint:    ''
-fixedStack:      []
-stack:
-  - { id: 0, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 1, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 2, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 3, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 4, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 5, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 6, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 7, name: '', type: default, offset: 0, size: 64, alignment: 16,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 8, name: '', type: default, offset: 0, size: 1024, alignment: 1024,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 9, name: '', type: default, offset: 0, size: 1024, alignment: 1024,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 10, name: '', type: default, offset: 0, size: 1024, alignment: 1024,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 11, name: '', type: default, offset: 0, size: 1024, alignment: 1024,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 12, name: '', type: spill-slot, offset: 0, size: 8, alignment: 8,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 13, name: '', type: spill-slot, offset: 0, size: 8, alignment: 8,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 14, name: '', type: spill-slot, offset: 0, size: 8, alignment: 8,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 15, name: '', type: spill-slot, offset: 0, size: 8, alignment: 8,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 16, name: '', type: spill-slot, offset: 0, size: 2, alignment: 2,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-  - { id: 17, name: '', type: spill-slot, offset: 0, size: 2, alignment: 2,
-      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
-      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
-callSites:       []
-debugValueSubstitutions: []
-constants:       []
-machineFunctionInfo: {}
-body:             |
-  bb.0.entry:
-    successors: %bb.2(0x40000000), %bb.1(0x40000000)
-    liveins: $edi, $esi, $edx
-
-    renamable $ax = COPY renamable $dx, implicit killed $edx
-    MOV16mr %stack.17, 1, $noreg, 0, $noreg, killed $ax :: (store 2 into %stack.17)
-    renamable $ax = COPY renamable $si, implicit killed $esi
-    MOV16mr %stack.16, 1, $noreg, 0, $noreg, killed $ax :: (store 2 into %stack.16)
-    renamable $rax = LEA64r %stack.8, 1, $noreg, 0, $noreg
-    MOV64mr %stack.15, 1, $noreg, 0, $noreg, killed $rax :: (store 8 into %stack.15)
-    renamable $rax = LEA64r %stack.9, 1, $noreg, 0, $noreg
-    MOV64mr %stack.14, 1, $noreg, 0, $noreg, killed $rax :: (store 8 into %stack.14)
-    renamable $rax = LEA64r %stack.10, 1, $noreg, 0, $noreg
-    MOV64mr %stack.13, 1, $noreg, 0, $noreg, killed $rax :: (store 8 into %stack.13)
-    renamable $rax = LEA64r %stack.11, 1, $noreg, 0, $noreg
-    MOV64mr %stack.12, 1, $noreg, 0, $noreg, killed $rax :: (store 8 into %stack.12)
-    CMP32ri8 killed renamable $edi, 0, implicit-def $eflags
-    JCC_1 %bb.2, 4, implicit killed $eflags
-
-  bb.1.if.then:
-    successors: %bb.3(0x80000000)
-     ; CHECK-LABEL: bb.1.if.then
-     ; tmm0 --> row_offset = 48, col_offset = 16
-     ; CHECK: MOV8mr %stack.6, 1, $noreg, 48, $noreg, killed renamable $sil :: (volatile store 1 into %ir.amx.tmm.0.shape.row1)
-     ; CHECK: MOV16mi %stack.6, 1, $noreg, 16, $noreg, 8 :: (volatile store 2 into %ir.amx.tmm.0.shape.col2)
-     ; CHECK: PLDTILECFGV %stack.6, 1, $noreg, 0, $noreg
-     ; CHECK: renamable $tmm0 = PTILELOADDV renamable $ax, renamable $si, renamable $r9, 1, renamable $r10, 0, $noreg
-     ; CHECK: PTILESTOREDV renamable $ax, renamable $si, renamable $r11, 1, renamable $r8, 0, $noreg, killed renamable $tmm0
-
-     ; tmm1 --> row_offset = 49, col_offset = 18
-     ; CHECK: MOV8mi %stack.2, 1, $noreg, 49, $noreg, 8 :: (volatile store 1 into %ir.amx.tmm.0.shape.row9)
-     ; CHECK: MOV16mr %stack.2, 1, $noreg, 18, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col10)
-     ; CHECK: PLDTILECFGV %stack.2, 1, $noreg, 0, $noreg
-     ; CHECK: renamable $tmm1 = PTILELOADDV renamable $si, renamable $cx, killed renamable $r9, 1, killed renamable $r10, 0, $noreg
-     ; CHECK: PTILESTOREDV killed renamable $si, renamable $cx, renamable $rdi, 1, killed renamable $r8, 0, $noreg, killed renamable $tmm1
-
-     ; tmm2 --> row_offset = 50, col_offset = 20
-     ; CHECK: MOV8mr %stack.3, 1, $noreg, 50, $noreg, killed renamable $dil :: (volatile store 1 into %ir.amx.tmm.0.shape.row7)
-     ; CHECK: MOV16mr %stack.3, 1, $noreg, 20, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col8)
-     ; CHECK: PLDTILECFGV killed renamable $rsi, 1, $noreg, 0, $noreg
-     ; CHECK: renamable $tmm2 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $rsi, 1, killed renamable $rdi, 0, $noreg
-     ; CHECK: PTILESTOREDV renamable $ax, renamable $cx, renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm2
-
-    $ax = MOV16rm %stack.16, 1, $noreg, 0, $noreg :: (load 2 from %stack.16)
-    $cx = MOV16rm %stack.17, 1, $noreg, 0, $noreg :: (load 2 from %stack.17)
-    $rdx = MOV64rm %stack.15, 1, $noreg, 0, $noreg :: (load 8 from %stack.15)
-    $rdi = MOV64rm %stack.14, 1, $noreg, 0, $noreg :: (load 8 from %stack.14)
-    $r11 = MOV64rm %stack.13, 1, $noreg, 0, $noreg :: (load 8 from %stack.13)
-    renamable $zmm0 = AVX512_512_SET0
-    VMOVDQA64Zmr %stack.6, 1, $noreg, 0, $noreg, renamable $zmm0 :: (store 64 into %ir.6)
-    renamable $sil = COPY renamable $al
-    MOV8mr %stack.6, 1, $noreg, 48, $noreg, killed renamable $sil :: (volatile store 1 into %ir.amx.tmm.0.shape.row1)
-    MOV16mi %stack.6, 1, $noreg, 16, $noreg, 8 :: (volatile store 2 into %ir.amx.tmm.0.shape.col2)
-    PLDTILECFGV %stack.6, 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
-    renamable $r9 = MOV32ri64 @buf
-    renamable $r10 = MOV32ri64 32
-    renamable $si = MOV16ri 8
-    renamable $tmm0 = PTILELOADDV renamable $ax, renamable $si, renamable $r9, 1, renamable $r10, 0, $noreg
-    renamable $r8 = MOV32ri64 64
-    PTILESTOREDV renamable $ax, renamable $si, renamable $r11, 1, renamable $r8, 0, $noreg, killed renamable $tmm0
-    VMOVDQA64Zmr %stack.2, 1, $noreg, 0, $noreg, renamable $zmm0 :: (store 64 into %ir.2)
-    MOV8mi %stack.2, 1, $noreg, 48, $noreg, 8 :: (volatile store 1 into %ir.amx.tmm.0.shape.row9)
-    MOV16mr %stack.2, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col10)
-    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
-    renamable $tmm1 = PTILELOADDV renamable $si, renamable $cx, killed renamable $r9, 1, killed renamable $r10, 0, $noreg
-    PTILESTOREDV killed renamable $si, renamable $cx, renamable $rdi, 1, killed renamable $r8, 0, $noreg, killed renamable $tmm1
-    renamable $rsi = LEA64r %stack.3, 1, $noreg, 0, $noreg
-    VMOVDQA64Zmr %stack.3, 1, $noreg, 0, $noreg, killed renamable $zmm0 :: (store 64 into %ir.3)
-    renamable $dil = COPY renamable $al
-    MOV8mr %stack.3, 1, $noreg, 48, $noreg, killed renamable $dil :: (volatile store 1 into %ir.amx.tmm.0.shape.row7)
-    MOV16mr %stack.3, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col8)
-    PLDTILECFGV killed renamable $rsi, 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
-    renamable $rsi = MOV32ri64 @buf
-    renamable $rdi = MOV32ri64 32
-    renamable $tmm2 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $rsi, 1, killed renamable $rdi, 0, $noreg
-    renamable $rsi = MOV32ri64 64
-    PTILESTOREDV renamable $ax, renamable $cx, renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm2
-    JMP_1 %bb.3
-
-  bb.2.if.else:
-    successors: %bb.3(0x80000000)
-
-     ; CHECK-LABEL: bb.2.if.else
-     ; tmm3 --> row_offset = 51, col_offset = 22
-     ; CHECK: MOV8mr %stack.1, 1, $noreg, 51, $noreg, killed renamable $sil :: (volatile store 1 into %ir.amx.tmm.0.shape.row11)
-     ; CHECK: MOV16mi %stack.1, 1, $noreg, 22, $noreg, 8 :: (volatile store 2 into %ir.amx.tmm.0.shape.col12)
-     ; CHECK: PLDTILECFGV %stack.1, 1, $noreg, 0, $noreg
-     ; CHECK: renamable $tmm3 = PTILELOADDV renamable $ax, renamable $si, renamable $r9, 1, renamable $r10, 0, $noreg
-     ; CHECK: PTILESTOREDV renamable $ax, renamable $si, renamable $r11, 1, renamable $r8, 0, $noreg, killed renamable $tmm3
-
-     ; tmm4 --> row_offset = 52, col_offset = 24
-     ; CHECK: MOV8mi %stack.7, 1, $noreg, 52, $noreg, 8 :: (volatile store 1 into %ir.amx.tmm.0.shape.row)
-     ; CHECK: MOV16mr %stack.7, 1, $noreg, 24, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col)
-     ; CHECK: PLDTILECFGV %stack.7, 1, $noreg, 0, $noreg
-     ; CHECK: renamable $tmm4 = PTILELOADDV renamable $si, renamable $cx, killed renamable $r9, 1, killed renamable $r10, 0, $noreg
-     ; CHECK: PTILESTOREDV killed renamable $si, renamable $cx, renamable $rdi, 1, killed renamable $r8, 0, $noreg, killed renamable $tmm4
-
-     ; tmm4 --> row_offset = 53, col_offset = 26
-     ; CHECK: MOV8mr %stack.0, 1, $noreg, 53, $noreg, killed renamable $dil :: (volatile store 1 into %ir.amx.tmm.0.shape.row13)
-     ; CHECK: MOV16mr %stack.0, 1, $noreg, 26, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col14)
-     ; CHECK: PLDTILECFGV killed renamable $rsi, 1, $noreg, 0, $noreg
-     ; CHECK: renamable $tmm5 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $rsi, 1, killed renamable $rdi, 0, $noreg
-     ; CHECK: PTILESTOREDV renamable $ax, renamable $cx, renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm5
-
-    $ax = MOV16rm %stack.16, 1, $noreg, 0, $noreg :: (load 2 from %stack.16)
-    $cx = MOV16rm %stack.17, 1, $noreg, 0, $noreg :: (load 2 from %stack.17)
-    $rdx = MOV64rm %stack.15, 1, $noreg, 0, $noreg :: (load 8 from %stack.15)
-    $rdi = MOV64rm %stack.14, 1, $noreg, 0, $noreg :: (load 8 from %stack.14)
-    $r11 = MOV64rm %stack.13, 1, $noreg, 0, $noreg :: (load 8 from %stack.13)
-    renamable $zmm0 = AVX512_512_SET0
-    VMOVDQA64Zmr %stack.1, 1, $noreg, 0, $noreg, renamable $zmm0 :: (store 64 into %ir.1)
-    renamable $sil = COPY renamable $al
-    MOV8mr %stack.1, 1, $noreg, 48, $noreg, killed renamable $sil :: (volatile store 1 into %ir.amx.tmm.0.shape.row11)
-    MOV16mi %stack.1, 1, $noreg, 16, $noreg, 8 :: (volatile store 2 into %ir.amx.tmm.0.shape.col12)
-    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
-    renamable $r9 = MOV32ri64 @buf2
-    renamable $r10 = MOV32ri64 32
-    renamable $si = MOV16ri 8
-    renamable $tmm3 = PTILELOADDV renamable $ax, renamable $si, renamable $r9, 1, renamable $r10, 0, $noreg
-    renamable $r8 = MOV32ri64 64
-    PTILESTOREDV renamable $ax, renamable $si, renamable $r11, 1, renamable $r8, 0, $noreg, killed renamable $tmm3
-    VMOVDQA64Zmr %stack.7, 1, $noreg, 0, $noreg, renamable $zmm0 :: (store 64 into %ir.7)
-    MOV8mi %stack.7, 1, $noreg, 48, $noreg, 8 :: (volatile store 1 into %ir.amx.tmm.0.shape.row)
-    MOV16mr %stack.7, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col)
-    PLDTILECFGV %stack.7, 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
-    renamable $tmm4 = PTILELOADDV renamable $si, renamable $cx, killed renamable $r9, 1, killed renamable $r10, 0, $noreg
-    PTILESTOREDV killed renamable $si, renamable $cx, renamable $rdi, 1, killed renamable $r8, 0, $noreg, killed renamable $tmm4
-    renamable $rsi = LEA64r %stack.0, 1, $noreg, 0, $noreg
-    VMOVDQA64Zmr %stack.0, 1, $noreg, 0, $noreg, killed renamable $zmm0 :: (store 64 into %ir.0)
-    renamable $dil = COPY renamable $al
-    MOV8mr %stack.0, 1, $noreg, 48, $noreg, killed renamable $dil :: (volatile store 1 into %ir.amx.tmm.0.shape.row13)
-    MOV16mr %stack.0, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col14)
-    PLDTILECFGV killed renamable $rsi, 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
-    renamable $rsi = MOV32ri64 @buf2
-    renamable $rdi = MOV32ri64 32
-    renamable $tmm5 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $rsi, 1, killed renamable $rdi, 0, $noreg
-    renamable $rsi = MOV32ri64 64
-    PTILESTOREDV renamable $ax, renamable $cx, renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm5
-
-  bb.3.if.end:
-     ; CHECK-LABEL: bb.3.if.end
-     ; tmm0 --> row_offset = 48, col_offset = 16
-     ; tmm1 --> row_offset = 49, col_offset = 18
-     ; tmm2 --> row_offset = 50, col_offset = 20
-     ; CHECK: MOV8mr %stack.4, 1, $noreg, 48, $noreg, renamable $sil :: (volatile store 1 into %ir.amx.tmm.0.shape.row5)
-     ; CHECK: MOV16mr %stack.4, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col6)
-     ; CHECK: MOV8mr %stack.4, 1, $noreg, 49, $noreg, renamable $sil :: (volatile store 1 into %ir.amx.tmm.1.shape.row)
-     ; CHECK: MOV16mi %stack.4, 1, $noreg, 18, $noreg, 8 :: (volatile store 2 into %ir.amx.tmm.1.shape.col)
-     ; CHECK: MOV8mi %stack.4, 1, $noreg, 50, $noreg, 8 :: (volatile store 1 into %ir.amx.tmm.2.shape.row)
-     ; CHECK: MOV16mr %stack.4, 1, $noreg, 20, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.2.shape.col)
-     ; CHECK: MOV8mr %stack.4, 1, $noreg, 48, $noreg, killed renamable $sil :: (volatile store 1 into %ir.amx.tmm.3.shape.row)
-     ; CHECK: MOV16mr %stack.4, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.3.shape.col)
-     ; CHECK: PLDTILECFGV %stack.4, 1, $noreg, 0, $noreg, implicit-def dead $tmm0
-     ; CHECK: renamable $tmm1 = PTILELOADDV renamable $ax, renamable $di, killed renamable $r10, 1, renamable $rsi, 0, $noreg
-     ; CHECK: renamable $tmm2 = PTILELOADDV renamable $di, renamable $cx, killed renamable $r9, 1, renamable $rsi, 0, $noreg
-     ; CHECK: renamable $tmm0 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $r8, 1, renamable $rsi, 0, $noreg
-     ; CHECK: renamable $tmm0 = PTDPBSSDV renamable $ax, renamable $cx, killed renamable $di, renamable $tmm0, killed renamable $tmm1, killed renamable $tmm2
-     ; CHECK: PTILESTOREDV renamable $ax, renamable $cx, renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm0
-
-     ; tmm6 --> row_offset = 54, col_offset = 28
-     ; CHECK: MOV8mr %stack.5, 1, $noreg, 54, $noreg, killed renamable $dil :: (volatile store 1 into %ir.amx.tmm.0.shape.row3)
-     ; CHECK: MOV16mr %stack.5, 1, $noreg, 28, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col4)
-     ; CHECK: PLDTILECFGV killed renamable $rsi, 1, $noreg, 0, $noreg
-     ; CHECK: renamable $tmm6 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $rdx, 1, killed renamable $rsi, 0, $noreg
-     ; CHECK: PTILESTOREDV killed renamable $ax, killed renamable $cx, killed renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm6
-
-    $ax = MOV16rm %stack.16, 1, $noreg, 0, $noreg :: (load 2 from %stack.16)
-    $cx = MOV16rm %stack.17, 1, $noreg, 0, $noreg :: (load 2 from %stack.17)
-    $rdx = MOV64rm %stack.12, 1, $noreg, 0, $noreg :: (load 8 from %stack.12)
-    $r8 = MOV64rm %stack.15, 1, $noreg, 0, $noreg :: (load 8 from %stack.15)
-    $r9 = MOV64rm %stack.14, 1, $noreg, 0, $noreg :: (load 8 from %stack.14)
-    $r10 = MOV64rm %stack.13, 1, $noreg, 0, $noreg :: (load 8 from %stack.13)
-    renamable $zmm0 = AVX512_512_SET0
-    VMOVDQA64Zmr %stack.4, 1, $noreg, 0, $noreg, renamable $zmm0 :: (store 64 into %ir.4)
-    renamable $sil = COPY renamable $al
-    MOV8mr %stack.4, 1, $noreg, 48, $noreg, renamable $sil :: (volatile store 1 into %ir.amx.tmm.0.shape.row5)
-    MOV16mr %stack.4, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col6)
-    MOV8mr %stack.4, 1, $noreg, 49, $noreg, renamable $sil :: (volatile store 1 into %ir.amx.tmm.1.shape.row)
-    MOV16mi %stack.4, 1, $noreg, 18, $noreg, 8 :: (volatile store 2 into %ir.amx.tmm.1.shape.col)
-    MOV8mi %stack.4, 1, $noreg, 50, $noreg, 8 :: (volatile store 1 into %ir.amx.tmm.2.shape.row)
-    MOV16mr %stack.4, 1, $noreg, 20, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.2.shape.col)
-    MOV8mr %stack.4, 1, $noreg, 51, $noreg, killed renamable $sil :: (volatile store 1 into %ir.amx.tmm.3.shape.row)
-    MOV16mr %stack.4, 1, $noreg, 22, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.3.shape.col)
-    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
-    renamable $rsi = MOV32ri64 64
-    renamable $di = MOV16ri 8
-    renamable $tmm1 = PTILELOADDV renamable $ax, renamable $di, killed renamable $r10, 1, renamable $rsi, 0, $noreg
-    renamable $tmm2 = PTILELOADDV renamable $di, renamable $cx, killed renamable $r9, 1, renamable $rsi, 0, $noreg
-    renamable $tmm0 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $r8, 1, renamable $rsi, 0, $noreg
-    renamable $tmm0 = PTDPBSSDV renamable $ax, renamable $cx, killed renamable $di, renamable $tmm0, killed renamable $tmm1, killed renamable $tmm2
-    PTILESTOREDV renamable $ax, renamable $cx, renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm0
-    renamable $rsi = LEA64r %stack.5, 1, $noreg, 0, $noreg
-    VMOVDQA64Zmr %stack.5, 1, $noreg, 0, $noreg, killed renamable $zmm0 :: (store 64 into %ir.5)
-    renamable $dil = COPY renamable $al
-    MOV8mr %stack.5, 1, $noreg, 48, $noreg, killed renamable $dil :: (volatile store 1 into %ir.amx.tmm.0.shape.row3)
-    MOV16mr %stack.5, 1, $noreg, 16, $noreg, renamable $cx :: (volatile store 2 into %ir.amx.tmm.0.shape.col4)
-    PLDTILECFGV killed renamable $rsi, 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
-    renamable $rsi = MOV32ri64 64
-    renamable $tmm6 = PTILELOADDV renamable $ax, renamable $cx, killed renamable $rdx, 1, killed renamable $rsi, 0, $noreg
-    renamable $rdx = MOV32ri64 @buf
-    renamable $rsi = MOV32ri64 32
-    PTILESTOREDV killed renamable $ax, killed renamable $cx, killed renamable $rdx, 1, killed renamable $rsi, 0, $noreg, killed renamable $tmm6
-    RETQ
-
-...


        


More information about the llvm-commits mailing list