309 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -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: 236# 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 10 1.00 vcvtsi2ss %ecx, %xmm0, %xmm050 51# CHECK: Resources:52# CHECK-NEXT: [0] - JALU053# CHECK-NEXT: [1] - JALU154# CHECK-NEXT: [2] - JDiv55# CHECK-NEXT: [3] - JFPA56# CHECK-NEXT: [4] - JFPM57# CHECK-NEXT: [5] - JFPU058# CHECK-NEXT: [6] - JFPU159# CHECK-NEXT: [7] - JLAGU60# CHECK-NEXT: [8] - JMul61# CHECK-NEXT: [9] - JSAGU62# CHECK-NEXT: [10] - JSTC63# CHECK-NEXT: [11] - JVALU064# CHECK-NEXT: [12] - JVALU165# CHECK-NEXT: [13] - JVIMUL66 67# CHECK: Resource pressure per iteration:68# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]69# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -70 71# CHECK: Resource pressure by instruction:72# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:73# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2ss %ecx, %xmm0, %xmm074 75# CHECK: [1] Code Region76 77# CHECK: Iterations: 50078# CHECK-NEXT: Instructions: 50079# CHECK-NEXT: Total Cycles: 200380# CHECK-NEXT: Total uOps: 100081 82# CHECK: Dispatch Width: 283# CHECK-NEXT: uOps Per Cycle: 0.5084# CHECK-NEXT: IPC: 0.2585# CHECK-NEXT: Block RThroughput: 1.086 87# CHECK: Instruction Info:88# CHECK-NEXT: [1]: #uOps89# CHECK-NEXT: [2]: Latency90# CHECK-NEXT: [3]: RThroughput91# CHECK-NEXT: [4]: MayLoad92# CHECK-NEXT: [5]: MayStore93# CHECK-NEXT: [6]: HasSideEffects (U)94 95# CHECK: [1] [2] [3] [4] [5] [6] Instructions:96# CHECK-NEXT: 2 10 1.00 vcvtsi2sd %ecx, %xmm0, %xmm097 98# CHECK: Resources:99# CHECK-NEXT: [0] - JALU0100# CHECK-NEXT: [1] - JALU1101# CHECK-NEXT: [2] - JDiv102# CHECK-NEXT: [3] - JFPA103# CHECK-NEXT: [4] - JFPM104# CHECK-NEXT: [5] - JFPU0105# CHECK-NEXT: [6] - JFPU1106# CHECK-NEXT: [7] - JLAGU107# CHECK-NEXT: [8] - JMul108# CHECK-NEXT: [9] - JSAGU109# CHECK-NEXT: [10] - JSTC110# CHECK-NEXT: [11] - JVALU0111# CHECK-NEXT: [12] - JVALU1112# CHECK-NEXT: [13] - JVIMUL113 114# CHECK: Resource pressure per iteration:115# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]116# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -117 118# CHECK: Resource pressure by instruction:119# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:120# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2sd %ecx, %xmm0, %xmm0121 122# CHECK: [2] Code Region123 124# CHECK: Iterations: 500125# CHECK-NEXT: Instructions: 500126# CHECK-NEXT: Total Cycles: 2003127# CHECK-NEXT: Total uOps: 1000128 129# CHECK: Dispatch Width: 2130# CHECK-NEXT: uOps Per Cycle: 0.50131# CHECK-NEXT: IPC: 0.25132# CHECK-NEXT: Block RThroughput: 1.0133 134# CHECK: Instruction Info:135# CHECK-NEXT: [1]: #uOps136# CHECK-NEXT: [2]: Latency137# CHECK-NEXT: [3]: RThroughput138# CHECK-NEXT: [4]: MayLoad139# CHECK-NEXT: [5]: MayStore140# CHECK-NEXT: [6]: HasSideEffects (U)141 142# CHECK: [1] [2] [3] [4] [5] [6] Instructions:143# CHECK-NEXT: 2 10 1.00 cvtsi2ss %ecx, %xmm0144 145# CHECK: Resources:146# CHECK-NEXT: [0] - JALU0147# CHECK-NEXT: [1] - JALU1148# CHECK-NEXT: [2] - JDiv149# CHECK-NEXT: [3] - JFPA150# CHECK-NEXT: [4] - JFPM151# CHECK-NEXT: [5] - JFPU0152# CHECK-NEXT: [6] - JFPU1153# CHECK-NEXT: [7] - JLAGU154# CHECK-NEXT: [8] - JMul155# CHECK-NEXT: [9] - JSAGU156# CHECK-NEXT: [10] - JSTC157# CHECK-NEXT: [11] - JVALU0158# CHECK-NEXT: [12] - JVALU1159# CHECK-NEXT: [13] - JVIMUL160 161# CHECK: Resource pressure per iteration:162# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]163# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -164 165# CHECK: Resource pressure by instruction:166# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:167# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ss %ecx, %xmm0168 169# CHECK: [3] Code Region170 171# CHECK: Iterations: 500172# CHECK-NEXT: Instructions: 500173# CHECK-NEXT: Total Cycles: 2003174# CHECK-NEXT: Total uOps: 1000175 176# CHECK: Dispatch Width: 2177# CHECK-NEXT: uOps Per Cycle: 0.50178# CHECK-NEXT: IPC: 0.25179# CHECK-NEXT: Block RThroughput: 1.0180 181# CHECK: Instruction Info:182# CHECK-NEXT: [1]: #uOps183# CHECK-NEXT: [2]: Latency184# CHECK-NEXT: [3]: RThroughput185# CHECK-NEXT: [4]: MayLoad186# CHECK-NEXT: [5]: MayStore187# CHECK-NEXT: [6]: HasSideEffects (U)188 189# CHECK: [1] [2] [3] [4] [5] [6] Instructions:190# CHECK-NEXT: 2 10 1.00 cvtsi2sd %ecx, %xmm0191 192# CHECK: Resources:193# CHECK-NEXT: [0] - JALU0194# CHECK-NEXT: [1] - JALU1195# CHECK-NEXT: [2] - JDiv196# CHECK-NEXT: [3] - JFPA197# CHECK-NEXT: [4] - JFPM198# CHECK-NEXT: [5] - JFPU0199# CHECK-NEXT: [6] - JFPU1200# CHECK-NEXT: [7] - JLAGU201# CHECK-NEXT: [8] - JMul202# CHECK-NEXT: [9] - JSAGU203# CHECK-NEXT: [10] - JSTC204# CHECK-NEXT: [11] - JVALU0205# CHECK-NEXT: [12] - JVALU1206# CHECK-NEXT: [13] - JVIMUL207 208# CHECK: Resource pressure per iteration:209# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]210# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - -211 212# CHECK: Resource pressure by instruction:213# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:214# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sd %ecx, %xmm0215 216# CHECK: [4] Code Region217 218# CHECK: Iterations: 500219# CHECK-NEXT: Instructions: 500220# CHECK-NEXT: Total Cycles: 510221# CHECK-NEXT: Total uOps: 1000222 223# CHECK: Dispatch Width: 2224# CHECK-NEXT: uOps Per Cycle: 1.96225# CHECK-NEXT: IPC: 0.98226# CHECK-NEXT: Block RThroughput: 1.0227 228# CHECK: Instruction Info:229# CHECK-NEXT: [1]: #uOps230# CHECK-NEXT: [2]: Latency231# CHECK-NEXT: [3]: RThroughput232# CHECK-NEXT: [4]: MayLoad233# CHECK-NEXT: [5]: MayStore234# CHECK-NEXT: [6]: HasSideEffects (U)235 236# CHECK: [1] [2] [3] [4] [5] [6] Instructions:237# CHECK-NEXT: 2 8 0.50 movd %ecx, %xmm0238 239# CHECK: Resources:240# CHECK-NEXT: [0] - JALU0241# CHECK-NEXT: [1] - JALU1242# CHECK-NEXT: [2] - JDiv243# CHECK-NEXT: [3] - JFPA244# CHECK-NEXT: [4] - JFPM245# CHECK-NEXT: [5] - JFPU0246# CHECK-NEXT: [6] - JFPU1247# CHECK-NEXT: [7] - JLAGU248# CHECK-NEXT: [8] - JMul249# CHECK-NEXT: [9] - JSAGU250# CHECK-NEXT: [10] - JSTC251# CHECK-NEXT: [11] - JVALU0252# CHECK-NEXT: [12] - JVALU1253# CHECK-NEXT: [13] - JVIMUL254 255# CHECK: Resource pressure per iteration:256# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]257# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - -258 259# CHECK: Resource pressure by instruction:260# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:261# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movd %ecx, %xmm0262 263# CHECK: [5] Code Region264 265# CHECK: Iterations: 500266# CHECK-NEXT: Instructions: 500267# CHECK-NEXT: Total Cycles: 510268# CHECK-NEXT: Total uOps: 1000269 270# CHECK: Dispatch Width: 2271# CHECK-NEXT: uOps Per Cycle: 1.96272# CHECK-NEXT: IPC: 0.98273# CHECK-NEXT: Block RThroughput: 1.0274 275# CHECK: Instruction Info:276# CHECK-NEXT: [1]: #uOps277# CHECK-NEXT: [2]: Latency278# CHECK-NEXT: [3]: RThroughput279# CHECK-NEXT: [4]: MayLoad280# CHECK-NEXT: [5]: MayStore281# CHECK-NEXT: [6]: HasSideEffects (U)282 283# CHECK: [1] [2] [3] [4] [5] [6] Instructions:284# CHECK-NEXT: 2 8 0.50 movq %rcx, %xmm0285 286# CHECK: Resources:287# CHECK-NEXT: [0] - JALU0288# CHECK-NEXT: [1] - JALU1289# CHECK-NEXT: [2] - JDiv290# CHECK-NEXT: [3] - JFPA291# CHECK-NEXT: [4] - JFPM292# CHECK-NEXT: [5] - JFPU0293# CHECK-NEXT: [6] - JFPU1294# CHECK-NEXT: [7] - JLAGU295# CHECK-NEXT: [8] - JMul296# CHECK-NEXT: [9] - JSAGU297# CHECK-NEXT: [10] - JSTC298# CHECK-NEXT: [11] - JVALU0299# CHECK-NEXT: [12] - JVALU1300# CHECK-NEXT: [13] - JVIMUL301 302# CHECK: Resource pressure per iteration:303# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]304# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - -305 306# CHECK: Resource pressure by instruction:307# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:308# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movq %rcx, %xmm0309