255 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=500 < %s | FileCheck %s3 4# LLVM-MCA-BEGIN5vpinsrb $0, %eax, %xmm0, %xmm06vpinsrb $1, %eax, %xmm0, %xmm07# LLVM-MCA-END8 9# LLVM-MCA-BEGIN10vpinsrw $0, %eax, %xmm0, %xmm011vpinsrw $1, %eax, %xmm0, %xmm012# LLVM-MCA-END13 14# LLVM-MCA-BEGIN15vpinsrd $0, %eax, %xmm0, %xmm016vpinsrd $1, %eax, %xmm0, %xmm017# LLVM-MCA-END18 19# LLVM-MCA-BEGIN20vpinsrq $0, %rax, %xmm0, %xmm021vpinsrq $1, %rax, %xmm0, %xmm022# LLVM-MCA-END23 24# CHECK: [0] Code Region25 26# CHECK: Iterations: 50027# CHECK-NEXT: Instructions: 100028# CHECK-NEXT: Total Cycles: 200329# CHECK-NEXT: Total uOps: 200030 31# CHECK: Dispatch Width: 432# CHECK-NEXT: uOps Per Cycle: 1.0033# CHECK-NEXT: IPC: 0.5034# CHECK-NEXT: Block RThroughput: 3.035 36# CHECK: Instruction Info:37# CHECK-NEXT: [1]: #uOps38# CHECK-NEXT: [2]: Latency39# CHECK-NEXT: [3]: RThroughput40# CHECK-NEXT: [4]: MayLoad41# CHECK-NEXT: [5]: MayStore42# CHECK-NEXT: [6]: HasSideEffects (U)43 44# CHECK: [1] [2] [3] [4] [5] [6] Instructions:45# CHECK-NEXT: 2 12 1.50 vpinsrb $0, %eax, %xmm0, %xmm046# CHECK-NEXT: 2 12 1.50 vpinsrb $1, %eax, %xmm0, %xmm047 48# CHECK: Resources:49# CHECK-NEXT: [0.0] - PdAGLU0150# CHECK-NEXT: [0.1] - PdAGLU0151# CHECK-NEXT: [1] - PdBranch52# CHECK-NEXT: [2] - PdCount53# CHECK-NEXT: [3] - PdDiv54# CHECK-NEXT: [4] - PdEX055# CHECK-NEXT: [5] - PdEX156# CHECK-NEXT: [6] - PdFPCVT57# CHECK-NEXT: [7.0] - PdFPFMA58# CHECK-NEXT: [7.1] - PdFPFMA59# CHECK-NEXT: [8.0] - PdFPMAL60# CHECK-NEXT: [8.1] - PdFPMAL61# CHECK-NEXT: [9] - PdFPMMA62# CHECK-NEXT: [10] - PdFPSTO63# CHECK-NEXT: [11] - PdFPU064# CHECK-NEXT: [12] - PdFPU165# CHECK-NEXT: [13] - PdFPU266# CHECK-NEXT: [14] - PdFPU367# CHECK-NEXT: [15] - PdFPXBR68# CHECK-NEXT: [16.0] - PdLoad69# CHECK-NEXT: [16.1] - PdLoad70# CHECK-NEXT: [17] - PdMul71# CHECK-NEXT: [18] - PdStore72 73# CHECK: Resource pressure per iteration:74# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]75# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - 1.00 1.00 - - - - - - -76 77# CHECK: Resource pressure by instruction:78# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:79# CHECK-NEXT: - - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - vpinsrb $0, %eax, %xmm0, %xmm080# CHECK-NEXT: - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - - vpinsrb $1, %eax, %xmm0, %xmm081 82# CHECK: [1] Code Region83 84# CHECK: Iterations: 50085# CHECK-NEXT: Instructions: 100086# CHECK-NEXT: Total Cycles: 200387# CHECK-NEXT: Total uOps: 200088 89# CHECK: Dispatch Width: 490# CHECK-NEXT: uOps Per Cycle: 1.0091# CHECK-NEXT: IPC: 0.5092# CHECK-NEXT: Block RThroughput: 3.093 94# CHECK: Instruction Info:95# CHECK-NEXT: [1]: #uOps96# CHECK-NEXT: [2]: Latency97# CHECK-NEXT: [3]: RThroughput98# CHECK-NEXT: [4]: MayLoad99# CHECK-NEXT: [5]: MayStore100# CHECK-NEXT: [6]: HasSideEffects (U)101 102# CHECK: [1] [2] [3] [4] [5] [6] Instructions:103# CHECK-NEXT: 2 12 1.50 vpinsrw $0, %eax, %xmm0, %xmm0104# CHECK-NEXT: 2 12 1.50 vpinsrw $1, %eax, %xmm0, %xmm0105 106# CHECK: Resources:107# CHECK-NEXT: [0.0] - PdAGLU01108# CHECK-NEXT: [0.1] - PdAGLU01109# CHECK-NEXT: [1] - PdBranch110# CHECK-NEXT: [2] - PdCount111# CHECK-NEXT: [3] - PdDiv112# CHECK-NEXT: [4] - PdEX0113# CHECK-NEXT: [5] - PdEX1114# CHECK-NEXT: [6] - PdFPCVT115# CHECK-NEXT: [7.0] - PdFPFMA116# CHECK-NEXT: [7.1] - PdFPFMA117# CHECK-NEXT: [8.0] - PdFPMAL118# CHECK-NEXT: [8.1] - PdFPMAL119# CHECK-NEXT: [9] - PdFPMMA120# CHECK-NEXT: [10] - PdFPSTO121# CHECK-NEXT: [11] - PdFPU0122# CHECK-NEXT: [12] - PdFPU1123# CHECK-NEXT: [13] - PdFPU2124# CHECK-NEXT: [14] - PdFPU3125# CHECK-NEXT: [15] - PdFPXBR126# CHECK-NEXT: [16.0] - PdLoad127# CHECK-NEXT: [16.1] - PdLoad128# CHECK-NEXT: [17] - PdMul129# CHECK-NEXT: [18] - PdStore130 131# CHECK: Resource pressure per iteration:132# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]133# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - 1.00 1.00 - - - - - - -134 135# CHECK: Resource pressure by instruction:136# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:137# CHECK-NEXT: - - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - vpinsrw $0, %eax, %xmm0, %xmm0138# CHECK-NEXT: - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - - vpinsrw $1, %eax, %xmm0, %xmm0139 140# CHECK: [2] Code Region141 142# CHECK: Iterations: 500143# CHECK-NEXT: Instructions: 1000144# CHECK-NEXT: Total Cycles: 2003145# CHECK-NEXT: Total uOps: 2000146 147# CHECK: Dispatch Width: 4148# CHECK-NEXT: uOps Per Cycle: 1.00149# CHECK-NEXT: IPC: 0.50150# CHECK-NEXT: Block RThroughput: 3.0151 152# CHECK: Instruction Info:153# CHECK-NEXT: [1]: #uOps154# CHECK-NEXT: [2]: Latency155# CHECK-NEXT: [3]: RThroughput156# CHECK-NEXT: [4]: MayLoad157# CHECK-NEXT: [5]: MayStore158# CHECK-NEXT: [6]: HasSideEffects (U)159 160# CHECK: [1] [2] [3] [4] [5] [6] Instructions:161# CHECK-NEXT: 2 12 1.50 vpinsrd $0, %eax, %xmm0, %xmm0162# CHECK-NEXT: 2 12 1.50 vpinsrd $1, %eax, %xmm0, %xmm0163 164# CHECK: Resources:165# CHECK-NEXT: [0.0] - PdAGLU01166# CHECK-NEXT: [0.1] - PdAGLU01167# CHECK-NEXT: [1] - PdBranch168# CHECK-NEXT: [2] - PdCount169# CHECK-NEXT: [3] - PdDiv170# CHECK-NEXT: [4] - PdEX0171# CHECK-NEXT: [5] - PdEX1172# CHECK-NEXT: [6] - PdFPCVT173# CHECK-NEXT: [7.0] - PdFPFMA174# CHECK-NEXT: [7.1] - PdFPFMA175# CHECK-NEXT: [8.0] - PdFPMAL176# CHECK-NEXT: [8.1] - PdFPMAL177# CHECK-NEXT: [9] - PdFPMMA178# CHECK-NEXT: [10] - PdFPSTO179# CHECK-NEXT: [11] - PdFPU0180# CHECK-NEXT: [12] - PdFPU1181# CHECK-NEXT: [13] - PdFPU2182# CHECK-NEXT: [14] - PdFPU3183# CHECK-NEXT: [15] - PdFPXBR184# CHECK-NEXT: [16.0] - PdLoad185# CHECK-NEXT: [16.1] - PdLoad186# CHECK-NEXT: [17] - PdMul187# CHECK-NEXT: [18] - PdStore188 189# CHECK: Resource pressure per iteration:190# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]191# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - 1.00 1.00 - - - - - - -192 193# CHECK: Resource pressure by instruction:194# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:195# CHECK-NEXT: - - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - vpinsrd $0, %eax, %xmm0, %xmm0196# CHECK-NEXT: - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - - vpinsrd $1, %eax, %xmm0, %xmm0197 198# CHECK: [3] Code Region199 200# CHECK: Iterations: 500201# CHECK-NEXT: Instructions: 1000202# CHECK-NEXT: Total Cycles: 2003203# CHECK-NEXT: Total uOps: 2000204 205# CHECK: Dispatch Width: 4206# CHECK-NEXT: uOps Per Cycle: 1.00207# CHECK-NEXT: IPC: 0.50208# CHECK-NEXT: Block RThroughput: 3.0209 210# CHECK: Instruction Info:211# CHECK-NEXT: [1]: #uOps212# CHECK-NEXT: [2]: Latency213# CHECK-NEXT: [3]: RThroughput214# CHECK-NEXT: [4]: MayLoad215# CHECK-NEXT: [5]: MayStore216# CHECK-NEXT: [6]: HasSideEffects (U)217 218# CHECK: [1] [2] [3] [4] [5] [6] Instructions:219# CHECK-NEXT: 2 12 1.50 vpinsrq $0, %rax, %xmm0, %xmm0220# CHECK-NEXT: 2 12 1.50 vpinsrq $1, %rax, %xmm0, %xmm0221 222# CHECK: Resources:223# CHECK-NEXT: [0.0] - PdAGLU01224# CHECK-NEXT: [0.1] - PdAGLU01225# CHECK-NEXT: [1] - PdBranch226# CHECK-NEXT: [2] - PdCount227# CHECK-NEXT: [3] - PdDiv228# CHECK-NEXT: [4] - PdEX0229# CHECK-NEXT: [5] - PdEX1230# CHECK-NEXT: [6] - PdFPCVT231# CHECK-NEXT: [7.0] - PdFPFMA232# CHECK-NEXT: [7.1] - PdFPFMA233# CHECK-NEXT: [8.0] - PdFPMAL234# CHECK-NEXT: [8.1] - PdFPMAL235# CHECK-NEXT: [9] - PdFPMMA236# CHECK-NEXT: [10] - PdFPSTO237# CHECK-NEXT: [11] - PdFPU0238# CHECK-NEXT: [12] - PdFPU1239# CHECK-NEXT: [13] - PdFPU2240# CHECK-NEXT: [14] - PdFPU3241# CHECK-NEXT: [15] - PdFPXBR242# CHECK-NEXT: [16.0] - PdLoad243# CHECK-NEXT: [16.1] - PdLoad244# CHECK-NEXT: [17] - PdMul245# CHECK-NEXT: [18] - PdStore246 247# CHECK: Resource pressure per iteration:248# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]249# CHECK-NEXT: - - - - - - - - - - 3.00 3.00 - - 1.00 1.00 - - - - - - -250 251# CHECK: Resource pressure by instruction:252# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:253# CHECK-NEXT: - - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - vpinsrq $0, %rax, %xmm0, %xmm0254# CHECK-NEXT: - - - - - - - - - - 3.00 - - - 1.00 - - - - - - - - vpinsrq $1, %rax, %xmm0, %xmm0255