90 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -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 5 0.50 vpmadd52huq %zmm16, %zmm17, %zmm1934# CHECK-NEXT: 2 12 0.50 * vpmadd52huq (%rdi), %zmm17, %zmm1935# CHECK-NEXT: 2 12 0.50 * vpmadd52huq (%rdi){1to8}, %zmm17, %zmm1936# CHECK-NEXT: 1 5 0.50 vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1}37# CHECK-NEXT: 2 12 0.50 * vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1}38# CHECK-NEXT: 2 12 0.50 * vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1}39# CHECK-NEXT: 1 5 0.50 vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1} {z}40# CHECK-NEXT: 2 12 0.50 * vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1} {z}41# CHECK-NEXT: 2 12 0.50 * vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}42# CHECK-NEXT: 1 5 0.50 vpmadd52luq %zmm16, %zmm17, %zmm1943# CHECK-NEXT: 2 12 0.50 * vpmadd52luq (%rdi), %zmm17, %zmm1944# CHECK-NEXT: 2 12 0.50 * vpmadd52luq (%rdi){1to8}, %zmm17, %zmm1945# CHECK-NEXT: 1 5 0.50 vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1}46# CHECK-NEXT: 2 12 0.50 * vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1}47# CHECK-NEXT: 2 12 0.50 * vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1}48# CHECK-NEXT: 1 5 0.50 vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1} {z}49# CHECK-NEXT: 2 12 0.50 * vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1} {z}50# CHECK-NEXT: 2 12 0.50 * vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}51 52# CHECK: Resources:53# CHECK-NEXT: [0] - ICXDivider54# CHECK-NEXT: [1] - ICXFPDivider55# CHECK-NEXT: [2] - ICXPort056# CHECK-NEXT: [3] - ICXPort157# CHECK-NEXT: [4] - ICXPort258# CHECK-NEXT: [5] - ICXPort359# CHECK-NEXT: [6] - ICXPort460# CHECK-NEXT: [7] - ICXPort561# CHECK-NEXT: [8] - ICXPort662# CHECK-NEXT: [9] - ICXPort763# CHECK-NEXT: [10] - ICXPort864# CHECK-NEXT: [11] - ICXPort965 66# CHECK: Resource pressure per iteration:67# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]68# CHECK-NEXT: - - 9.00 - 6.00 6.00 - 9.00 - - - -69 70# CHECK: Resource pressure by instruction:71# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:72# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmadd52huq %zmm16, %zmm17, %zmm1973# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52huq (%rdi), %zmm17, %zmm1974# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm1975# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1}76# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1}77# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1}78# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmadd52huq %zmm16, %zmm17, %zmm19 {%k1} {z}79# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52huq (%rdi), %zmm17, %zmm19 {%k1} {z}80# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52huq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}81# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmadd52luq %zmm16, %zmm17, %zmm1982# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52luq (%rdi), %zmm17, %zmm1983# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm1984# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1}85# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1}86# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1}87# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmadd52luq %zmm16, %zmm17, %zmm19 {%k1} {z}88# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52luq (%rdi), %zmm17, %zmm19 {%k1} {z}89# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vpmadd52luq (%rdi){1to8}, %zmm17, %zmm19 {%k1} {z}90