363 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-BEGIN5vcvtsi2ss %ecx, %xmm0, %xmm06# LLVM-MCA-END7 8# LLVM-MCA-BEGIN9vcvtsi2sd %ecx, %xmm0, %xmm010# LLVM-MCA-END11 12# LLVM-MCA-BEGIN13cvtsi2ss %ecx, %xmm014# LLVM-MCA-END15 16# LLVM-MCA-BEGIN17cvtsi2sd %ecx, %xmm018# LLVM-MCA-END19 20# LLVM-MCA-BEGIN21movd %ecx, %xmm022# LLVM-MCA-END23 24# LLVM-MCA-BEGIN25movq %rcx, %xmm026# LLVM-MCA-END27 28# CHECK: [0] Code Region29 30# CHECK: Iterations: 50031# CHECK-NEXT: Instructions: 50032# CHECK-NEXT: Total Cycles: 200333# CHECK-NEXT: Total uOps: 100034 35# CHECK: Dispatch Width: 436# CHECK-NEXT: uOps Per Cycle: 0.5037# CHECK-NEXT: IPC: 0.2538# CHECK-NEXT: Block RThroughput: 1.039 40# CHECK: Instruction Info:41# CHECK-NEXT: [1]: #uOps42# CHECK-NEXT: [2]: Latency43# CHECK-NEXT: [3]: RThroughput44# CHECK-NEXT: [4]: MayLoad45# CHECK-NEXT: [5]: MayStore46# CHECK-NEXT: [6]: HasSideEffects (U)47 48# CHECK: [1] [2] [3] [4] [5] [6] Instructions:49# CHECK-NEXT: 2 14 1.00 vcvtsi2ss %ecx, %xmm0, %xmm050 51# CHECK: Resources:52# CHECK-NEXT: [0.0] - PdAGLU0153# CHECK-NEXT: [0.1] - PdAGLU0154# CHECK-NEXT: [1] - PdBranch55# CHECK-NEXT: [2] - PdCount56# CHECK-NEXT: [3] - PdDiv57# CHECK-NEXT: [4] - PdEX058# CHECK-NEXT: [5] - PdEX159# CHECK-NEXT: [6] - PdFPCVT60# CHECK-NEXT: [7.0] - PdFPFMA61# CHECK-NEXT: [7.1] - PdFPFMA62# CHECK-NEXT: [8.0] - PdFPMAL63# CHECK-NEXT: [8.1] - PdFPMAL64# CHECK-NEXT: [9] - PdFPMMA65# CHECK-NEXT: [10] - PdFPSTO66# CHECK-NEXT: [11] - PdFPU067# CHECK-NEXT: [12] - PdFPU168# CHECK-NEXT: [13] - PdFPU269# CHECK-NEXT: [14] - PdFPU370# CHECK-NEXT: [15] - PdFPXBR71# CHECK-NEXT: [16.0] - PdLoad72# CHECK-NEXT: [16.1] - PdLoad73# CHECK-NEXT: [17] - PdMul74# CHECK-NEXT: [18] - PdStore75 76# CHECK: Resource pressure per iteration:77# 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]78# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - -79 80# CHECK: Resource pressure by instruction:81# 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:82# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - - vcvtsi2ss %ecx, %xmm0, %xmm083 84# CHECK: [1] Code Region85 86# CHECK: Iterations: 50087# CHECK-NEXT: Instructions: 50088# CHECK-NEXT: Total Cycles: 200389# CHECK-NEXT: Total uOps: 100090 91# CHECK: Dispatch Width: 492# CHECK-NEXT: uOps Per Cycle: 0.5093# CHECK-NEXT: IPC: 0.2594# CHECK-NEXT: Block RThroughput: 1.095 96# CHECK: Instruction Info:97# CHECK-NEXT: [1]: #uOps98# CHECK-NEXT: [2]: Latency99# CHECK-NEXT: [3]: RThroughput100# CHECK-NEXT: [4]: MayLoad101# CHECK-NEXT: [5]: MayStore102# CHECK-NEXT: [6]: HasSideEffects (U)103 104# CHECK: [1] [2] [3] [4] [5] [6] Instructions:105# CHECK-NEXT: 2 14 1.00 vcvtsi2sd %ecx, %xmm0, %xmm0106 107# CHECK: Resources:108# CHECK-NEXT: [0.0] - PdAGLU01109# CHECK-NEXT: [0.1] - PdAGLU01110# CHECK-NEXT: [1] - PdBranch111# CHECK-NEXT: [2] - PdCount112# CHECK-NEXT: [3] - PdDiv113# CHECK-NEXT: [4] - PdEX0114# CHECK-NEXT: [5] - PdEX1115# CHECK-NEXT: [6] - PdFPCVT116# CHECK-NEXT: [7.0] - PdFPFMA117# CHECK-NEXT: [7.1] - PdFPFMA118# CHECK-NEXT: [8.0] - PdFPMAL119# CHECK-NEXT: [8.1] - PdFPMAL120# CHECK-NEXT: [9] - PdFPMMA121# CHECK-NEXT: [10] - PdFPSTO122# CHECK-NEXT: [11] - PdFPU0123# CHECK-NEXT: [12] - PdFPU1124# CHECK-NEXT: [13] - PdFPU2125# CHECK-NEXT: [14] - PdFPU3126# CHECK-NEXT: [15] - PdFPXBR127# CHECK-NEXT: [16.0] - PdLoad128# CHECK-NEXT: [16.1] - PdLoad129# CHECK-NEXT: [17] - PdMul130# CHECK-NEXT: [18] - PdStore131 132# CHECK: Resource pressure per iteration:133# 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]134# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - -135 136# CHECK: Resource pressure by instruction:137# 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:138# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - - vcvtsi2sd %ecx, %xmm0, %xmm0139 140# CHECK: [2] Code Region141 142# CHECK: Iterations: 500143# CHECK-NEXT: Instructions: 500144# CHECK-NEXT: Total Cycles: 2003145# CHECK-NEXT: Total uOps: 1000146 147# CHECK: Dispatch Width: 4148# CHECK-NEXT: uOps Per Cycle: 0.50149# CHECK-NEXT: IPC: 0.25150# CHECK-NEXT: Block RThroughput: 1.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 14 1.00 cvtsi2ss %ecx, %xmm0162 163# CHECK: Resources:164# CHECK-NEXT: [0.0] - PdAGLU01165# CHECK-NEXT: [0.1] - PdAGLU01166# CHECK-NEXT: [1] - PdBranch167# CHECK-NEXT: [2] - PdCount168# CHECK-NEXT: [3] - PdDiv169# CHECK-NEXT: [4] - PdEX0170# CHECK-NEXT: [5] - PdEX1171# CHECK-NEXT: [6] - PdFPCVT172# CHECK-NEXT: [7.0] - PdFPFMA173# CHECK-NEXT: [7.1] - PdFPFMA174# CHECK-NEXT: [8.0] - PdFPMAL175# CHECK-NEXT: [8.1] - PdFPMAL176# CHECK-NEXT: [9] - PdFPMMA177# CHECK-NEXT: [10] - PdFPSTO178# CHECK-NEXT: [11] - PdFPU0179# CHECK-NEXT: [12] - PdFPU1180# CHECK-NEXT: [13] - PdFPU2181# CHECK-NEXT: [14] - PdFPU3182# CHECK-NEXT: [15] - PdFPXBR183# CHECK-NEXT: [16.0] - PdLoad184# CHECK-NEXT: [16.1] - PdLoad185# CHECK-NEXT: [17] - PdMul186# CHECK-NEXT: [18] - PdStore187 188# CHECK: Resource pressure per iteration:189# 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]190# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - -191 192# CHECK: Resource pressure by instruction:193# 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:194# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - - cvtsi2ss %ecx, %xmm0195 196# CHECK: [3] Code Region197 198# CHECK: Iterations: 500199# CHECK-NEXT: Instructions: 500200# CHECK-NEXT: Total Cycles: 2003201# CHECK-NEXT: Total uOps: 1000202 203# CHECK: Dispatch Width: 4204# CHECK-NEXT: uOps Per Cycle: 0.50205# CHECK-NEXT: IPC: 0.25206# CHECK-NEXT: Block RThroughput: 1.0207 208# CHECK: Instruction Info:209# CHECK-NEXT: [1]: #uOps210# CHECK-NEXT: [2]: Latency211# CHECK-NEXT: [3]: RThroughput212# CHECK-NEXT: [4]: MayLoad213# CHECK-NEXT: [5]: MayStore214# CHECK-NEXT: [6]: HasSideEffects (U)215 216# CHECK: [1] [2] [3] [4] [5] [6] Instructions:217# CHECK-NEXT: 2 14 1.00 cvtsi2sd %ecx, %xmm0218 219# CHECK: Resources:220# CHECK-NEXT: [0.0] - PdAGLU01221# CHECK-NEXT: [0.1] - PdAGLU01222# CHECK-NEXT: [1] - PdBranch223# CHECK-NEXT: [2] - PdCount224# CHECK-NEXT: [3] - PdDiv225# CHECK-NEXT: [4] - PdEX0226# CHECK-NEXT: [5] - PdEX1227# CHECK-NEXT: [6] - PdFPCVT228# CHECK-NEXT: [7.0] - PdFPFMA229# CHECK-NEXT: [7.1] - PdFPFMA230# CHECK-NEXT: [8.0] - PdFPMAL231# CHECK-NEXT: [8.1] - PdFPMAL232# CHECK-NEXT: [9] - PdFPMMA233# CHECK-NEXT: [10] - PdFPSTO234# CHECK-NEXT: [11] - PdFPU0235# CHECK-NEXT: [12] - PdFPU1236# CHECK-NEXT: [13] - PdFPU2237# CHECK-NEXT: [14] - PdFPU3238# CHECK-NEXT: [15] - PdFPXBR239# CHECK-NEXT: [16.0] - PdLoad240# CHECK-NEXT: [16.1] - PdLoad241# CHECK-NEXT: [17] - PdMul242# CHECK-NEXT: [18] - PdStore243 244# CHECK: Resource pressure per iteration:245# 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]246# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - -247 248# CHECK: Resource pressure by instruction:249# 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:250# CHECK-NEXT: - - - - - - - 1.00 - - - - - 1.00 1.00 - - - - - - - - cvtsi2sd %ecx, %xmm0251 252# CHECK: [4] Code Region253 254# CHECK: Iterations: 500255# CHECK-NEXT: Instructions: 500256# CHECK-NEXT: Total Cycles: 512257# CHECK-NEXT: Total uOps: 1000258 259# CHECK: Dispatch Width: 4260# CHECK-NEXT: uOps Per Cycle: 1.95261# CHECK-NEXT: IPC: 0.98262# CHECK-NEXT: Block RThroughput: 1.0263 264# CHECK: Instruction Info:265# CHECK-NEXT: [1]: #uOps266# CHECK-NEXT: [2]: Latency267# CHECK-NEXT: [3]: RThroughput268# CHECK-NEXT: [4]: MayLoad269# CHECK-NEXT: [5]: MayStore270# CHECK-NEXT: [6]: HasSideEffects (U)271 272# CHECK: [1] [2] [3] [4] [5] [6] Instructions:273# CHECK-NEXT: 2 11 1.00 movd %ecx, %xmm0274 275# CHECK: Resources:276# CHECK-NEXT: [0.0] - PdAGLU01277# CHECK-NEXT: [0.1] - PdAGLU01278# CHECK-NEXT: [1] - PdBranch279# CHECK-NEXT: [2] - PdCount280# CHECK-NEXT: [3] - PdDiv281# CHECK-NEXT: [4] - PdEX0282# CHECK-NEXT: [5] - PdEX1283# CHECK-NEXT: [6] - PdFPCVT284# CHECK-NEXT: [7.0] - PdFPFMA285# CHECK-NEXT: [7.1] - PdFPFMA286# CHECK-NEXT: [8.0] - PdFPMAL287# CHECK-NEXT: [8.1] - PdFPMAL288# CHECK-NEXT: [9] - PdFPMMA289# CHECK-NEXT: [10] - PdFPSTO290# CHECK-NEXT: [11] - PdFPU0291# CHECK-NEXT: [12] - PdFPU1292# CHECK-NEXT: [13] - PdFPU2293# CHECK-NEXT: [14] - PdFPU3294# CHECK-NEXT: [15] - PdFPXBR295# CHECK-NEXT: [16.0] - PdLoad296# CHECK-NEXT: [16.1] - PdLoad297# CHECK-NEXT: [17] - PdMul298# CHECK-NEXT: [18] - PdStore299 300# CHECK: Resource pressure per iteration:301# 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]302# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - -303 304# CHECK: Resource pressure by instruction:305# 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:306# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - movd %ecx, %xmm0307 308# CHECK: [5] Code Region309 310# CHECK: Iterations: 500311# CHECK-NEXT: Instructions: 500312# CHECK-NEXT: Total Cycles: 512313# CHECK-NEXT: Total uOps: 1000314 315# CHECK: Dispatch Width: 4316# CHECK-NEXT: uOps Per Cycle: 1.95317# CHECK-NEXT: IPC: 0.98318# CHECK-NEXT: Block RThroughput: 1.0319 320# CHECK: Instruction Info:321# CHECK-NEXT: [1]: #uOps322# CHECK-NEXT: [2]: Latency323# CHECK-NEXT: [3]: RThroughput324# CHECK-NEXT: [4]: MayLoad325# CHECK-NEXT: [5]: MayStore326# CHECK-NEXT: [6]: HasSideEffects (U)327 328# CHECK: [1] [2] [3] [4] [5] [6] Instructions:329# CHECK-NEXT: 2 11 1.00 movq %rcx, %xmm0330 331# CHECK: Resources:332# CHECK-NEXT: [0.0] - PdAGLU01333# CHECK-NEXT: [0.1] - PdAGLU01334# CHECK-NEXT: [1] - PdBranch335# CHECK-NEXT: [2] - PdCount336# CHECK-NEXT: [3] - PdDiv337# CHECK-NEXT: [4] - PdEX0338# CHECK-NEXT: [5] - PdEX1339# CHECK-NEXT: [6] - PdFPCVT340# CHECK-NEXT: [7.0] - PdFPFMA341# CHECK-NEXT: [7.1] - PdFPFMA342# CHECK-NEXT: [8.0] - PdFPMAL343# CHECK-NEXT: [8.1] - PdFPMAL344# CHECK-NEXT: [9] - PdFPMMA345# CHECK-NEXT: [10] - PdFPSTO346# CHECK-NEXT: [11] - PdFPU0347# CHECK-NEXT: [12] - PdFPU1348# CHECK-NEXT: [13] - PdFPU2349# CHECK-NEXT: [14] - PdFPU3350# CHECK-NEXT: [15] - PdFPXBR351# CHECK-NEXT: [16.0] - PdLoad352# CHECK-NEXT: [16.1] - PdLoad353# CHECK-NEXT: [17] - PdMul354# CHECK-NEXT: [18] - PdStore355 356# CHECK: Resource pressure per iteration:357# 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]358# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - -359 360# CHECK: Resource pressure by instruction:361# 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:362# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - movq %rcx, %xmm0363