345 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BARCELONA3# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BDVER24# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BTVER25# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER16# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER27# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,HASWELL8# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BROADWELL9# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE10# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -iterations=1 -all-views=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE11 12#LLVM-MCA-BEGIN test_sqrtss13leaq 8(%rsp, %rdi, 2), %rax14sqrtss (%rax), %xmm115#LLVM-MCA-END16 17#LLVM-MCA-BEGIN test_sqrtsd18leaq 8(%rsp, %rdi, 2), %rax19sqrtsd (%rax), %xmm120#LLVM-MCA-END21 22#LLVM-MCA-BEGIN test_rsqrtss23leaq 8(%rsp, %rdi, 2), %rax24rsqrtss (%rax), %xmm125#LLVM-MCA-END26 27#LLVM-MCA-BEGIN test_rcp28leaq 8(%rsp, %rdi, 2), %rax29rcpss (%rax), %xmm130#LLVM-MCA-END31 32# ALL: [0] Code Region - test_sqrtss33 34# ALL: Timeline view:35 36# BARCELONA-NEXT: 012345678937# BARCELONA-NEXT: Index 0123456789 012338 39# BDVER2-NEXT: 01234567840# BDVER2-NEXT: Index 012345678941 42# BROADWELL-NEXT: 012345678943# BROADWELL-NEXT: Index 012345678944 45# BTVER2-NEXT: 0123456789 046# BTVER2-NEXT: Index 0123456789 012345678947 48# HASWELL-NEXT: 012345678949# HASWELL-NEXT: Index 012345678950 51# SKYLAKE-NEXT: 012345678952# SKYLAKE-NEXT: Index 0123456789 053 54# ZNVER1-NEXT: 012345678955# ZNVER1-NEXT: Index 0123456789 0123456 57# ZNVER2-NEXT: 012345678958# ZNVER2-NEXT: Index 0123456789 0123459 60# BARCELONA: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax61# BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm162 63# BDVER2: [0,0] DeeER. . . . leaq 8(%rsp,%rdi,2), %rax64# BDVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeER sqrtss (%rax), %xmm165 66# BROADWELL: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax67# BROADWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm168 69# BTVER2: [0,0] DeeER. . . . . . leaq 8(%rsp,%rdi,2), %rax70# BTVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm171 72# HASWELL: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax73# HASWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm174 75# SKYLAKE: [0,0] DeER . . . . leaq 8(%rsp,%rdi,2), %rax76# SKYLAKE-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm177 78# ZNVER1: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax79# ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm180 81# ZNVER2: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax82# ZNVER2-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeER sqrtss (%rax), %xmm183 84# ALL: Average Wait times (based on the timeline view):85# ALL-NEXT: [0]: Executions86# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue87# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready88# ALL-NEXT: [3]: Average time elapsed from WB until retire stage89 90# ALL: [0] [1] [2] [3]91# ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax92 93# BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm194# BARCELONA-NEXT: 1 1.5 0.5 0.0 <total>95 96# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtss (%rax), %xmm197# BDVER2-NEXT: 1 2.0 0.5 0.0 <total>98 99# BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1100# BROADWELL-NEXT: 1 1.5 0.5 0.0 <total>101 102# BTVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtss (%rax), %xmm1103# BTVER2-NEXT: 1 2.0 0.5 0.0 <total>104 105# HASWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1106# HASWELL-NEXT: 1 1.5 0.5 0.0 <total>107 108# SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1109# SKYLAKE-NEXT: 1 1.5 0.5 0.0 <total>110 111# ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1112# ZNVER1-NEXT: 1 1.5 0.5 0.0 <total>113 114# ZNVER2-NEXT: 1. 1 2.0 0.0 0.0 sqrtss (%rax), %xmm1115# ZNVER2-NEXT: 1 1.5 0.5 0.0 <total>116 117# ALL: [1] Code Region - test_sqrtsd118 119# ALL: Timeline view:120 121# BARCELONA-NEXT: 0123456789 0122# BARCELONA-NEXT: Index 0123456789 0123456789123 124# BDVER2-NEXT: 012345678125# BDVER2-NEXT: Index 0123456789126 127# BROADWELL-NEXT: 0123456789128# BROADWELL-NEXT: Index 0123456789 01234129 130# BTVER2-NEXT: 0123456789 0123456131# BTVER2-NEXT: Index 0123456789 0123456789132 133# HASWELL-NEXT: 0123456789134# HASWELL-NEXT: Index 0123456789 01234135 136# SKYLAKE-NEXT: 0123456789137# SKYLAKE-NEXT: Index 0123456789 0123456138 139# ZNVER1-NEXT: 0123456789 0140# ZNVER1-NEXT: Index 0123456789 0123456789141 142# ZNVER2-NEXT: 0123456789 0143# ZNVER2-NEXT: Index 0123456789 0123456789144 145# BARCELONA: [0,0] DeER . . . . . . leaq 8(%rsp,%rdi,2), %rax146# BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1147 148# BDVER2: [0,0] DeeER. . . . leaq 8(%rsp,%rdi,2), %rax149# BDVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1150 151# BROADWELL: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax152# BROADWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1153 154# BTVER2: [0,0] DeeER. . . . . . .. leaq 8(%rsp,%rdi,2), %rax155# BTVER2-NEXT: [0,1] D==eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1156 157# HASWELL: [0,0] DeER . . . . . leaq 8(%rsp,%rdi,2), %rax158# HASWELL-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1159 160# SKYLAKE: [0,0] DeER . . . . .. leaq 8(%rsp,%rdi,2), %rax161# SKYLAKE-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1162 163# ZNVER1: [0,0] DeER . . . . . . leaq 8(%rsp,%rdi,2), %rax164# ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1165 166# ZNVER2: [0,0] DeER . . . . . . leaq 8(%rsp,%rdi,2), %rax167# ZNVER2-NEXT: [0,1] D=eeeeeeeeeeeeeeeeeeeeeeeeeeeER sqrtsd (%rax), %xmm1168 169# ALL: Average Wait times (based on the timeline view):170# ALL-NEXT: [0]: Executions171# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue172# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready173# ALL-NEXT: [3]: Average time elapsed from WB until retire stage174 175# ALL: [0] [1] [2] [3]176# ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax177 178# BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1179# BARCELONA-NEXT: 1 1.5 0.5 0.0 <total>180 181# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtsd (%rax), %xmm1182# BDVER2-NEXT: 1 2.0 0.5 0.0 <total>183 184# BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1185# BROADWELL-NEXT: 1 1.5 0.5 0.0 <total>186 187# BTVER2-NEXT: 1. 1 3.0 0.0 0.0 sqrtsd (%rax), %xmm1188# BTVER2-NEXT: 1 2.0 0.5 0.0 <total>189 190# HASWELL-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1191# HASWELL-NEXT: 1 1.5 0.5 0.0 <total>192 193# SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1194# SKYLAKE-NEXT: 1 1.5 0.5 0.0 <total>195 196# ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1197# ZNVER1-NEXT: 1 1.5 0.5 0.0 <total>198 199# ZNVER2-NEXT: 1. 1 2.0 0.0 0.0 sqrtsd (%rax), %xmm1200# ZNVER2-NEXT: 1 1.5 0.5 0.0 <total>201 202# ALL: [2] Code Region - test_rsqrtss203 204# ALL: Timeline view:205 206# BARCELONA-NEXT: 01234207# BDVER2-NEXT: 01234208# BROADWELL-NEXT: 0123209# BTVER2-NEXT: 01210# HASWELL-NEXT: 0123211# SKYLAKE-NEXT: 012212# ZNVER1-NEXT: 012345213# ZNVER2-NEXT: 012345214 215# ALL-NEXT: Index 0123456789216 217# BARCELONA: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax218# BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeER rsqrtss (%rax), %xmm1219 220# BDVER2: [0,0] DeeER. . . leaq 8(%rsp,%rdi,2), %rax221# BDVER2-NEXT: [0,1] D==eeeeeeeeeeER rsqrtss (%rax), %xmm1222 223# BROADWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax224# BROADWELL-NEXT: [0,1] D=eeeeeeeeeeER rsqrtss (%rax), %xmm1225 226# BTVER2: [0,0] DeeER. .. leaq 8(%rsp,%rdi,2), %rax227# BTVER2-NEXT: [0,1] D==eeeeeeeER rsqrtss (%rax), %xmm1228 229# HASWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax230# HASWELL-NEXT: [0,1] D=eeeeeeeeeeER rsqrtss (%rax), %xmm1231 232# SKYLAKE: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax233# SKYLAKE-NEXT: [0,1] D=eeeeeeeeeER rsqrtss (%rax), %xmm1234 235# ZNVER1: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax236# ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeER rsqrtss (%rax), %xmm1237 238# ZNVER2: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax239# ZNVER2-NEXT: [0,1] D=eeeeeeeeeeeeER rsqrtss (%rax), %xmm1240 241# ALL: Average Wait times (based on the timeline view):242# ALL-NEXT: [0]: Executions243# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue244# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready245# ALL-NEXT: [3]: Average time elapsed from WB until retire stage246 247# ALL: [0] [1] [2] [3]248# ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax249 250# BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1251# BARCELONA-NEXT: 1 1.5 0.5 0.0 <total>252 253# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 rsqrtss (%rax), %xmm1254# BDVER2-NEXT: 1 2.0 0.5 0.0 <total>255 256# BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1257# BROADWELL-NEXT: 1 1.5 0.5 0.0 <total>258 259# BTVER2-NEXT: 1. 1 3.0 0.0 0.0 rsqrtss (%rax), %xmm1260# BTVER2-NEXT: 1 2.0 0.5 0.0 <total>261 262# HASWELL-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1263# HASWELL-NEXT: 1 1.5 0.5 0.0 <total>264 265# SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1266# SKYLAKE-NEXT: 1 1.5 0.5 0.0 <total>267 268# ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1269# ZNVER1-NEXT: 1 1.5 0.5 0.0 <total>270 271# ZNVER2-NEXT: 1. 1 2.0 0.0 0.0 rsqrtss (%rax), %xmm1272# ZNVER2-NEXT: 1 1.5 0.5 0.0 <total>273 274# ALL: [3] Code Region - test_rcp275 276# ALL: Timeline view:277 278# BARCELONA-NEXT: 01234279# BDVER2-NEXT: 01234280# BROADWELL-NEXT: 0123281# BTVER2-NEXT: 01282# HASWELL-NEXT: 0123283# SKYLAKE-NEXT: 012284# ZNVER1-NEXT: 012345285# ZNVER2-NEXT: 012345286 287# ALL-NEXT: Index 0123456789288 289# BARCELONA: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax290# BARCELONA-NEXT: [0,1] D=eeeeeeeeeeeER rcpss (%rax), %xmm1291 292# BDVER2: [0,0] DeeER. . . leaq 8(%rsp,%rdi,2), %rax293# BDVER2-NEXT: [0,1] D==eeeeeeeeeeER rcpss (%rax), %xmm1294 295# BROADWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax296# BROADWELL-NEXT: [0,1] D=eeeeeeeeeeER rcpss (%rax), %xmm1297 298# BTVER2: [0,0] DeeER. .. leaq 8(%rsp,%rdi,2), %rax299# BTVER2-NEXT: [0,1] D==eeeeeeeER rcpss (%rax), %xmm1300 301# HASWELL: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax302# HASWELL-NEXT: [0,1] D=eeeeeeeeeeER rcpss (%rax), %xmm1303 304# SKYLAKE: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax305# SKYLAKE-NEXT: [0,1] D=eeeeeeeeeER rcpss (%rax), %xmm1306 307# ZNVER1: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax308# ZNVER1-NEXT: [0,1] D=eeeeeeeeeeeeER rcpss (%rax), %xmm1309 310# ZNVER2: [0,0] DeER . . . leaq 8(%rsp,%rdi,2), %rax311# ZNVER2-NEXT: [0,1] D=eeeeeeeeeeeeER rcpss (%rax), %xmm1312 313# ALL: Average Wait times (based on the timeline view):314# ALL-NEXT: [0]: Executions315# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue316# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready317# ALL-NEXT: [3]: Average time elapsed from WB until retire stage318 319# ALL: [0] [1] [2] [3]320# ALL-NEXT: 0. 1 1.0 1.0 0.0 leaq 8(%rsp,%rdi,2), %rax321 322# BARCELONA-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1323# BARCELONA-NEXT: 1 1.5 0.5 0.0 <total>324 325# BDVER2-NEXT: 1. 1 3.0 0.0 0.0 rcpss (%rax), %xmm1326# BDVER2-NEXT: 1 2.0 0.5 0.0 <total>327 328# BROADWELL-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1329# BROADWELL-NEXT: 1 1.5 0.5 0.0 <total>330 331# BTVER2-NEXT: 1. 1 3.0 0.0 0.0 rcpss (%rax), %xmm1332# BTVER2-NEXT: 1 2.0 0.5 0.0 <total>333 334# HASWELL-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1335# HASWELL-NEXT: 1 1.5 0.5 0.0 <total>336 337# SKYLAKE-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1338# SKYLAKE-NEXT: 1 1.5 0.5 0.0 <total>339 340# ZNVER1-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1341# ZNVER1-NEXT: 1 1.5 0.5 0.0 <total>342 343# ZNVER2-NEXT: 1. 1 2.0 0.0 0.0 rcpss (%rax), %xmm1344# ZNVER2-NEXT: 1 1.5 0.5 0.0 <total>345