97 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=lunarlake -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 2.00 * {vex} vpdpbusd (%rax), %xmm1, %xmm239# CHECK-NEXT: 1 4 2.00 {vex} vpdpbusd %ymm0, %ymm1, %ymm240# CHECK-NEXT: 1 11 2.33 * {vex} vpdpbusd (%rax), %ymm1, %ymm241# CHECK-NEXT: 1 4 2.00 {vex} vpdpbusds %xmm0, %xmm1, %xmm242# CHECK-NEXT: 1 10 2.00 * {vex} vpdpbusds (%rax), %xmm1, %xmm243# CHECK-NEXT: 1 4 2.00 {vex} vpdpbusds %ymm0, %ymm1, %ymm244# CHECK-NEXT: 1 11 2.33 * {vex} vpdpbusds (%rax), %ymm1, %ymm245# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssd %xmm0, %xmm1, %xmm246# CHECK-NEXT: 1 10 2.00 * {vex} vpdpwssd (%rax), %xmm1, %xmm247# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssd %ymm0, %ymm1, %ymm248# CHECK-NEXT: 1 11 2.33 * {vex} vpdpwssd (%rax), %ymm1, %ymm249# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssds %xmm0, %xmm1, %xmm250# CHECK-NEXT: 1 10 2.00 * {vex} vpdpwssds (%rax), %xmm1, %xmm251# CHECK-NEXT: 1 4 2.00 {vex} vpdpwssds %ymm0, %ymm1, %ymm252# CHECK-NEXT: 1 11 2.33 * {vex} vpdpwssds (%rax), %ymm1, %ymm253 54# CHECK: Resources:55# CHECK-NEXT: [0] - LNLPPort0056# CHECK-NEXT: [1] - LNLPPort0157# CHECK-NEXT: [2] - LNLPPort0258# CHECK-NEXT: [3] - LNLPPort0359# CHECK-NEXT: [4] - LNLPPort0460# CHECK-NEXT: [5] - LNLPPort0561# CHECK-NEXT: [6] - LNLPPort1062# CHECK-NEXT: [7] - LNLPPort1163# CHECK-NEXT: [8] - LNLPPort2064# CHECK-NEXT: [9] - LNLPPort2165# CHECK-NEXT: [10] - LNLPPort2266# CHECK-NEXT: [11] - LNLPPort2567# CHECK-NEXT: [12] - LNLPPort2668# CHECK-NEXT: [13] - LNLPPort2769# CHECK-NEXT: [14] - LNLPPortInvalid70# CHECK-NEXT: [15] - LNLPVPort0071# CHECK-NEXT: [16] - LNLPVPort0172# CHECK-NEXT: [17] - LNLPVPort0273# CHECK-NEXT: [18] - LNLPVPort0374 75# CHECK: Resource pressure per iteration:76# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]77# CHECK-NEXT: - - - - - - - - 17.33 17.33 17.33 - - - - 32.00 32.00 - -78 79# CHECK: Resource pressure by instruction:80# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] Instructions:81# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpbusd %xmm0, %xmm1, %xmm282# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 - - - - 2.00 2.00 - - {vex} vpdpbusd (%rax), %xmm1, %xmm283# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpbusd %ymm0, %ymm1, %ymm284# CHECK-NEXT: - - - - - - - - 2.33 2.33 2.33 - - - - 2.00 2.00 - - {vex} vpdpbusd (%rax), %ymm1, %ymm285# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpbusds %xmm0, %xmm1, %xmm286# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 - - - - 2.00 2.00 - - {vex} vpdpbusds (%rax), %xmm1, %xmm287# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpbusds %ymm0, %ymm1, %ymm288# CHECK-NEXT: - - - - - - - - 2.33 2.33 2.33 - - - - 2.00 2.00 - - {vex} vpdpbusds (%rax), %ymm1, %ymm289# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpwssd %xmm0, %xmm1, %xmm290# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 - - - - 2.00 2.00 - - {vex} vpdpwssd (%rax), %xmm1, %xmm291# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpwssd %ymm0, %ymm1, %ymm292# CHECK-NEXT: - - - - - - - - 2.33 2.33 2.33 - - - - 2.00 2.00 - - {vex} vpdpwssd (%rax), %ymm1, %ymm293# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpwssds %xmm0, %xmm1, %xmm294# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 - - - - 2.00 2.00 - - {vex} vpdpwssds (%rax), %xmm1, %xmm295# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 2.00 - - {vex} vpdpwssds %ymm0, %ymm1, %ymm296# CHECK-NEXT: - - - - - - - - 2.33 2.33 2.33 - - - - 2.00 2.00 - - {vex} vpdpwssds (%rax), %ymm1, %ymm297