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 4{vex} vpdpbusd %xmm0, %xmm1, %xmm25{vex} vpdpbusd (%rax), %xmm1, %xmm26 7{vex} vpdpbusd %ymm0, %ymm1, %ymm28{vex} vpdpbusd (%rax), %ymm1, %ymm29 10{vex} vpdpbusds %xmm0, %xmm1, %xmm211{vex} vpdpbusds (%rax), %xmm1, %xmm212 13{vex} vpdpbusds %ymm0, %ymm1, %ymm214{vex} vpdpbusds (%rax), %ymm1, %ymm215 16{vex} vpdpwssd %xmm0, %xmm1, %xmm217{vex} vpdpwssd (%rax), %xmm1, %xmm218 19{vex} vpdpwssd %ymm0, %ymm1, %ymm220{vex} vpdpwssd (%rax), %ymm1, %ymm221 22{vex} vpdpwssds %xmm0, %xmm1, %xmm223{vex} vpdpwssds (%rax), %xmm1, %xmm224 25{vex} vpdpwssds %ymm0, %ymm1, %ymm226{vex} vpdpwssds (%rax), %ymm1, %ymm227 28# CHECK: Instruction Info:29# CHECK-NEXT: [1]: #uOps30# CHECK-NEXT: [2]: Latency31# CHECK-NEXT: [3]: RThroughput32# CHECK-NEXT: [4]: MayLoad33# CHECK-NEXT: [5]: MayStore34# CHECK-NEXT: [6]: HasSideEffects (U)35 36# CHECK: [1] [2] [3] [4] [5] [6] Instructions:37# CHECK-NEXT: 1 4 2.00 {vex} vpdpbusd %xmm0, %xmm1, %xmm238# CHECK-NEXT: 1 10 0.50 * {vex} vpdpbusd (%rax), %xmm1, %xmm239# CHECK-NEXT: 1 4 2.00 {vex} vpdpbusd %ymm0, %ymm1, %ymm240# CHECK-NEXT: 1 10 0.50 * {vex} vpdpbusd (%rax), %ymm1, %ymm241# CHECK-NEXT: 1 4 2.00 {vex} vpdpbusds %xmm0, %xmm1, %xmm242# CHECK-NEXT: 1 10 0.50 * {vex} vpdpbusds (%rax), %xmm1, %xmm243# CHECK-NEXT: 1 4 2.00 {vex} vpdpbusds %ymm0, %ymm1, %ymm244# CHECK-NEXT: 1 10 0.50 * {vex} vpdpbusds (%rax), %ymm1, %ymm245# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssd %xmm0, %xmm1, %xmm246# CHECK-NEXT: 1 10 0.50 * {vex} vpdpwssd (%rax), %xmm1, %xmm247# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssd %ymm0, %ymm1, %ymm248# CHECK-NEXT: 1 10 0.50 * {vex} vpdpwssd (%rax), %ymm1, %ymm249# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssds %xmm0, %xmm1, %xmm250# CHECK-NEXT: 1 10 0.50 * {vex} vpdpwssds (%rax), %xmm1, %xmm251# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssds %ymm0, %ymm1, %ymm252# CHECK-NEXT: 1 10 0.50 * {vex} vpdpwssds (%rax), %ymm1, %ymm253 54# CHECK: Resources:55# CHECK-NEXT: [0] - Zn4AGU056# CHECK-NEXT: [1] - Zn4AGU157# CHECK-NEXT: [2] - Zn4AGU258# CHECK-NEXT: [3] - Zn4ALU059# CHECK-NEXT: [4] - Zn4ALU160# CHECK-NEXT: [5] - Zn4ALU261# CHECK-NEXT: [6] - Zn4ALU362# CHECK-NEXT: [7] - Zn4BRU163# CHECK-NEXT: [8] - Zn4FP064# CHECK-NEXT: [9] - Zn4FP165# CHECK-NEXT: [10] - Zn4FP266# CHECK-NEXT: [11] - Zn4FP367# CHECK-NEXT: [12.0] - Zn4FP4568# CHECK-NEXT: [12.1] - Zn4FP4569# CHECK-NEXT: [13] - Zn4FPSt70# CHECK-NEXT: [14.0] - Zn4LSU71# CHECK-NEXT: [14.1] - Zn4LSU72# CHECK-NEXT: [14.2] - Zn4LSU73# CHECK-NEXT: [15.0] - Zn4Load74# CHECK-NEXT: [15.1] - Zn4Load75# CHECK-NEXT: [15.2] - Zn4Load76# CHECK-NEXT: [16.0] - Zn4Store77# CHECK-NEXT: [16.1] - Zn4Store78 79# CHECK: Resource pressure per iteration:80# 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]81# CHECK-NEXT: - - - - - - - - 20.00 16.00 - 4.00 4.00 4.00 - 2.67 2.67 2.67 2.67 2.67 2.67 - -82 83# CHECK: Resource pressure by instruction:84# 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:85# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusd %xmm0, %xmm1, %xmm286# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusd (%rax), %xmm1, %xmm287# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusd %ymm0, %ymm1, %ymm288# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusd (%rax), %ymm1, %ymm289# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusds %xmm0, %xmm1, %xmm290# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusds (%rax), %xmm1, %xmm291# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpbusds %ymm0, %ymm1, %ymm292# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpbusds (%rax), %ymm1, %ymm293# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssd %xmm0, %xmm1, %xmm294# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssd (%rax), %xmm1, %xmm295# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssd %ymm0, %ymm1, %ymm296# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssd (%rax), %ymm1, %ymm297# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssds %xmm0, %xmm1, %xmm298# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssds (%rax), %xmm1, %xmm299# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - - - - - - - - {vex} vpdpwssds %ymm0, %ymm1, %ymm2100# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - {vex} vpdpwssds (%rax), %ymm1, %ymm2101