187ba905fSSimon Pilgrim# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 287ba905fSSimon Pilgrim# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -instruction-tables < %s | FileCheck %s 387ba905fSSimon Pilgrim 487ba905fSSimon Pilgrimbzhi %eax, %ebx, %ecx 587ba905fSSimon Pilgrimbzhi %eax, (%rbx), %ecx 687ba905fSSimon Pilgrim 787ba905fSSimon Pilgrimbzhi %rax, %rbx, %rcx 887ba905fSSimon Pilgrimbzhi %rax, (%rbx), %rcx 987ba905fSSimon Pilgrim 1087ba905fSSimon Pilgrimmulx %eax, %ebx, %ecx 1187ba905fSSimon Pilgrimmulx (%rax), %ebx, %ecx 1287ba905fSSimon Pilgrim 1387ba905fSSimon Pilgrimmulx %rax, %rbx, %rcx 1487ba905fSSimon Pilgrimmulx (%rax), %rbx, %rcx 1587ba905fSSimon Pilgrim 1687ba905fSSimon Pilgrimpdep %eax, %ebx, %ecx 1787ba905fSSimon Pilgrimpdep (%rax), %ebx, %ecx 1887ba905fSSimon Pilgrim 1987ba905fSSimon Pilgrimpdep %rax, %rbx, %rcx 2087ba905fSSimon Pilgrimpdep (%rax), %rbx, %rcx 2187ba905fSSimon Pilgrim 2287ba905fSSimon Pilgrimpext %eax, %ebx, %ecx 2387ba905fSSimon Pilgrimpext (%rax), %ebx, %ecx 2487ba905fSSimon Pilgrim 2587ba905fSSimon Pilgrimpext %rax, %rbx, %rcx 2687ba905fSSimon Pilgrimpext (%rax), %rbx, %rcx 2787ba905fSSimon Pilgrim 2887ba905fSSimon Pilgrimrorx $1, %eax, %ecx 2987ba905fSSimon Pilgrimrorx $1, (%rax), %ecx 3087ba905fSSimon Pilgrim 3187ba905fSSimon Pilgrimrorx $1, %rax, %rcx 3287ba905fSSimon Pilgrimrorx $1, (%rax), %rcx 3387ba905fSSimon Pilgrim 3487ba905fSSimon Pilgrimsarx %eax, %ebx, %ecx 3587ba905fSSimon Pilgrimsarx %eax, (%rbx), %ecx 3687ba905fSSimon Pilgrim 3787ba905fSSimon Pilgrimsarx %rax, %rbx, %rcx 3887ba905fSSimon Pilgrimsarx %rax, (%rbx), %rcx 3987ba905fSSimon Pilgrim 4087ba905fSSimon Pilgrimshlx %eax, %ebx, %ecx 4187ba905fSSimon Pilgrimshlx %eax, (%rbx), %ecx 4287ba905fSSimon Pilgrim 4387ba905fSSimon Pilgrimshlx %rax, %rbx, %rcx 4487ba905fSSimon Pilgrimshlx %rax, (%rbx), %rcx 4587ba905fSSimon Pilgrim 4687ba905fSSimon Pilgrimshrx %eax, %ebx, %ecx 4787ba905fSSimon Pilgrimshrx %eax, (%rbx), %ecx 4887ba905fSSimon Pilgrim 4987ba905fSSimon Pilgrimshrx %rax, %rbx, %rcx 5087ba905fSSimon Pilgrimshrx %rax, (%rbx), %rcx 5187ba905fSSimon Pilgrim 5287ba905fSSimon Pilgrim# CHECK: Instruction Info: 5387ba905fSSimon Pilgrim# CHECK-NEXT: [1]: #uOps 5487ba905fSSimon Pilgrim# CHECK-NEXT: [2]: Latency 5587ba905fSSimon Pilgrim# CHECK-NEXT: [3]: RThroughput 5687ba905fSSimon Pilgrim# CHECK-NEXT: [4]: MayLoad 5787ba905fSSimon Pilgrim# CHECK-NEXT: [5]: MayStore 58d2e2c053SAndrea Di Biagio# CHECK-NEXT: [6]: HasSideEffects (U) 5987ba905fSSimon Pilgrim 6087ba905fSSimon Pilgrim# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 6187ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 bzhil %eax, %ebx, %ecx 6287ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * bzhil %eax, (%rbx), %ecx 6387ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 bzhiq %rax, %rbx, %rcx 6487ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * bzhiq %rax, (%rbx), %rcx 6587ba905fSSimon Pilgrim# CHECK-NEXT: 1 3 2.00 mulxl %eax, %ebx, %ecx 6687ba905fSSimon Pilgrim# CHECK-NEXT: 1 8 2.00 * mulxl (%rax), %ebx, %ecx 67*35d4292aSAndrea Di Biagio# CHECK-NEXT: 1 3 2.00 mulxq %rax, %rbx, %rcx 68*35d4292aSAndrea Di Biagio# CHECK-NEXT: 1 8 2.00 * mulxq (%rax), %rbx, %rcx 6959313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 pdepl %eax, %ebx, %ecx 7059313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 * pdepl (%rax), %ebx, %ecx 7159313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 pdepq %rax, %rbx, %rcx 7259313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 * pdepq (%rax), %rbx, %rcx 7359313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 pextl %eax, %ebx, %ecx 7459313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 * pextl (%rax), %ebx, %ecx 7559313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 pextq %rax, %rbx, %rcx 7659313be8SSanjay Patel# CHECK-NEXT: 1 100 0.25 * pextq (%rax), %rbx, %rcx 7787ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 rorxl $1, %eax, %ecx 7887ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * rorxl $1, (%rax), %ecx 7987ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 rorxq $1, %rax, %rcx 8087ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * rorxq $1, (%rax), %rcx 8187ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 sarxl %eax, %ebx, %ecx 8287ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * sarxl %eax, (%rbx), %ecx 8387ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 sarxq %rax, %rbx, %rcx 8487ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * sarxq %rax, (%rbx), %rcx 8587ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 shlxl %eax, %ebx, %ecx 8687ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * shlxl %eax, (%rbx), %ecx 8787ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 shlxq %rax, %rbx, %rcx 8887ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * shlxq %rax, (%rbx), %rcx 8987ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 shrxl %eax, %ebx, %ecx 9087ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * shrxl %eax, (%rbx), %ecx 9187ba905fSSimon Pilgrim# CHECK-NEXT: 1 1 0.25 shrxq %rax, %rbx, %rcx 9287ba905fSSimon Pilgrim# CHECK-NEXT: 2 5 0.50 * shrxq %rax, (%rbx), %rcx 9387ba905fSSimon Pilgrim 9487ba905fSSimon Pilgrim# CHECK: Resources: 9587ba905fSSimon Pilgrim# CHECK-NEXT: [0] - ZnAGU0 9687ba905fSSimon Pilgrim# CHECK-NEXT: [1] - ZnAGU1 9787ba905fSSimon Pilgrim# CHECK-NEXT: [2] - ZnALU0 9887ba905fSSimon Pilgrim# CHECK-NEXT: [3] - ZnALU1 9987ba905fSSimon Pilgrim# CHECK-NEXT: [4] - ZnALU2 10087ba905fSSimon Pilgrim# CHECK-NEXT: [5] - ZnALU3 10187ba905fSSimon Pilgrim# CHECK-NEXT: [6] - ZnDivider 10287ba905fSSimon Pilgrim# CHECK-NEXT: [7] - ZnFPU0 10387ba905fSSimon Pilgrim# CHECK-NEXT: [8] - ZnFPU1 10487ba905fSSimon Pilgrim# CHECK-NEXT: [9] - ZnFPU2 10587ba905fSSimon Pilgrim# CHECK-NEXT: [10] - ZnFPU3 10687ba905fSSimon Pilgrim# CHECK-NEXT: [11] - ZnMultiplier 10787ba905fSSimon Pilgrim 10887ba905fSSimon Pilgrim# CHECK: Resource pressure per iteration: 10987ba905fSSimon Pilgrim# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 110*35d4292aSAndrea Di Biagio# CHECK-NEXT: 6.00 6.00 5.00 9.00 5.00 5.00 - - - - - 8.00 11187ba905fSSimon Pilgrim 11287ba905fSSimon Pilgrim# CHECK: Resource pressure by instruction: 11387ba905fSSimon Pilgrim# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: 11487ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bzhil %eax, %ebx, %ecx 11587ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bzhil %eax, (%rbx), %ecx 11687ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bzhiq %rax, %rbx, %rcx 11787ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bzhiq %rax, (%rbx), %rcx 11887ba905fSSimon Pilgrim# CHECK-NEXT: - - - 1.00 - - - - - - - 2.00 mulxl %eax, %ebx, %ecx 119*35d4292aSAndrea Di Biagio# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 2.00 mulxl (%rax), %ebx, %ecx 120*35d4292aSAndrea Di Biagio# CHECK-NEXT: - - - 1.00 - - - - - - - 2.00 mulxq %rax, %rbx, %rcx 121*35d4292aSAndrea Di Biagio# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 2.00 mulxq (%rax), %rbx, %rcx 12287ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pdepl %eax, %ebx, %ecx 12387ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pdepl (%rax), %ebx, %ecx 12487ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pdepq %rax, %rbx, %rcx 12587ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pdepq (%rax), %rbx, %rcx 12687ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pextl %eax, %ebx, %ecx 12787ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pextl (%rax), %ebx, %ecx 12887ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pextq %rax, %rbx, %rcx 12987ba905fSSimon Pilgrim# CHECK-NEXT: - - - - - - - - - - - - pextq (%rax), %rbx, %rcx 13087ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorxl $1, %eax, %ecx 13187ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - rorxl $1, (%rax), %ecx 13287ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorxq $1, %rax, %rcx 13387ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - rorxq $1, (%rax), %rcx 13487ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarxl %eax, %ebx, %ecx 13587ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarxl %eax, (%rbx), %ecx 13687ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarxq %rax, %rbx, %rcx 13787ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarxq %rax, (%rbx), %rcx 13887ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlxl %eax, %ebx, %ecx 13987ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlxl %eax, (%rbx), %ecx 14087ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlxq %rax, %rbx, %rcx 14187ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlxq %rax, (%rbx), %rcx 14287ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrxl %eax, %ebx, %ecx 14387ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrxl %eax, (%rbx), %ecx 14487ba905fSSimon Pilgrim# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrxq %rax, %rbx, %rcx 14587ba905fSSimon Pilgrim# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrxq %rax, (%rbx), %rcx 146