218 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SANDY3# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,HASWELL4# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BDWELL5# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE6# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE7# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BARCELONA8# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BDVER29# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BTVER210# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER111# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER212# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver3 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER313# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER414 15vdivps %xmm0, %xmm1, %xmm116vaddps (%rax), %xmm1, %xmm117 18# ALL: Iterations: 119# ALL-NEXT: Instructions: 220 21# BARCELONA-NEXT: Total Cycles: 2022# BARCELONA-NEXT: Total uOps: 323 24# BDVER2-NEXT: Total Cycles: 1725# BDVER2-NEXT: Total uOps: 226 27# BDWELL-NEXT: Total Cycles: 1728# BDWELL-NEXT: Total uOps: 329 30# BTVER2-NEXT: Total Cycles: 2531# BTVER2-NEXT: Total uOps: 232 33# HASWELL-NEXT: Total Cycles: 1934# HASWELL-NEXT: Total uOps: 335 36# SANDY-NEXT: Total Cycles: 2037# SANDY-NEXT: Total uOps: 338 39# SKYLAKE-NEXT: Total Cycles: 1840# SKYLAKE-NEXT: Total uOps: 341 42# ZNVER1-NEXT: Total Cycles: 1543# ZNVER1-NEXT: Total uOps: 244 45# ZNVER2-NEXT: Total Cycles: 1646# ZNVER2-NEXT: Total uOps: 247 48# ZNVER3-NEXT: Total Cycles: 1749# ZNVER3-NEXT: Total uOps: 250 51# ZNVER4-NEXT: Total Cycles: 1752# ZNVER4-NEXT: Total uOps: 253 54# BARCELONA: Dispatch Width: 455# BARCELONA-NEXT: uOps Per Cycle: 0.1556# BARCELONA-NEXT: IPC: 0.1057# BARCELONA-NEXT: Block RThroughput: 14.058 59# BDVER2: Dispatch Width: 460# BDVER2-NEXT: uOps Per Cycle: 0.1261# BDVER2-NEXT: IPC: 0.1262# BDVER2-NEXT: Block RThroughput: 5.063 64# BDWELL: Dispatch Width: 465# BDWELL-NEXT: uOps Per Cycle: 0.1866# BDWELL-NEXT: IPC: 0.1267# BDWELL-NEXT: Block RThroughput: 5.068 69# BTVER2: Dispatch Width: 270# BTVER2-NEXT: uOps Per Cycle: 0.0871# BTVER2-NEXT: IPC: 0.0872# BTVER2-NEXT: Block RThroughput: 19.073 74# HASWELL: Dispatch Width: 475# HASWELL-NEXT: uOps Per Cycle: 0.1676# HASWELL-NEXT: IPC: 0.1177# HASWELL-NEXT: Block RThroughput: 7.078 79# SANDY: Dispatch Width: 480# SANDY-NEXT: uOps Per Cycle: 0.1581# SANDY-NEXT: IPC: 0.1082# SANDY-NEXT: Block RThroughput: 14.083 84# SKYLAKE: Dispatch Width: 685# SKYLAKE-NEXT: uOps Per Cycle: 0.1786# SKYLAKE-NEXT: IPC: 0.1187# SKYLAKE-NEXT: Block RThroughput: 3.088 89# ZNVER1: Dispatch Width: 490# ZNVER1-NEXT: uOps Per Cycle: 0.1391# ZNVER1-NEXT: IPC: 0.1392# ZNVER1-NEXT: Block RThroughput: 3.093 94# ZNVER2: Dispatch Width: 495# ZNVER2-NEXT: uOps Per Cycle: 0.1396# ZNVER2-NEXT: IPC: 0.1397# ZNVER2-NEXT: Block RThroughput: 5.098 99# ZNVER3: Dispatch Width: 6100# ZNVER3-NEXT: uOps Per Cycle: 0.12101# ZNVER3-NEXT: IPC: 0.12102# ZNVER3-NEXT: Block RThroughput: 3.0103 104# ZNVER4: Dispatch Width: 6105# ZNVER4-NEXT: uOps Per Cycle: 0.12106# ZNVER4-NEXT: IPC: 0.12107# ZNVER4-NEXT: Block RThroughput: 3.0108 109# ALL: Timeline view:110 111# BARCELONA-NEXT: 0123456789112# BARCELONA-NEXT: Index 0123456789113 114# BDVER2-NEXT: 0123456115# BDVER2-NEXT: Index 0123456789116 117# BDWELL-NEXT: 0123456118# BDWELL-NEXT: Index 0123456789119 120# BTVER2-NEXT: 0123456789121# BTVER2-NEXT: Index 0123456789 01234122 123# HASWELL-NEXT: 012345678124# HASWELL-NEXT: Index 0123456789125 126# SANDY-NEXT: 0123456789127# SANDY-NEXT: Index 0123456789128 129# SKYLAKE-NEXT: 01234567130# SKYLAKE-NEXT: Index 0123456789131 132# ZNVER1-NEXT: 01234133# ZNVER1-NEXT: Index 0123456789134 135# ZNVER2-NEXT: 012345136# ZNVER2-NEXT: Index 0123456789137 138# ZNVER3-NEXT: 0123456139# ZNVER3-NEXT: Index 0123456789140 141# ZNVER4-NEXT: 0123456142# ZNVER4-NEXT: Index 0123456789143 144# BARCELONA: [0,0] DeeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1145# BARCELONA-NEXT: [0,1] D========eeeeeeeeeER vaddps (%rax), %xmm1, %xmm1146 147# BDVER2: [0,0] DeeeeeeeeeER .. vdivps %xmm0, %xmm1, %xmm1148# BDVER2-NEXT: [0,1] D====eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1149 150# BDWELL: [0,0] DeeeeeeeeeeeER .. vdivps %xmm0, %xmm1, %xmm1151# BDWELL-NEXT: [0,1] D======eeeeeeeeER vaddps (%rax), %xmm1, %xmm1152 153# BTVER2: [0,0] DeeeeeeeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1154# BTVER2-NEXT: [0,1] D==============eeeeeeeeER vaddps (%rax), %xmm1, %xmm1155 156# HASWELL: [0,0] DeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1157# HASWELL-NEXT: [0,1] D=======eeeeeeeeeER vaddps (%rax), %xmm1, %xmm1158 159# SANDY: [0,0] DeeeeeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1160# SANDY-NEXT: [0,1] D========eeeeeeeeeER vaddps (%rax), %xmm1, %xmm1161 162# SKYLAKE: [0,0] DeeeeeeeeeeeER . . vdivps %xmm0, %xmm1, %xmm1163# SKYLAKE-NEXT: [0,1] D=====eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1164 165# ZNVER1: [0,0] DeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1166# ZNVER1-NEXT: [0,1] D==eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1167 168# ZNVER2: [0,0] DeeeeeeeeeeER . vdivps %xmm0, %xmm1, %xmm1169# ZNVER2-NEXT: [0,1] D===eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1170 171# ZNVER3: [0,0] DeeeeeeeeeeeER .. vdivps %xmm0, %xmm1, %xmm1172# ZNVER3-NEXT: [0,1] D====eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1173 174# ZNVER4: [0,0] DeeeeeeeeeeeER .. vdivps %xmm0, %xmm1, %xmm1175# ZNVER4-NEXT: [0,1] D====eeeeeeeeeeER vaddps (%rax), %xmm1, %xmm1176 177# ALL: Average Wait times (based on the timeline view):178# ALL-NEXT: [0]: Executions179# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue180# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready181# ALL-NEXT: [3]: Average time elapsed from WB until retire stage182 183# ALL: [0] [1] [2] [3]184# ALL-NEXT: 0. 1 1.0 1.0 0.0 vdivps %xmm0, %xmm1, %xmm1185 186# BARCELONA-NEXT: 1. 1 9.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1187# BARCELONA-NEXT: 1 5.0 0.5 0.0 <total>188 189# BDVER2-NEXT: 1. 1 5.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1190# BDVER2-NEXT: 1 3.0 0.5 0.0 <total>191 192# BDWELL-NEXT: 1. 1 7.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1193# BDWELL-NEXT: 1 4.0 0.5 0.0 <total>194 195# BTVER2-NEXT: 1. 1 15.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1196# BTVER2-NEXT: 1 8.0 0.5 0.0 <total>197 198# HASWELL-NEXT: 1. 1 8.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1199# HASWELL-NEXT: 1 4.5 0.5 0.0 <total>200 201# SANDY-NEXT: 1. 1 9.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1202# SANDY-NEXT: 1 5.0 0.5 0.0 <total>203 204# SKYLAKE-NEXT: 1. 1 6.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1205# SKYLAKE-NEXT: 1 3.5 0.5 0.0 <total>206 207# ZNVER1-NEXT: 1. 1 3.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1208# ZNVER1-NEXT: 1 2.0 0.5 0.0 <total>209 210# ZNVER2-NEXT: 1. 1 4.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1211# ZNVER2-NEXT: 1 2.5 0.5 0.0 <total>212 213# ZNVER3-NEXT: 1. 1 5.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1214# ZNVER3-NEXT: 1 3.0 0.5 0.0 <total>215 216# ZNVER4-NEXT: 1. 1 5.0 0.0 0.0 vaddps (%rax), %xmm1, %xmm1217# ZNVER4-NEXT: 1 3.0 0.5 0.0 <total>218