1*ffdd5a33SGanesh Gopalasubramanian# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2*ffdd5a33SGanesh Gopalasubramanian# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 -instruction-tables < %s | FileCheck %s 3*ffdd5a33SGanesh Gopalasubramanian 4*ffdd5a33SGanesh Gopalasubramanianvaesdec %ymm0, %ymm1, %ymm3 5*ffdd5a33SGanesh Gopalasubramanianvaesdec (%rax), %ymm1, %ymm3 6*ffdd5a33SGanesh Gopalasubramanian 7*ffdd5a33SGanesh Gopalasubramanianvaesdeclast %ymm0, %ymm1, %ymm3 8*ffdd5a33SGanesh Gopalasubramanianvaesdeclast (%rax), %ymm1, %ymm3 9*ffdd5a33SGanesh Gopalasubramanian 10*ffdd5a33SGanesh Gopalasubramanianvaesenc %ymm0, %ymm1, %ymm3 11*ffdd5a33SGanesh Gopalasubramanianvaesenc (%rax), %ymm1, %ymm3 12*ffdd5a33SGanesh Gopalasubramanian 13*ffdd5a33SGanesh Gopalasubramanianvaesenclast %ymm0, %ymm1, %ymm3 14*ffdd5a33SGanesh Gopalasubramanianvaesenclast (%rax), %ymm1, %ymm3 15*ffdd5a33SGanesh Gopalasubramanian 16*ffdd5a33SGanesh Gopalasubramanian# CHECK: Instruction Info: 17*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [1]: #uOps 18*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [2]: Latency 19*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [3]: RThroughput 20*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [4]: MayLoad 21*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [5]: MayStore 22*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [6]: HasSideEffects (U) 23*ffdd5a33SGanesh Gopalasubramanian 24*ffdd5a33SGanesh Gopalasubramanian# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 25*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 4 0.50 vaesdec %ymm0, %ymm1, %ymm3 26*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 11 0.50 * vaesdec (%rax), %ymm1, %ymm3 27*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 4 0.50 vaesdeclast %ymm0, %ymm1, %ymm3 28*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 11 0.50 * vaesdeclast (%rax), %ymm1, %ymm3 29*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 4 0.50 vaesenc %ymm0, %ymm1, %ymm3 30*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 11 0.50 * vaesenc (%rax), %ymm1, %ymm3 31*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 4 0.50 vaesenclast %ymm0, %ymm1, %ymm3 32*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: 1 11 0.50 * vaesenclast (%rax), %ymm1, %ymm3 33*ffdd5a33SGanesh Gopalasubramanian 34*ffdd5a33SGanesh Gopalasubramanian# CHECK: Resources: 35*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [0] - Zn4AGU0 36*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [1] - Zn4AGU1 37*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [2] - Zn4AGU2 38*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [3] - Zn4ALU0 39*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [4] - Zn4ALU1 40*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [5] - Zn4ALU2 41*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [6] - Zn4ALU3 42*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [7] - Zn4BRU1 43*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [8] - Zn4FP0 44*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [9] - Zn4FP1 45*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [10] - Zn4FP2 46*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [11] - Zn4FP3 47*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [12.0] - Zn4FP45 48*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [12.1] - Zn4FP45 49*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [13] - Zn4FPSt 50*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [14.0] - Zn4LSU 51*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [14.1] - Zn4LSU 52*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [14.2] - Zn4LSU 53*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [15.0] - Zn4Load 54*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [15.1] - Zn4Load 55*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [15.2] - Zn4Load 56*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [16.0] - Zn4Store 57*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [16.1] - Zn4Store 58*ffdd5a33SGanesh Gopalasubramanian 59*ffdd5a33SGanesh Gopalasubramanian# CHECK: Resource pressure per iteration: 60*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] 61*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - 2.00 2.00 - 1.33 1.33 1.33 1.33 1.33 1.33 - - 62*ffdd5a33SGanesh Gopalasubramanian 63*ffdd5a33SGanesh Gopalasubramanian# CHECK: Resource pressure by instruction: 64*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions: 65*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdec %ymm0, %ymm1, %ymm3 66*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdec (%rax), %ymm1, %ymm3 67*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesdeclast %ymm0, %ymm1, %ymm3 68*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesdeclast (%rax), %ymm1, %ymm3 69*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenc %ymm0, %ymm1, %ymm3 70*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenc (%rax), %ymm1, %ymm3 71*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vaesenclast %ymm0, %ymm1, %ymm3 72*ffdd5a33SGanesh Gopalasubramanian# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vaesenclast (%rax), %ymm1, %ymm3 73