18db674adSHaohai Wen# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 28db674adSHaohai Wen# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sapphirerapids -instruction-tables < %s | FileCheck %s 38db674adSHaohai Wen 48db674adSHaohai Wenbzhi %eax, %ebx, %ecx 58db674adSHaohai Wenbzhi %eax, (%rbx), %ecx 68db674adSHaohai Wen 78db674adSHaohai Wenbzhi %rax, %rbx, %rcx 88db674adSHaohai Wenbzhi %rax, (%rbx), %rcx 98db674adSHaohai Wen 108db674adSHaohai Wenmulx %eax, %ebx, %ecx 118db674adSHaohai Wenmulx (%rax), %ebx, %ecx 128db674adSHaohai Wen 138db674adSHaohai Wenmulx %rax, %rbx, %rcx 148db674adSHaohai Wenmulx (%rax), %rbx, %rcx 158db674adSHaohai Wen 168db674adSHaohai Wenpdep %eax, %ebx, %ecx 178db674adSHaohai Wenpdep (%rax), %ebx, %ecx 188db674adSHaohai Wen 198db674adSHaohai Wenpdep %rax, %rbx, %rcx 208db674adSHaohai Wenpdep (%rax), %rbx, %rcx 218db674adSHaohai Wen 228db674adSHaohai Wenpext %eax, %ebx, %ecx 238db674adSHaohai Wenpext (%rax), %ebx, %ecx 248db674adSHaohai Wen 258db674adSHaohai Wenpext %rax, %rbx, %rcx 268db674adSHaohai Wenpext (%rax), %rbx, %rcx 278db674adSHaohai Wen 288db674adSHaohai Wenrorx $1, %eax, %ecx 298db674adSHaohai Wenrorx $1, (%rax), %ecx 308db674adSHaohai Wen 318db674adSHaohai Wenrorx $1, %rax, %rcx 328db674adSHaohai Wenrorx $1, (%rax), %rcx 338db674adSHaohai Wen 348db674adSHaohai Wensarx %eax, %ebx, %ecx 358db674adSHaohai Wensarx %eax, (%rbx), %ecx 368db674adSHaohai Wen 378db674adSHaohai Wensarx %rax, %rbx, %rcx 388db674adSHaohai Wensarx %rax, (%rbx), %rcx 398db674adSHaohai Wen 408db674adSHaohai Wenshlx %eax, %ebx, %ecx 418db674adSHaohai Wenshlx %eax, (%rbx), %ecx 428db674adSHaohai Wen 438db674adSHaohai Wenshlx %rax, %rbx, %rcx 448db674adSHaohai Wenshlx %rax, (%rbx), %rcx 458db674adSHaohai Wen 468db674adSHaohai Wenshrx %eax, %ebx, %ecx 478db674adSHaohai Wenshrx %eax, (%rbx), %ecx 488db674adSHaohai Wen 498db674adSHaohai Wenshrx %rax, %rbx, %rcx 508db674adSHaohai Wenshrx %rax, (%rbx), %rcx 518db674adSHaohai Wen 528db674adSHaohai Wen# CHECK: Instruction Info: 538db674adSHaohai Wen# CHECK-NEXT: [1]: #uOps 548db674adSHaohai Wen# CHECK-NEXT: [2]: Latency 558db674adSHaohai Wen# CHECK-NEXT: [3]: RThroughput 568db674adSHaohai Wen# CHECK-NEXT: [4]: MayLoad 578db674adSHaohai Wen# CHECK-NEXT: [5]: MayStore 588db674adSHaohai Wen# CHECK-NEXT: [6]: HasSideEffects (U) 598db674adSHaohai Wen 608db674adSHaohai Wen# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 618db674adSHaohai Wen# CHECK-NEXT: 1 3 1.00 bzhil %eax, %ebx, %ecx 628db674adSHaohai Wen# CHECK-NEXT: 2 8 1.00 * bzhil %eax, (%rbx), %ecx 638db674adSHaohai Wen# CHECK-NEXT: 1 3 1.00 bzhiq %rax, %rbx, %rcx 648db674adSHaohai Wen# CHECK-NEXT: 2 8 1.00 * bzhiq %rax, (%rbx), %rcx 658db674adSHaohai Wen# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx 668db674adSHaohai Wen# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx 678db674adSHaohai Wen# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx 688db674adSHaohai Wen# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx 698db674adSHaohai Wen# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx 708db674adSHaohai Wen# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx 718db674adSHaohai Wen# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx 728db674adSHaohai Wen# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx 738db674adSHaohai Wen# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx 748db674adSHaohai Wen# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx 758db674adSHaohai Wen# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx 768db674adSHaohai Wen# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx 778db674adSHaohai Wen# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx 788db674adSHaohai Wen# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx 798db674adSHaohai Wen# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx 808db674adSHaohai Wen# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx 818db674adSHaohai Wen# CHECK-NEXT: 1 3 0.50 sarxl %eax, %ebx, %ecx 828db674adSHaohai Wen# CHECK-NEXT: 2 8 0.50 * sarxl %eax, (%rbx), %ecx 838db674adSHaohai Wen# CHECK-NEXT: 1 3 0.50 sarxq %rax, %rbx, %rcx 848db674adSHaohai Wen# CHECK-NEXT: 2 8 0.50 * sarxq %rax, (%rbx), %rcx 858db674adSHaohai Wen# CHECK-NEXT: 1 3 0.50 shlxl %eax, %ebx, %ecx 868db674adSHaohai Wen# CHECK-NEXT: 2 8 0.50 * shlxl %eax, (%rbx), %ecx 878db674adSHaohai Wen# CHECK-NEXT: 1 3 0.50 shlxq %rax, %rbx, %rcx 888db674adSHaohai Wen# CHECK-NEXT: 2 8 0.50 * shlxq %rax, (%rbx), %rcx 898db674adSHaohai Wen# CHECK-NEXT: 1 3 0.50 shrxl %eax, %ebx, %ecx 908db674adSHaohai Wen# CHECK-NEXT: 2 8 0.50 * shrxl %eax, (%rbx), %ecx 918db674adSHaohai Wen# CHECK-NEXT: 1 3 0.50 shrxq %rax, %rbx, %rcx 928db674adSHaohai Wen# CHECK-NEXT: 2 8 0.50 * shrxq %rax, (%rbx), %rcx 938db674adSHaohai Wen 948db674adSHaohai Wen# CHECK: Resources: 958db674adSHaohai Wen# CHECK-NEXT: [0] - SPRPort00 968db674adSHaohai Wen# CHECK-NEXT: [1] - SPRPort01 978db674adSHaohai Wen# CHECK-NEXT: [2] - SPRPort02 988db674adSHaohai Wen# CHECK-NEXT: [3] - SPRPort03 998db674adSHaohai Wen# CHECK-NEXT: [4] - SPRPort04 1008db674adSHaohai Wen# CHECK-NEXT: [5] - SPRPort05 1018db674adSHaohai Wen# CHECK-NEXT: [6] - SPRPort06 1028db674adSHaohai Wen# CHECK-NEXT: [7] - SPRPort07 1038db674adSHaohai Wen# CHECK-NEXT: [8] - SPRPort08 1048db674adSHaohai Wen# CHECK-NEXT: [9] - SPRPort09 1058db674adSHaohai Wen# CHECK-NEXT: [10] - SPRPort10 1068db674adSHaohai Wen# CHECK-NEXT: [11] - SPRPort11 1078db674adSHaohai Wen# CHECK-NEXT: [12] - SPRPortInvalid 1088db674adSHaohai Wen 1098db674adSHaohai Wen# CHECK: Resource pressure per iteration: 1108db674adSHaohai Wen# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] 111*095f4897SAiden Grossman# CHECK-NEXT: 9.40 16.40 5.33 5.33 - 2.40 9.40 - - - 5.33 0.40 - 1128db674adSHaohai Wen 1138db674adSHaohai Wen# CHECK: Resource pressure by instruction: 1148db674adSHaohai Wen# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions: 1158db674adSHaohai Wen# CHECK-NEXT: - 1.00 - - - - - - - - - - - bzhil %eax, %ebx, %ecx 116*095f4897SAiden Grossman# CHECK-NEXT: - 1.00 0.33 0.33 - - - - - - 0.33 - - bzhil %eax, (%rbx), %ecx 1178db674adSHaohai Wen# CHECK-NEXT: - 1.00 - - - - - - - - - - - bzhiq %rax, %rbx, %rcx 118*095f4897SAiden Grossman# CHECK-NEXT: - 1.00 0.33 0.33 - - - - - - 0.33 - - bzhiq %rax, (%rbx), %rcx 119*095f4897SAiden Grossman# CHECK-NEXT: 0.70 1.20 - - - 0.20 0.70 - - - - 0.20 - mulxl %eax, %ebx, %ecx 120*095f4897SAiden Grossman# CHECK-NEXT: 0.70 1.20 0.33 0.33 - 0.20 0.70 - - - 0.33 0.20 - mulxl (%rax), %ebx, %ecx 1218db674adSHaohai Wen# CHECK-NEXT: - 1.00 - - - 1.00 - - - - - - - mulxq %rax, %rbx, %rcx 122*095f4897SAiden Grossman# CHECK-NEXT: - 1.00 0.33 0.33 - 1.00 - - - - 0.33 - - mulxq (%rax), %rbx, %rcx 1238db674adSHaohai Wen# CHECK-NEXT: - 1.00 - - - - - - - - - - - pdepl %eax, %ebx, %ecx 124*095f4897SAiden Grossman# CHECK-NEXT: - 1.00 0.33 0.33 - - - - - - 0.33 - - pdepl (%rax), %ebx, %ecx 1258db674adSHaohai Wen# CHECK-NEXT: - 1.00 - - - - - - - - - - - pdepq %rax, %rbx, %rcx 126*095f4897SAiden Grossman# CHECK-NEXT: - 1.00 0.33 0.33 - - - - - - 0.33 - - pdepq (%rax), %rbx, %rcx 1278db674adSHaohai Wen# CHECK-NEXT: - 1.00 - - - - - - - - - - - pextl %eax, %ebx, %ecx 128*095f4897SAiden Grossman# CHECK-NEXT: - 1.00 0.33 0.33 - - - - - - 0.33 - - pextl (%rax), %ebx, %ecx 1298db674adSHaohai Wen# CHECK-NEXT: - 1.00 - - - - - - - - - - - pextq %rax, %rbx, %rcx 130*095f4897SAiden Grossman# CHECK-NEXT: - 1.00 0.33 0.33 - - - - - - 0.33 - - pextq (%rax), %rbx, %rcx 1318db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - rorxl $1, %eax, %ecx 132*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - rorxl $1, (%rax), %ecx 1338db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - rorxq $1, %rax, %rcx 134*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - rorxq $1, (%rax), %rcx 1358db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - sarxl %eax, %ebx, %ecx 136*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - sarxl %eax, (%rbx), %ecx 1378db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - sarxq %rax, %rbx, %rcx 138*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - sarxq %rax, (%rbx), %rcx 1398db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - shlxl %eax, %ebx, %ecx 140*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - shlxl %eax, (%rbx), %ecx 1418db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - shlxq %rax, %rbx, %rcx 142*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - shlxq %rax, (%rbx), %rcx 1438db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - shrxl %eax, %ebx, %ecx 144*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - shrxl %eax, (%rbx), %ecx 1458db674adSHaohai Wen# CHECK-NEXT: 0.50 - - - - - 0.50 - - - - - - shrxq %rax, %rbx, %rcx 146*095f4897SAiden Grossman# CHECK-NEXT: 0.50 - 0.33 0.33 - - 0.50 - - - 0.33 - - shrxq %rax, (%rbx), %rcx 147