101 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 -instruction-tables < %s | FileCheck %s3 4vpmadd52huq %zmm16, %zmm17, %zmm195vpmadd52huq (%rdi), %zmm17, %zmm196vpmadd52huq (%rdi){1to8}, %zmm17, %zmm197vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1}8vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1}9vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1}10vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1} {z}11vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1} {z}12vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}13 14vpmadd52luq %zmm16, %zmm17, %zmm1915vpmadd52luq (%rdi), %zmm17, %zmm1916vpmadd52luq (%rdi){1to8}, %zmm17, %zmm1917vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1}18vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1}19vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1}20vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1} {z}21vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1} {z}22vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}23 24# CHECK: Instruction Info:25# CHECK-NEXT: [1]: #uOps26# CHECK-NEXT: [2]: Latency27# CHECK-NEXT: [3]: RThroughput28# CHECK-NEXT: [4]: MayLoad29# CHECK-NEXT: [5]: MayStore30# CHECK-NEXT: [6]: HasSideEffects (U)31 32# CHECK: [1] [2] [3] [4] [5] [6] Instructions:33# CHECK-NEXT: 1 4 2.00 vpmadd52huq %zmm16, %zmm17, %zmm1934# CHECK-NEXT: 1 10 1.00 * vpmadd52huq (%rdi), %zmm17, %zmm1935# CHECK-NEXT: 1 10 1.00 * vpmadd52huq (%rdi){1to8}, %zmm17, %zmm1936# CHECK-NEXT: 1 4 2.00 vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1}37# CHECK-NEXT: 1 10 1.00 * vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1}38# CHECK-NEXT: 1 10 1.00 * vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1}39# CHECK-NEXT: 1 4 2.00 vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1} {z}40# CHECK-NEXT: 1 10 1.00 * vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1} {z}41# CHECK-NEXT: 1 10 1.00 * vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}42# CHECK-NEXT: 1 4 2.00 vpmadd52luq %zmm16, %zmm17, %zmm1943# CHECK-NEXT: 1 10 1.00 * vpmadd52luq (%rdi), %zmm17, %zmm1944# CHECK-NEXT: 1 10 1.00 * vpmadd52luq (%rdi){1to8}, %zmm17, %zmm1945# CHECK-NEXT: 1 4 2.00 vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1}46# CHECK-NEXT: 1 10 1.00 * vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1}47# CHECK-NEXT: 1 10 1.00 * vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1}48# CHECK-NEXT: 1 4 2.00 vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1} {z}49# CHECK-NEXT: 1 10 1.00 * vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1} {z}50# CHECK-NEXT: 1 10 1.00 * vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}51 52# CHECK: Resources:53# CHECK-NEXT: [0] - Zn4AGU054# CHECK-NEXT: [1] - Zn4AGU155# CHECK-NEXT: [2] - Zn4AGU256# CHECK-NEXT: [3] - Zn4ALU057# CHECK-NEXT: [4] - Zn4ALU158# CHECK-NEXT: [5] - Zn4ALU259# CHECK-NEXT: [6] - Zn4ALU360# CHECK-NEXT: [7] - Zn4BRU161# CHECK-NEXT: [8] - Zn4FP062# CHECK-NEXT: [9] - Zn4FP163# CHECK-NEXT: [10] - Zn4FP264# CHECK-NEXT: [11] - Zn4FP365# CHECK-NEXT: [12.0] - Zn4FP4566# CHECK-NEXT: [12.1] - Zn4FP4567# CHECK-NEXT: [13] - Zn4FPSt68# CHECK-NEXT: [14.0] - Zn4LSU69# CHECK-NEXT: [14.1] - Zn4LSU70# CHECK-NEXT: [14.2] - Zn4LSU71# CHECK-NEXT: [15.0] - Zn4Load72# CHECK-NEXT: [15.1] - Zn4Load73# CHECK-NEXT: [15.2] - Zn4Load74# CHECK-NEXT: [16.0] - Zn4Store75# CHECK-NEXT: [16.1] - Zn4Store76 77# CHECK: Resource pressure per iteration:78# 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]79# CHECK-NEXT: - - - - - - - - 24.00 12.00 - 12.00 6.00 6.00 - 4.00 4.00 4.00 4.00 4.00 4.00 - -80 81# CHECK: Resource pressure by instruction:82# 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:83# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm1984# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %zmm17, %zmm1985# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm1986# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1}87# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1}88# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1}89# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1} {z}90# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1} {z}91# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}92# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm1993# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %zmm17, %zmm1994# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm1995# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1}96# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1}97# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1}98# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1} {z}99# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1} {z}100# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}101