# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py # RUN: llvm-mca -mtriple=aarch64 -mcpu=olympus -instruction-tables < %s | FileCheck %s f1cvtl v0.8h, v1.8b f2cvtl v0.8h, v1.8b f1cvtl2 v0.8h, v1.16b f2cvtl2 v0.8h, v1.16b fcvtn v0.8b, v1.4h, v3.4h fcvtn v0.16b, v1.8h, v3.8h fcvtn v0.8b, v1.4s, v3.4s fcvtn2 v0.16b, v1.4s, v3.4s fdot v0.4h, v1.8b, v3.8b fdot v0.8h, v1.16b, v3.16b fdot v0.2s, v1.8b, v3.8b fdot v0.4s, v1.16b, v3.16b fdot v0.4h, v1.8b, v3.2b[7] fdot v0.8h, v1.16b, v3.2b[7] fdot v0.2s, v1.8b, v3.4b[3] fdot v0.4s, v1.16b, v3.4b[3] fmlalb v0.8h, v1.16b, v3.16b fmlalt v0.8h, v1.16b, v3.16b fmlallbb v0.4s, v1.16b, v3.16b fmlallbt v0.4s, v1.16b, v3.16b fmlalltb v0.4s, v1.16b, v3.16b fmlalltt v0.4s, v1.16b, v3.16b fmlalb v0.8h, v1.16b, v3.b[14] fmlalt v0.8h, v1.16b, v3.b[14] fmlallbb v0.4s, v1.16b, v3.b[14] fmlallbt v0.4s, v1.16b, v3.b[14] fmlalltb v0.4s, v1.16b, v3.b[14] fmlalltt v0.4s, v1.16b, v3.b[14] bf1cvtl v0.8h, v1.8b bf2cvtl v0.8h, v1.8b bf1cvtl2 v0.8h, v1.16b bf2cvtl2 v0.8h, v1.16b # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps # CHECK-NEXT: [2]: Latency # CHECK-NEXT: [3]: RThroughput # CHECK-NEXT: [4]: MayLoad # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects (U) # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 4 0.50 * f1cvtl v0.8h, v1.8b # CHECK-NEXT: 1 4 0.50 * f2cvtl v0.8h, v1.8b # CHECK-NEXT: 1 4 0.50 * f1cvtl2 v0.8h, v1.16b # CHECK-NEXT: 1 4 0.50 * f2cvtl2 v0.8h, v1.16b # CHECK-NEXT: 1 4 0.50 * fcvtn v0.8b, v1.4h, v3.4h # CHECK-NEXT: 1 4 0.50 * fcvtn v0.16b, v1.8h, v3.8h # CHECK-NEXT: 1 3 0.25 * fcvtn v0.8b, v1.4s, v3.4s # CHECK-NEXT: 1 3 0.25 * fcvtn2 v0.16b, v1.4s, v3.4s # CHECK-NEXT: 1 4 0.17 * fdot v0.4h, v1.8b, v3.8b # CHECK-NEXT: 1 4 0.17 * fdot v0.8h, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fdot v0.2s, v1.8b, v3.8b # CHECK-NEXT: 1 4 0.17 * fdot v0.4s, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fdot v0.4h, v1.8b, v3.2b[7] # CHECK-NEXT: 1 4 0.17 * fdot v0.8h, v1.16b, v3.2b[7] # CHECK-NEXT: 1 4 0.17 * fdot v0.2s, v1.8b, v3.4b[3] # CHECK-NEXT: 1 4 0.17 * fdot v0.4s, v1.16b, v3.4b[3] # CHECK-NEXT: 1 4 0.17 * fmlalb v0.8h, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fmlalt v0.8h, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fmlallbb v0.4s, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fmlallbt v0.4s, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fmlalltb v0.4s, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fmlalltt v0.4s, v1.16b, v3.16b # CHECK-NEXT: 1 4 0.17 * fmlalb v0.8h, v1.16b, v3.b[14] # CHECK-NEXT: 1 4 0.17 * fmlalt v0.8h, v1.16b, v3.b[14] # CHECK-NEXT: 1 4 0.17 * fmlallbb v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: 1 4 0.17 * fmlallbt v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: 1 4 0.17 * fmlalltb v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: 1 4 0.17 * fmlalltt v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: 1 4 0.50 * bf1cvtl v0.8h, v1.8b # CHECK-NEXT: 1 4 0.50 * bf2cvtl v0.8h, v1.8b # CHECK-NEXT: 1 4 0.50 * bf1cvtl2 v0.8h, v1.16b # CHECK-NEXT: 1 4 0.50 * bf2cvtl2 v0.8h, v1.16b # CHECK: Resources: # CHECK-NEXT: [0.0] - OlympusUnitB # CHECK-NEXT: [0.1] - OlympusUnitB # CHECK-NEXT: [0.2] - OlympusUnitB # CHECK-NEXT: [0.3] - OlympusUnitB # CHECK-NEXT: [1.0] - OlympusUnitD # CHECK-NEXT: [1.1] - OlympusUnitD # CHECK-NEXT: [2.0] - OlympusUnitF # CHECK-NEXT: [2.1] - OlympusUnitF # CHECK-NEXT: [2.2] - OlympusUnitF # CHECK-NEXT: [2.3] - OlympusUnitF # CHECK-NEXT: [2.4] - OlympusUnitF # CHECK-NEXT: [2.5] - OlympusUnitF # CHECK-NEXT: [3.0] - OlympusUnitL # CHECK-NEXT: [3.1] - OlympusUnitL # CHECK-NEXT: [3.2] - OlympusUnitL # CHECK-NEXT: [3.3] - OlympusUnitL # CHECK-NEXT: [4] - OlympusUnitM0 # CHECK-NEXT: [5] - OlympusUnitM1 # CHECK-NEXT: [6.0] - OlympusUnitS # CHECK-NEXT: [6.1] - OlympusUnitS # CHECK-NEXT: [6.2] - OlympusUnitS # CHECK-NEXT: [6.3] - OlympusUnitS # CHECK-NEXT: [6.4] - OlympusUnitS # CHECK-NEXT: [6.5] - OlympusUnitS # CHECK-NEXT: [7.0] - OlympusUnitSA # CHECK-NEXT: [7.1] - OlympusUnitSA # CHECK-NEXT: [8] - OlympusUnitV0 # CHECK-NEXT: [9] - OlympusUnitV1 # CHECK-NEXT: [10] - OlympusUnitV2 # CHECK-NEXT: [11] - OlympusUnitV3 # CHECK-NEXT: [12.0] - OlympusUnitV45 # CHECK-NEXT: [12.1] - OlympusUnitV45 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [0.2] [0.3] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [2.4] [2.5] [3.0] [3.1] [3.2] [3.3] [4] [5] [6.0] [6.1] [6.2] [6.3] [6.4] [6.5] [7.0] [7.1] [8] [9] [10] [11] [12.0] [12.1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 8.83 8.83 8.83 8.83 3.33 3.33 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [0.2] [0.3] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [2.4] [2.5] [3.0] [3.1] [3.2] [3.3] [4] [5] [6.0] [6.1] [6.2] [6.3] [6.4] [6.5] [7.0] [7.1] [8] [9] [10] [11] [12.0] [12.1] Instructions: # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - f1cvtl v0.8h, v1.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - f2cvtl v0.8h, v1.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - f1cvtl2 v0.8h, v1.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - f2cvtl2 v0.8h, v1.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - fcvtn v0.8b, v1.4h, v3.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - fcvtn v0.16b, v1.8h, v3.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 - - fcvtn v0.8b, v1.4s, v3.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 - - fcvtn2 v0.16b, v1.4s, v3.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.4h, v1.8b, v3.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.8h, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.2s, v1.8b, v3.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.4s, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.4h, v1.8b, v3.2b[7] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.8h, v1.16b, v3.2b[7] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.2s, v1.8b, v3.4b[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fdot v0.4s, v1.16b, v3.4b[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalb v0.8h, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalt v0.8h, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlallbb v0.4s, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlallbt v0.4s, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalltb v0.4s, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalltt v0.4s, v1.16b, v3.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalb v0.8h, v1.16b, v3.b[14] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalt v0.8h, v1.16b, v3.b[14] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlallbb v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlallbt v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalltb v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.17 0.17 0.17 0.17 0.17 0.17 fmlalltt v0.4s, v1.16b, v3.b[14] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - bf1cvtl v0.8h, v1.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - bf2cvtl v0.8h, v1.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - bf1cvtl2 v0.8h, v1.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 - - bf2cvtl2 v0.8h, v1.16b