153 changes: 76 additions & 77 deletions llvm/lib/Target/X86/X86SchedIceLake.td

Large diffs are not rendered by default.

8 changes: 0 additions & 8 deletions llvm/lib/Target/X86/X86ScheduleZnver1.td
Original file line number Diff line number Diff line change
Expand Up @@ -1315,14 +1315,6 @@ def : SchedAlias<WriteDPPD, ZnWriteMicrocoded>;
// x,m,i.
def : SchedAlias<WriteDPPDLd, ZnWriteMicrocoded>;

//-- Other instructions --//

// VZEROUPPER.
def : InstRW<[WriteMicrocoded], (instrs VZEROUPPER)>;

// VZEROALL.
def : InstRW<[WriteMicrocoded], (instrs VZEROALL)>;

///////////////////////////////////////////////////////////////////////////////
// Dependency breaking instructions.
///////////////////////////////////////////////////////////////////////////////
Expand Down
3 changes: 0 additions & 3 deletions llvm/lib/Target/X86/X86ScheduleZnver2.td
Original file line number Diff line number Diff line change
Expand Up @@ -1321,9 +1321,6 @@ def : SchedAlias<WriteDPPDLd, Zn2WriteMicrocoded>;
// VZEROUPPER.
def : InstRW<[WriteALU], (instrs VZEROUPPER)>;

// VZEROALL.
def : InstRW<[WriteMicrocoded], (instrs VZEROALL)>;

///////////////////////////////////////////////////////////////////////////////
// Dependency breaking instructions.
///////////////////////////////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@
# ALL: Iterations: 100
# ALL-NEXT: Instructions: 1000

# NOALIAS-NEXT: Total Cycles: 1009
# NOALIAS-NEXT: Total Cycles: 509
# YESALIAS-NEXT: Total Cycles: 7003

# ALL-NEXT: Total uOps: 3000

# ALL: Dispatch Width: 6

# NOALIAS-NEXT: uOps Per Cycle: 2.97
# NOALIAS-NEXT: IPC: 0.99
# NOALIAS-NEXT: uOps Per Cycle: 5.89
# NOALIAS-NEXT: IPC: 1.96

# YESALIAS-NEXT: uOps Per Cycle: 0.43
# YESALIAS-NEXT: IPC: 0.14

# ALL-NEXT: Block RThroughput: 10.0
# ALL-NEXT: Block RThroughput: 5.0

# ALL: Instruction Info:
# ALL-NEXT: [1]: #uOps
Expand All @@ -40,16 +40,16 @@
# ALL-NEXT: [6]: HasSideEffects (U)

# ALL: [1] [2] [3] [4] [5] [6] Instructions:
# ALL-NEXT: 3 7 1.00 * * addq $44, 64(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 128(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 192(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 256(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 320(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 384(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 448(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 512(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 576(%r14)
# ALL-NEXT: 3 7 1.00 * * addq $44, 640(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 64(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 128(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 192(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 256(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 320(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 384(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 448(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 512(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 576(%r14)
# ALL-NEXT: 3 7 0.50 * * addq $44, 640(%r14)

# ALL: Resources:
# ALL-NEXT: [0] - ICXDivider
Expand All @@ -67,39 +67,39 @@

# ALL: Resource pressure per iteration:
# ALL-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# ALL-NEXT: - - 2.50 2.50 6.66 6.67 10.00 2.50 2.50 6.67 - -
# ALL-NEXT: - - 2.50 2.50 5.00 5.00 5.00 2.50 2.50 5.00 5.00 5.00

# ALL: Resource pressure by instruction:
# ALL-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
# ALL-NEXT: - - - 0.50 0.66 0.67 1.00 - 0.50 0.67 - - addq $44, 64(%r14)
# ALL-NEXT: - - 0.50 - 0.67 0.66 1.00 0.50 - 0.67 - - addq $44, 128(%r14)
# ALL-NEXT: - - - 0.50 0.67 0.67 1.00 - 0.50 0.66 - - addq $44, 192(%r14)
# ALL-NEXT: - - 0.50 - 0.66 0.67 1.00 0.50 - 0.67 - - addq $44, 256(%r14)
# ALL-NEXT: - - - 0.50 0.67 0.66 1.00 - 0.50 0.67 - - addq $44, 320(%r14)
# ALL-NEXT: - - 0.50 - 0.67 0.67 1.00 0.50 - 0.66 - - addq $44, 384(%r14)
# ALL-NEXT: - - - 0.50 0.66 0.67 1.00 - 0.50 0.67 - - addq $44, 448(%r14)
# ALL-NEXT: - - 0.50 - 0.67 0.66 1.00 0.50 - 0.67 - - addq $44, 512(%r14)
# ALL-NEXT: - - - 0.50 0.67 0.67 1.00 - 0.50 0.66 - - addq $44, 576(%r14)
# ALL-NEXT: - - 0.50 - 0.66 0.67 1.00 0.50 - 0.67 - - addq $44, 640(%r14)
# ALL-NEXT: - - - 0.50 - 1.00 - - 0.50 - 1.00 1.00 addq $44, 64(%r14)
# ALL-NEXT: - - 0.50 - 1.00 - 1.00 0.50 - 1.00 - - addq $44, 128(%r14)
# ALL-NEXT: - - - 0.50 - 1.00 - - 0.50 - 1.00 1.00 addq $44, 192(%r14)
# ALL-NEXT: - - 0.50 - 1.00 - 1.00 0.50 - 1.00 - - addq $44, 256(%r14)
# ALL-NEXT: - - - 0.50 - 1.00 - - 0.50 - 1.00 1.00 addq $44, 320(%r14)
# ALL-NEXT: - - 0.50 - 1.00 - 1.00 0.50 - 1.00 - - addq $44, 384(%r14)
# ALL-NEXT: - - - 0.50 - 1.00 - - 0.50 - 1.00 1.00 addq $44, 448(%r14)
# ALL-NEXT: - - 0.50 - 1.00 - 1.00 0.50 - 1.00 - - addq $44, 512(%r14)
# ALL-NEXT: - - - 0.50 - 1.00 - - 0.50 - 1.00 1.00 addq $44, 576(%r14)
# ALL-NEXT: - - 0.50 - 1.00 - 1.00 0.50 - 1.00 - - addq $44, 640(%r14)

# ALL: Timeline view:

# NOALIAS-NEXT: 012345678
# NOALIAS-NEXT: 0123
# NOALIAS-NEXT: Index 0123456789

# YESALIAS-NEXT: 0123456789 0123456789 0123456789 012
# YESALIAS-NEXT: Index 0123456789 0123456789 0123456789 0123456789

# NOALIAS: [0,0] DeeeeeeeER. . . addq $44, 64(%r14)
# NOALIAS-NEXT: [0,1] D=eeeeeeeER . . addq $44, 128(%r14)
# NOALIAS-NEXT: [0,2] .D=eeeeeeeER . . addq $44, 192(%r14)
# NOALIAS-NEXT: [0,3] .D==eeeeeeeER . . addq $44, 256(%r14)
# NOALIAS-NEXT: [0,4] . D==eeeeeeeER . . addq $44, 320(%r14)
# NOALIAS-NEXT: [0,5] . D===eeeeeeeER. . addq $44, 384(%r14)
# NOALIAS-NEXT: [0,6] . D===eeeeeeeER . addq $44, 448(%r14)
# NOALIAS-NEXT: [0,7] . D====eeeeeeeER . addq $44, 512(%r14)
# NOALIAS-NEXT: [0,8] . D====eeeeeeeER. addq $44, 576(%r14)
# NOALIAS-NEXT: [0,9] . D=====eeeeeeeER addq $44, 640(%r14)
# NOALIAS: [0,0] DeeeeeeeER. . addq $44, 64(%r14)
# NOALIAS-NEXT: [0,1] DeeeeeeeER. . addq $44, 128(%r14)
# NOALIAS-NEXT: [0,2] .DeeeeeeeER . addq $44, 192(%r14)
# NOALIAS-NEXT: [0,3] .DeeeeeeeER . addq $44, 256(%r14)
# NOALIAS-NEXT: [0,4] . DeeeeeeeER . addq $44, 320(%r14)
# NOALIAS-NEXT: [0,5] . DeeeeeeeER . addq $44, 384(%r14)
# NOALIAS-NEXT: [0,6] . DeeeeeeeER. addq $44, 448(%r14)
# NOALIAS-NEXT: [0,7] . DeeeeeeeER. addq $44, 512(%r14)
# NOALIAS-NEXT: [0,8] . DeeeeeeeER addq $44, 576(%r14)
# NOALIAS-NEXT: [0,9] . DeeeeeeeER addq $44, 640(%r14)

# YESALIAS: [0,0] DeeeeeeeER. . . . . . . . . . . . . . addq $44, 64(%r14)
# YESALIAS-NEXT: [0,1] D=======eeeeeeeER . . . . . . . . . . . . addq $44, 128(%r14)
Expand All @@ -121,16 +121,16 @@
# ALL: [0] [1] [2] [3]
# ALL-NEXT: 0. 1 1.0 1.0 0.0 addq $44, 64(%r14)

# NOALIAS-NEXT: 1. 1 2.0 1.0 0.0 addq $44, 128(%r14)
# NOALIAS-NEXT: 2. 1 2.0 1.0 0.0 addq $44, 192(%r14)
# NOALIAS-NEXT: 3. 1 3.0 1.0 0.0 addq $44, 256(%r14)
# NOALIAS-NEXT: 4. 1 3.0 1.0 0.0 addq $44, 320(%r14)
# NOALIAS-NEXT: 5. 1 4.0 1.0 0.0 addq $44, 384(%r14)
# NOALIAS-NEXT: 6. 1 4.0 1.0 0.0 addq $44, 448(%r14)
# NOALIAS-NEXT: 7. 1 5.0 1.0 0.0 addq $44, 512(%r14)
# NOALIAS-NEXT: 8. 1 5.0 1.0 0.0 addq $44, 576(%r14)
# NOALIAS-NEXT: 9. 1 6.0 1.0 0.0 addq $44, 640(%r14)
# NOALIAS-NEXT: 1 3.5 1.0 0.0 <total>
# NOALIAS-NEXT: 1. 1 1.0 0.0 0.0 addq $44, 128(%r14)
# NOALIAS-NEXT: 2. 1 1.0 1.0 0.0 addq $44, 192(%r14)
# NOALIAS-NEXT: 3. 1 1.0 0.0 0.0 addq $44, 256(%r14)
# NOALIAS-NEXT: 4. 1 1.0 1.0 0.0 addq $44, 320(%r14)
# NOALIAS-NEXT: 5. 1 1.0 0.0 0.0 addq $44, 384(%r14)
# NOALIAS-NEXT: 6. 1 1.0 1.0 0.0 addq $44, 448(%r14)
# NOALIAS-NEXT: 7. 1 1.0 0.0 0.0 addq $44, 512(%r14)
# NOALIAS-NEXT: 8. 1 1.0 1.0 0.0 addq $44, 576(%r14)
# NOALIAS-NEXT: 9. 1 1.0 0.0 0.0 addq $44, 640(%r14)
# NOALIAS-NEXT: 1 1.0 0.5 0.0 <total>

# YESALIAS-NEXT: 1. 1 8.0 0.0 0.0 addq $44, 128(%r14)
# YESALIAS-NEXT: 2. 1 14.0 0.0 0.0 addq $44, 192(%r14)
Expand Down
134 changes: 67 additions & 67 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0
# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0
# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: 5 18 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 5 20 2.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: 5 20 2.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
Expand Down Expand Up @@ -778,15 +778,15 @@ vpxor (%rax), %ymm1, %ymm2

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 110.33 102.33 99.67 99.67 1.00 151.33 - 1.67 - -
# CHECK-NEXT: - - 110.33 102.33 98.00 98.00 2.50 151.33 - 2.50 2.50 2.50

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - - - vbroadcastsd %xmm0, %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - - - vbroadcastss %xmm0, %ymm0
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - 1.33 0.33 2.00 2.00 - 1.33 - - - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT: - - 1.33 0.33 2.00 2.00 - 1.33 - - - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2
Expand Down Expand Up @@ -916,12 +916,12 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpmaskmovd (%rax), %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 - - vpmaskmovd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 - - vpmaskmovd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: - - 1.00 - - - 0.50 - - 0.50 0.50 0.50 vpmaskmovd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - 1.00 - - - 0.50 - - 0.50 0.50 0.50 vpmaskmovd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpmaskmovq (%rax), %xmm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpmaskmovq (%rax), %ymm0, %ymm2
# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 - - vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 - - vpmaskmovq %ymm0, %ymm1, (%rax)
# CHECK-NEXT: - - 1.00 - - - 0.50 - - 0.50 0.50 0.50 vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - 1.00 - - - 0.50 - - 0.50 0.50 0.50 vpmaskmovq %ymm0, %ymm1, (%rax)
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vpmaxsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2
Expand Down
66 changes: 33 additions & 33 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
Original file line number Diff line number Diff line change
Expand Up @@ -619,12 +619,12 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 1.00 kandnq %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kmovd %k0, %k2
# CHECK-NEXT: 3 7 1.00 * kmovd (%rax), %k2
# CHECK-NEXT: 2 1 1.00 * kmovd %k0, (%rax)
# CHECK-NEXT: 2 1 0.50 * kmovd %k0, (%rax)
# CHECK-NEXT: 1 1 1.00 kmovd %eax, %k2
# CHECK-NEXT: 1 3 1.00 kmovd %k0, %eax
# CHECK-NEXT: 1 1 1.00 kmovq %k0, %k2
# CHECK-NEXT: 3 7 1.00 * kmovq (%rax), %k2
# CHECK-NEXT: 2 1 1.00 * kmovq %k0, (%rax)
# CHECK-NEXT: 2 1 0.50 * kmovq %k0, (%rax)
# CHECK-NEXT: 1 1 1.00 kmovq %rax, %k2
# CHECK-NEXT: 1 3 1.00 kmovq %k0, %rax
# CHECK-NEXT: 1 1 1.00 knotd %k0, %k2
Expand Down Expand Up @@ -653,18 +653,18 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19
# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax)
# CHECK-NEXT: 5 2 1.00 * vmovdqu8 %zmm16, (%rax)
# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19 {%k1}
# CHECK-NEXT: 5 2 2.00 * vmovdqu8 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 5 2 1.00 * vmovdqu8 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.50 vmovdqu8 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vmovdqu16 %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19
# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %zmm16, (%rax)
# CHECK-NEXT: 2 1 0.50 * vmovdqu16 %zmm16, (%rax)
# CHECK-NEXT: 1 1 0.50 vmovdqu16 %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vmovdqu16 %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.50 vmovdqu16 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpabsb %zmm16, %zmm19
Expand Down Expand Up @@ -1128,7 +1128,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 239.50 17.50 115.33 115.33 16.00 295.50 0.50 5.33 - -
# CHECK-NEXT: - - 239.50 17.50 110.00 110.00 8.00 295.50 0.50 8.00 8.00 8.00

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand All @@ -1140,12 +1140,12 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 1.00 - - - - - - - - - kandnq %k0, %k1, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovd %k0, %k2
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 1.25 0.25 - - - kmovd (%rax), %k2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - kmovd %k0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 kmovd %k0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - kmovd %eax, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovd %k0, %eax
# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovq %k0, %k2
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 1.25 0.25 - - - kmovq (%rax), %k2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - kmovq %k0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 kmovq %k0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - kmovq %rax, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovq %k0, %rax
# CHECK-NEXT: - - 1.00 - - - - - - - - - knotd %k0, %k2
Expand Down Expand Up @@ -1174,18 +1174,18 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovdqu8 %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %zmm19
# CHECK-NEXT: - - - 0.50 0.67 0.67 2.00 0.50 - 0.67 - - vmovdqu8 %zmm16, (%rax)
# CHECK-NEXT: - - - 0.50 - - 1.00 0.50 - 1.00 1.00 1.00 vmovdqu8 %zmm16, (%rax)
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovdqu8 %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 0.67 0.67 2.00 0.50 - 0.67 - - vmovdqu8 %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - 0.50 - - 1.00 0.50 - 1.00 1.00 1.00 vmovdqu8 %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovdqu8 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovdqu16 %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %zmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu16 %zmm16, (%rax)
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovdqu16 %zmm16, %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu16 %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovdqu16 %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpabsb %zmm16, %zmm19
Expand Down Expand Up @@ -1341,9 +1341,9 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpeqw %zmm0, %zmm1, %k2 {%k3}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcmpeqw (%rax), %zmm1, %k2 {%k3}
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vpextrb $0, %xmm16, %eax
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - vpextrb $0, %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpextrb $0, %xmm16, (%rax)
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vpextrw $0, %xmm16, %eax
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - vpextrw $0, %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpextrw $0, %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpinsrb $0, %eax, %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpinsrb $0, (%rax), %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpinsrw $0, %eax, %xmm16, %xmm19
Expand Down Expand Up @@ -1437,17 +1437,17 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovsxbw %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovsxbw (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovswb %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovuswb %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovwb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovwb %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovzxbw (%rax), %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovzxbw %ymm16, %zmm19 {%k1}
Expand Down
58 changes: 29 additions & 29 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
Original file line number Diff line number Diff line change
Expand Up @@ -1106,34 +1106,34 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19
# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %xmm16, (%rax)
# CHECK-NEXT: 2 1 0.50 * vmovdqu8 %xmm16, (%rax)
# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %xmm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vmovdqu8 %xmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.33 vmovdqu8 %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vmovdqu8 (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19
# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %ymm16, (%rax)
# CHECK-NEXT: 2 1 0.50 * vmovdqu8 %ymm16, (%rax)
# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vmovdqu8 %ymm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vmovdqu8 %ymm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.33 vmovdqu8 %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovdqu8 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19
# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19
# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %xmm16, (%rax)
# CHECK-NEXT: 2 1 0.50 * vmovdqu16 %xmm16, (%rax)
# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %xmm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vmovdqu16 %xmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.33 vmovdqu16 %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vmovdqu16 (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19
# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19
# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %ymm16, (%rax)
# CHECK-NEXT: 2 1 0.50 * vmovdqu16 %ymm16, (%rax)
# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vmovdqu16 %ymm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vmovdqu16 %ymm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.33 vmovdqu16 %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpabsb %xmm16, %xmm19
Expand Down Expand Up @@ -2025,7 +2025,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 255.33 303.33 222.67 222.67 20.00 451.33 - 6.67 - -
# CHECK-NEXT: - - 255.33 303.33 216.00 216.00 10.00 451.33 - 10.00 10.00 10.00

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand All @@ -2043,34 +2043,34 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vdbpsadbw $0, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %xmm16, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu8 %xmm16, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu8 %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %ymm16, %ymm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %ymm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu8 %ymm16, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu8 %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu8 %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu8 %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu8 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %xmm16, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu16 %xmm16, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu16 %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %ymm16, %ymm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %ymm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu16 %ymm16, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %ymm16, %ymm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vmovdqu16 %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovdqu16 %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vmovdqu16 %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovdqu16 (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vpabsb %xmm16, %xmm19
Expand Down Expand Up @@ -2554,29 +2554,29 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpmovsxbw (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovswb %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovswb %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovswb %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovuswb %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovuswb %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovuswb %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovwb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovwb %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %xmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovwb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 2.00 - 0.33 - - vpmovwb %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 2.00 - 0.50 0.50 0.50 vpmovwb %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - vpmovzxbw (%rax), %xmm19
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpmovzxbw %xmm16, %xmm19 {%k1}
Expand Down
42 changes: 21 additions & 21 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 1.00 kandnb %k0, %k1, %k2
# CHECK-NEXT: 1 1 1.00 kmovb %k0, %k2
# CHECK-NEXT: 3 7 1.00 * kmovb (%rax), %k2
# CHECK-NEXT: 2 1 1.00 * kmovb %k0, (%rax)
# CHECK-NEXT: 2 1 0.50 * kmovb %k0, (%rax)
# CHECK-NEXT: 1 1 1.00 kmovb %eax, %k2
# CHECK-NEXT: 1 3 1.00 kmovb %k0, %eax
# CHECK-NEXT: 1 1 1.00 knotb %k0, %k2
Expand Down Expand Up @@ -654,24 +654,24 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 3 14 1.00 * vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19
# CHECK-NEXT: 2 1 1.00 vextractf32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: 2 1 0.50 vextractf32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vextractf32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vextractf32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19
# CHECK-NEXT: 2 1 1.00 vextractf64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: 2 1 0.50 vextractf64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vextractf64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vextractf64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19
# CHECK-NEXT: 2 1 1.00 vextracti32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: 2 1 0.50 vextracti32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vextracti32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vextracti32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19
# CHECK-NEXT: 2 1 1.00 vextracti64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: 2 1 0.50 vextracti64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vextracti64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vextracti64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: 2 11 1.00 * vfpclasspdz $171, (%rax), %k1
Expand Down Expand Up @@ -872,7 +872,7 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 197.25 73.25 105.67 105.67 11.00 209.25 0.25 3.67 - -
# CHECK-NEXT: - - 197.25 73.25 102.00 102.00 5.50 209.25 0.25 5.50 5.50 5.50

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand All @@ -882,7 +882,7 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 1.00 - - - - - - - - - kandnb %k0, %k1, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovb %k0, %k2
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 1.25 0.25 - - - kmovb (%rax), %k2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - kmovb %k0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 kmovb %k0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - kmovb %eax, %k2
# CHECK-NEXT: - - 1.00 - - - - - - - - - kmovb %k0, %eax
# CHECK-NEXT: - - 1.00 - - - - - - - - - knotb %k0, %k2
Expand Down Expand Up @@ -1063,24 +1063,24 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtuqq2ps (%rax){1to8}, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf32x8 $1, %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextractf32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextractf32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf32x8 $1, %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %zmm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextractf64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextractf64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti32x8 $1, %zmm16, %ymm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextracti32x8 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextracti32x8 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti32x8 $1, %zmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %zmm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextracti64x2 $1, %zmm16, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextracti64x2 $1, %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %zmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %zmm16, %k1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdz $171, (%rax), %k1
Expand Down Expand Up @@ -1145,9 +1145,9 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vpextrd $1, %xmm16, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - vpextrd $1, %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpextrd $1, %xmm16, (%rax)
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vpextrq $1, %xmm16, %rcx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - vpextrq $1, %xmm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 vpextrq $1, %xmm16, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpinsrd $1, %ecx, %xmm16, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpinsrd $1, (%rax), %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpinsrq $1, %rcx, %xmm16, %xmm19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -912,14 +912,14 @@ vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 0.50 * vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19
# CHECK-NEXT: 2 1 1.00 vextractf64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: 2 1 0.50 vextractf64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vextractf64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vextractf64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19
# CHECK-NEXT: 2 1 1.00 vextracti64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: 2 1 0.50 vextracti64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 2 1 1.00 * vextracti64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: 2 1 0.50 * vextracti64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vfpclasspd $171, %xmm16, %k1
# CHECK-NEXT: 2 10 1.00 * vfpclasspdx $171, (%rax), %k1
Expand Down Expand Up @@ -1138,7 +1138,7 @@ vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 240.33 236.33 166.83 166.83 4.00 137.33 - 1.33 - -
# CHECK-NEXT: - - 240.33 236.33 165.50 165.50 2.00 137.33 - 2.00 2.00 2.00

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand Down Expand Up @@ -1455,14 +1455,14 @@ vxorps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2psx (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtuqq2ps (%rax){1to4}, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextractf64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextractf64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextractf64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextractf64x2 $1, %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %ymm16, %xmm19
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextracti64x2 $1, %ymm16, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - vextracti64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vextracti64x2 $1, %ymm16, (%rax) {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vextracti64x2 $1, %ymm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vfpclasspd $171, %xmm16, %k1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vfpclasspdx $171, (%rax), %k1
Expand Down
130 changes: 65 additions & 65 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-cmpxchg.s
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ lock cmpxchg16b (%rax)

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 17.50 7.50 3.33 3.33 4.00 15.50 13.50 1.33 - -
# CHECK-NEXT: - - 17.50 7.50 2.00 2.00 2.00 15.50 13.50 2.00 2.00 2.00

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
# CHECK-NEXT: - - 3.25 2.25 0.83 0.83 1.00 2.25 3.25 0.33 - - cmpxchg8b (%rax)
# CHECK-NEXT: - - 5.50 1.50 0.83 0.83 1.00 5.50 3.50 0.33 - - cmpxchg16b (%rax)
# CHECK-NEXT: - - 3.25 2.25 0.83 0.83 1.00 2.25 3.25 0.33 - - lock cmpxchg8b (%rax)
# CHECK-NEXT: - - 5.50 1.50 0.83 0.83 1.00 5.50 3.50 0.33 - - lock cmpxchg16b (%rax)
# CHECK-NEXT: - - 3.25 2.25 0.50 0.50 0.50 2.25 3.25 0.50 0.50 0.50 cmpxchg8b (%rax)
# CHECK-NEXT: - - 5.50 1.50 0.50 0.50 0.50 5.50 3.50 0.50 0.50 0.50 cmpxchg16b (%rax)
# CHECK-NEXT: - - 3.25 2.25 0.50 0.50 0.50 2.25 3.25 0.50 0.50 0.50 lock cmpxchg8b (%rax)
# CHECK-NEXT: - - 5.50 1.50 0.50 0.50 0.50 5.50 3.50 0.50 0.50 0.50 lock cmpxchg16b (%rax)
6 changes: 3 additions & 3 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-f16c.s
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ vcvtps2ph $0, %ymm0, (%rax)

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 4.00 4.00 1.67 1.67 2.00 6.00 - 0.67 - -
# CHECK-NEXT: - - 4.00 4.00 1.00 1.00 1.00 6.00 - 1.00 1.00 1.00

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand All @@ -56,6 +56,6 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtph2ps %xmm0, %ymm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtph2ps (%rax), %ymm2
# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2ph $0, %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.33 0.33 1.00 1.00 - 0.33 - - vcvtps2ph $0, %xmm0, (%rax)
# CHECK-NEXT: - - 0.50 0.50 - - 0.50 1.00 - 0.50 0.50 0.50 vcvtps2ph $0, %xmm0, (%rax)
# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2ph $0, %ymm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.33 0.33 1.00 1.00 - 0.33 - - vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: - - 0.50 0.50 - - 0.50 1.00 - 0.50 0.50 0.50 vcvtps2ph $0, %ymm0, (%rax)
10 changes: 5 additions & 5 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-mmx.s
Original file line number Diff line number Diff line change
Expand Up @@ -168,11 +168,11 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movq %mm0, (%rax)
# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2
# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2
# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2
Expand Down Expand Up @@ -286,19 +286,19 @@ pxor (%rax), %mm2

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 75.50 1.00 23.67 23.67 2.00 41.50 1.00 0.67 - -
# CHECK-NEXT: - - 75.50 1.00 23.00 23.00 1.00 41.50 1.00 1.00 1.00 1.00

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
# CHECK-NEXT: - - 4.75 0.25 - - - 4.75 0.25 - - - emms
# CHECK-NEXT: - - - - - - - 1.00 - - - - movd %eax, %mm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movd (%rax), %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - - - movd %mm0, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movd %mm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movd %mm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - movq %rax, %mm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movq (%rax), %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - - - movq %mm0, %rcx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movq %mm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movq %mm0, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - - - packsswb %mm0, %mm2
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - - - packsswb (%rax), %mm2
# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - - - packssdw %mm0, %mm2
Expand Down
14 changes: 7 additions & 7 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-movbe.s
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ movbe (%rax), %rcx
# CHECK-NEXT: [6]: HasSideEffects (U)

# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 3 2 1.00 * movbew %cx, (%rax)
# CHECK-NEXT: 3 2 0.50 * movbew %cx, (%rax)
# CHECK-NEXT: 2 6 0.50 * movbew (%rax), %cx
# CHECK-NEXT: 3 2 1.00 * movbel %ecx, (%rax)
# CHECK-NEXT: 3 2 0.50 * movbel %ecx, (%rax)
# CHECK-NEXT: 2 6 0.50 * movbel (%rax), %ecx
# CHECK-NEXT: 3 2 1.00 * movbeq %rcx, (%rax)
# CHECK-NEXT: 3 2 0.50 * movbeq %rcx, (%rax)
# CHECK-NEXT: 2 6 0.50 * movbeq (%rax), %rcx

# CHECK: Resources:
Expand All @@ -42,13 +42,13 @@ movbe (%rax), %rcx

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - - 3.00 2.50 2.50 3.00 3.00 - 1.00 - -
# CHECK-NEXT: - - - 3.00 1.50 1.50 1.50 3.00 - 1.50 1.50 1.50

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
# CHECK-NEXT: - - - 0.50 0.33 0.33 1.00 0.50 - 0.33 - - movbew %cx, (%rax)
# CHECK-NEXT: - - - 0.50 - - 0.50 0.50 - 0.50 0.50 0.50 movbew %cx, (%rax)
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - movbew (%rax), %cx
# CHECK-NEXT: - - - 0.50 0.33 0.33 1.00 0.50 - 0.33 - - movbel %ecx, (%rax)
# CHECK-NEXT: - - - 0.50 - - 0.50 0.50 - 0.50 0.50 0.50 movbel %ecx, (%rax)
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - movbel (%rax), %ecx
# CHECK-NEXT: - - - 0.50 0.33 0.33 1.00 0.50 - 0.33 - - movbeq %rcx, (%rax)
# CHECK-NEXT: - - - 0.50 - - 0.50 0.50 - 0.50 0.50 0.50 movbeq %rcx, (%rax)
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - movbeq (%rax), %rcx
36 changes: 18 additions & 18 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s
Original file line number Diff line number Diff line change
Expand Up @@ -241,22 +241,22 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 minss %xmm0, %xmm2
# CHECK-NEXT: 2 9 0.50 * minss (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 movaps %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movaps %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movlps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movntps %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 movups %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movups %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 mulps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2
Expand Down Expand Up @@ -298,7 +298,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2
# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 2 2 0.50 * * U sfence
# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2
Expand Down Expand Up @@ -335,7 +335,7 @@ xorps (%rax), %xmm2

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - 24.00 67.17 29.17 32.00 32.00 8.00 32.17 0.50 3.00 - -
# CHECK-NEXT: - 24.00 66.92 28.92 29.00 29.00 4.50 31.92 0.25 4.50 4.50 4.50

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand Down Expand Up @@ -386,22 +386,22 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - minss %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - minss (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movaps %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movaps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movaps %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movaps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - movhlps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - movlhps %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movhps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movhps %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - movhps (%rax), %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movlps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movlps %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - movlps (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - - - movmskps %xmm0, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movntps %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movntq %mm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movntps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movntq %mm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movss %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movss %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movss %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movss (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movups %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movups %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movups %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movups (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - mulps %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - mulps (%rax), %xmm2
Expand Down Expand Up @@ -443,14 +443,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - rsqrtps (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - - - rsqrtss %xmm0, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - rsqrtss (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 - - sfence
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 sfence
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - shufps $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - shufps $1, (%rax), %xmm2
# CHECK-NEXT: - 3.00 1.00 - - - - - - - - - sqrtps %xmm0, %xmm2
# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - - - sqrtps (%rax), %xmm2
# CHECK-NEXT: - 3.00 1.00 - - - - - - - - - sqrtss %xmm0, %xmm2
# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - - - sqrtss (%rax), %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - stmxcsr (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 stmxcsr (%rax)
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - subps %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - subps (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - subss %xmm0, %xmm2
Expand Down
62 changes: 31 additions & 31 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s
Original file line number Diff line number Diff line change
Expand Up @@ -465,50 +465,50 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 14 4.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2
# CHECK-NEXT: 2 2 0.50 * * U lfence
# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 1 0.50 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2
# CHECK-NEXT: 2 9 0.50 * maxsd (%rax), %xmm2
# CHECK-NEXT: 3 3 0.50 * * U mfence
# CHECK-NEXT: 3 3 1.00 * * U mfence
# CHECK-NEXT: 1 4 0.50 minpd %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * minpd (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 minsd %xmm0, %xmm2
# CHECK-NEXT: 2 9 0.50 * minsd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 movapd %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movapd %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movdqa %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movdqu %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2
# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movhpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movntil %eax, (%rax)
# CHECK-NEXT: 2 1 0.50 * movntiq %rax, (%rax)
# CHECK-NEXT: 2 1 0.50 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx
# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movq %xmm0, (%rax)
# CHECK-NEXT: 2 2 2.00 movq2dq %mm0, %xmm2
# CHECK-NEXT: 1 1 0.33 movsd %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movsd %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 movupd %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax)
# CHECK-NEXT: 2 1 0.50 * movupd %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 mulpd %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2
Expand Down Expand Up @@ -691,7 +691,7 @@ xorpd (%rax), %xmm2

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - 40.00 107.42 99.42 63.50 63.50 14.00 76.92 2.25 5.00 - -
# CHECK-NEXT: - 40.00 106.92 98.92 58.50 58.50 7.50 76.42 1.75 8.00 8.00 7.50

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand Down Expand Up @@ -753,50 +753,50 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - 4.00 1.00 - - - - - - - - - divsd %xmm0, %xmm2
# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - - - divsd (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - - - lfence
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - maxpd %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - maxpd (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - maxsd %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - maxsd (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.33 0.33 - 0.50 0.50 0.33 - - mfence
# CHECK-NEXT: - - - - - - 0.50 - - 1.00 1.00 0.50 mfence
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - minpd %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - minpd (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - minsd %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - minsd (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movapd %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movapd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movapd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movapd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - movd %eax, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - - - movd %xmm0, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movd %xmm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movdqa %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movdqa %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movdqa %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movdqa (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movdqu %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movdqu %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movdqu %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movdqu (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - movdq2q %xmm0, %mm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movhpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movhpd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - movhpd (%rax), %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - movlpd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - - - movmskpd %xmm0, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movntil %eax, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movntiq %rax, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movntpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movntil %eax, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movntiq %rax, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movntpd %xmm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movq %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - movq %rax, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movq (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - - - movq %xmm0, %rcx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 2.00 - - - - movq2dq %mm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movsd %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movsd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movsd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movsd (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - movupd %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 - - movupd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 movupd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movupd (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - mulpd %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - mulpd (%rax), %xmm2
Expand Down
12 changes: 6 additions & 6 deletions llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ roundss $1, (%rax), %xmm2

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 36.67 40.67 23.67 23.67 5.00 54.67 - 1.67 - -
# CHECK-NEXT: - - 36.67 40.67 22.00 22.00 2.50 54.67 - 2.50 2.50 2.50

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand All @@ -285,7 +285,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: - - 1.00 1.00 - - - 2.00 - - - - dpps $22, %xmm0, %xmm2
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 2.00 - - - - dpps $22, (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - extractps $1, %xmm0, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - extractps $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 extractps $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - insertps $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - insertps $1, (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - movntdqa (%rax), %xmm2
Expand All @@ -300,12 +300,12 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - pcmpeqq %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - pcmpeqq (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - pextrb $1, %xmm0, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - pextrb $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 pextrb $1, %xmm0, (%rax)
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - pextrd $1, %xmm0, %ecx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - pextrd $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 pextrd $1, %xmm0, (%rax)
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - pextrq $1, %xmm0, %rcx
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - pextrq $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 - - pextrw $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 pextrq $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 0.50 1.00 - 0.50 0.50 0.50 pextrw $1, %xmm0, (%rax)
# CHECK-NEXT: - - 1.00 - - - - - - - - - phminposuw %xmm0, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - phminposuw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 2.00 - - - - pinsrb $1, %eax, %xmm1
Expand Down
Loading