82 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s3 4vgatherpf0dpd (%rax,%ymm1,2) {k1}5vgatherpf0dps (%rax,%zmm1,2) {k1}6vgatherpf0qpd (%rax,%zmm1,2) {k1}7vgatherpf0qps (%rax,%zmm1,2) {k1}8 9vgatherpf1dpd (%rax,%ymm1,2) {k1}10vgatherpf1dps (%rax,%zmm1,2) {k1}11vgatherpf1qpd (%rax,%zmm1,2) {k1}12vgatherpf1qps (%rax,%zmm1,2) {k1}13 14vscatterpf0dpd (%rax,%ymm1,2) {k1}15vscatterpf0dps (%rax,%zmm1,2) {k1}16vscatterpf0qpd (%rax,%zmm1,2) {k1}17vscatterpf0qps (%rax,%zmm1,2) {k1}18 19vscatterpf1dpd (%rax,%ymm1,2) {k1}20vscatterpf1dps (%rax,%zmm1,2) {k1}21vscatterpf1qpd (%rax,%zmm1,2) {k1}22vscatterpf1qps (%rax,%zmm1,2) {k1}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 * * U vgatherpf0dpd (%rax,%ymm1,2) {%k1}34# CHECK-NEXT: 1 5 0.50 * * U vgatherpf0dps (%rax,%zmm1,2) {%k1}35# CHECK-NEXT: 1 5 0.50 * * U vgatherpf0qpd (%rax,%zmm1,2) {%k1}36# CHECK-NEXT: 1 5 0.50 * * U vgatherpf0qps (%rax,%zmm1,2) {%k1}37# CHECK-NEXT: 1 5 0.50 * * U vgatherpf1dpd (%rax,%ymm1,2) {%k1}38# CHECK-NEXT: 1 5 0.50 * * U vgatherpf1dps (%rax,%zmm1,2) {%k1}39# CHECK-NEXT: 1 5 0.50 * * U vgatherpf1qpd (%rax,%zmm1,2) {%k1}40# CHECK-NEXT: 1 5 0.50 * * U vgatherpf1qps (%rax,%zmm1,2) {%k1}41# CHECK-NEXT: 1 5 0.50 * * U vscatterpf0dpd (%rax,%ymm1,2) {%k1}42# CHECK-NEXT: 1 5 0.50 * * U vscatterpf0dps (%rax,%zmm1,2) {%k1}43# CHECK-NEXT: 1 5 0.50 * * U vscatterpf0qpd (%rax,%zmm1,2) {%k1}44# CHECK-NEXT: 1 5 0.50 * * U vscatterpf0qps (%rax,%zmm1,2) {%k1}45# CHECK-NEXT: 1 5 0.50 * * U vscatterpf1dpd (%rax,%ymm1,2) {%k1}46# CHECK-NEXT: 1 5 0.50 * * U vscatterpf1dps (%rax,%zmm1,2) {%k1}47# CHECK-NEXT: 1 5 0.50 * * U vscatterpf1qpd (%rax,%zmm1,2) {%k1}48# CHECK-NEXT: 1 5 0.50 * * U vscatterpf1qps (%rax,%zmm1,2) {%k1}49 50# CHECK: Resources:51# CHECK-NEXT: [0] - SBDivider52# CHECK-NEXT: [1] - SBFPDivider53# CHECK-NEXT: [2] - SBPort054# CHECK-NEXT: [3] - SBPort155# CHECK-NEXT: [4] - SBPort456# CHECK-NEXT: [5] - SBPort557# CHECK-NEXT: [6.0] - SBPort2358# CHECK-NEXT: [6.1] - SBPort2359 60# CHECK: Resource pressure per iteration:61# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]62# CHECK-NEXT: - - - - - - 8.00 8.0063 64# CHECK: Resource pressure by instruction:65# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:66# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf0dpd (%rax,%ymm1,2) {%k1}67# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf0dps (%rax,%zmm1,2) {%k1}68# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf0qpd (%rax,%zmm1,2) {%k1}69# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf0qps (%rax,%zmm1,2) {%k1}70# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf1dpd (%rax,%ymm1,2) {%k1}71# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf1dps (%rax,%zmm1,2) {%k1}72# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf1qpd (%rax,%zmm1,2) {%k1}73# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherpf1qps (%rax,%zmm1,2) {%k1}74# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf0dpd (%rax,%ymm1,2) {%k1}75# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf0dps (%rax,%zmm1,2) {%k1}76# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf0qpd (%rax,%zmm1,2) {%k1}77# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf0qps (%rax,%zmm1,2) {%k1}78# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf1dpd (%rax,%ymm1,2) {%k1}79# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf1dps (%rax,%zmm1,2) {%k1}80# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf1qpd (%rax,%zmm1,2) {%k1}81# CHECK-NEXT: - - - - - - 0.50 0.50 vscatterpf1qps (%rax,%zmm1,2) {%k1}82