503 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=lunarlake -timeline -register-file-stats -iterations=1 < %s | FileCheck %s3 4# On SKL, renamer-based zeroing does not work for:5# - 16 and 8-bit GPRs6# - MMX7# - ANDN variants8 9subl %eax, %eax10subq %rax, %rax11xorl %eax, %eax12xorq %rax, %rax13 14pcmpgtb %mm2, %mm215pcmpgtd %mm2, %mm216# pcmpgtq %mm2, %mm2 # invalid operand for instruction17pcmpgtw %mm2, %mm218 19pcmpgtb %xmm2, %xmm220pcmpgtd %xmm2, %xmm221pcmpgtq %xmm2, %xmm222pcmpgtw %xmm2, %xmm223 24vpcmpgtb %xmm3, %xmm3, %xmm325vpcmpgtd %xmm3, %xmm3, %xmm326vpcmpgtq %xmm3, %xmm3, %xmm327vpcmpgtw %xmm3, %xmm3, %xmm328 29vpcmpgtb %xmm3, %xmm3, %xmm530vpcmpgtd %xmm3, %xmm3, %xmm531vpcmpgtq %xmm3, %xmm3, %xmm532vpcmpgtw %xmm3, %xmm3, %xmm533 34vpcmpgtb %ymm3, %ymm3, %ymm335vpcmpgtd %ymm3, %ymm3, %ymm336vpcmpgtq %ymm3, %ymm3, %ymm337vpcmpgtw %ymm3, %ymm3, %ymm338 39vpcmpgtb %ymm3, %ymm3, %ymm540vpcmpgtd %ymm3, %ymm3, %ymm541vpcmpgtq %ymm3, %ymm3, %ymm542vpcmpgtw %ymm3, %ymm3, %ymm543 44psubb %mm2, %mm245psubd %mm2, %mm246psubq %mm2, %mm247psubw %mm2, %mm248psubb %xmm2, %xmm249psubd %xmm2, %xmm250psubq %xmm2, %xmm251psubw %xmm2, %xmm252vpsubb %xmm3, %xmm3, %xmm353vpsubd %xmm3, %xmm3, %xmm354vpsubq %xmm3, %xmm3, %xmm355vpsubw %xmm3, %xmm3, %xmm356vpsubb %ymm3, %ymm3, %ymm357vpsubd %ymm3, %ymm3, %ymm358vpsubq %ymm3, %ymm3, %ymm359vpsubw %ymm3, %ymm3, %ymm360 61vpsubb %xmm3, %xmm3, %xmm562vpsubd %xmm3, %xmm3, %xmm563vpsubq %xmm3, %xmm3, %xmm564vpsubw %xmm3, %xmm3, %xmm565vpsubb %ymm3, %ymm3, %ymm566vpsubd %ymm3, %ymm3, %ymm567vpsubq %ymm3, %ymm3, %ymm568vpsubw %ymm3, %ymm3, %ymm569 70andnps %xmm0, %xmm071andnpd %xmm1, %xmm172vandnps %xmm2, %xmm2, %xmm273vandnpd %xmm1, %xmm1, %xmm174vandnps %ymm2, %ymm2, %ymm275vandnpd %ymm1, %ymm1, %ymm176pandn %mm2, %mm277pandn %xmm2, %xmm278vpandn %xmm3, %xmm3, %xmm379vpandn %ymm3, %ymm3, %ymm380 81vandnps %xmm2, %xmm2, %xmm582vandnpd %xmm1, %xmm1, %xmm583vpandn %xmm3, %xmm3, %xmm584vandnps %ymm2, %ymm2, %ymm585vandnpd %ymm1, %ymm1, %ymm586vpandn %ymm3, %ymm3, %ymm587 88xorps %xmm0, %xmm089xorpd %xmm1, %xmm190vxorps %xmm2, %xmm2, %xmm291vxorpd %xmm1, %xmm1, %xmm192vxorps %ymm2, %ymm2, %ymm293vxorpd %ymm1, %ymm1, %ymm194pxor %mm2, %mm295pxor %xmm2, %xmm296vpxor %xmm3, %xmm3, %xmm397vpxor %ymm3, %ymm3, %ymm398 99vxorps %xmm4, %xmm4, %xmm5100vxorpd %xmm1, %xmm1, %xmm3101vxorps %ymm4, %ymm4, %ymm5102vxorpd %ymm1, %ymm1, %ymm3103vpxor %xmm3, %xmm3, %xmm5104vpxor %ymm3, %ymm3, %ymm5105 106# CHECK: Iterations: 1107# CHECK-NEXT: Instructions: 83108# CHECK-NEXT: Total Cycles: 32109# CHECK-NEXT: Total uOps: 83110 111# CHECK: Dispatch Width: 8112# CHECK-NEXT: uOps Per Cycle: 2.59113# CHECK-NEXT: IPC: 2.59114# CHECK-NEXT: Block RThroughput: 13.0115 116# CHECK: Instruction Info:117# CHECK-NEXT: [1]: #uOps118# CHECK-NEXT: [2]: Latency119# CHECK-NEXT: [3]: RThroughput120# CHECK-NEXT: [4]: MayLoad121# CHECK-NEXT: [5]: MayStore122# CHECK-NEXT: [6]: HasSideEffects (U)123 124# CHECK: [1] [2] [3] [4] [5] [6] Instructions:125# CHECK-NEXT: 1 1 0.33 subl %eax, %eax126# CHECK-NEXT: 1 1 0.33 subq %rax, %rax127# CHECK-NEXT: 1 2 0.17 xorl %eax, %eax128# CHECK-NEXT: 1 2 0.17 xorq %rax, %rax129# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm2, %mm2130# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm2, %mm2131# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm2, %mm2132# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm2, %xmm2133# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm2, %xmm2134# CHECK-NEXT: 1 3 1.50 pcmpgtq %xmm2, %xmm2135# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm2, %xmm2136# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm3137# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm3138# CHECK-NEXT: 1 3 1.50 vpcmpgtq %xmm3, %xmm3, %xmm3139# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm3140# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm5141# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm5142# CHECK-NEXT: 1 3 1.50 vpcmpgtq %xmm3, %xmm3, %xmm5143# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm5144# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm3145# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm3146# CHECK-NEXT: 1 3 1.50 vpcmpgtq %ymm3, %ymm3, %ymm3147# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm3148# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm5149# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm5150# CHECK-NEXT: 1 3 1.50 vpcmpgtq %ymm3, %ymm3, %ymm5151# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm5152# CHECK-NEXT: 1 1 0.33 psubb %mm2, %mm2153# CHECK-NEXT: 1 1 0.33 psubd %mm2, %mm2154# CHECK-NEXT: 1 1 0.33 psubq %mm2, %mm2155# CHECK-NEXT: 1 1 0.33 psubw %mm2, %mm2156# CHECK-NEXT: 1 1 0.25 psubb %xmm2, %xmm2157# CHECK-NEXT: 1 1 0.25 psubd %xmm2, %xmm2158# CHECK-NEXT: 1 1 0.25 psubq %xmm2, %xmm2159# CHECK-NEXT: 1 1 0.25 psubw %xmm2, %xmm2160# CHECK-NEXT: 1 1 0.25 vpsubb %xmm3, %xmm3, %xmm3161# CHECK-NEXT: 1 1 0.25 vpsubd %xmm3, %xmm3, %xmm3162# CHECK-NEXT: 1 1 0.25 vpsubq %xmm3, %xmm3, %xmm3163# CHECK-NEXT: 1 1 0.25 vpsubw %xmm3, %xmm3, %xmm3164# CHECK-NEXT: 1 1 0.25 vpsubb %ymm3, %ymm3, %ymm3165# CHECK-NEXT: 1 1 0.25 vpsubd %ymm3, %ymm3, %ymm3166# CHECK-NEXT: 1 1 0.25 vpsubq %ymm3, %ymm3, %ymm3167# CHECK-NEXT: 1 1 0.25 vpsubw %ymm3, %ymm3, %ymm3168# CHECK-NEXT: 1 1 0.25 vpsubb %xmm3, %xmm3, %xmm5169# CHECK-NEXT: 1 1 0.25 vpsubd %xmm3, %xmm3, %xmm5170# CHECK-NEXT: 1 1 0.25 vpsubq %xmm3, %xmm3, %xmm5171# CHECK-NEXT: 1 1 0.25 vpsubw %xmm3, %xmm3, %xmm5172# CHECK-NEXT: 1 1 0.25 vpsubb %ymm3, %ymm3, %ymm5173# CHECK-NEXT: 1 1 0.25 vpsubd %ymm3, %ymm3, %ymm5174# CHECK-NEXT: 1 1 0.25 vpsubq %ymm3, %ymm3, %ymm5175# CHECK-NEXT: 1 1 0.25 vpsubw %ymm3, %ymm3, %ymm5176# CHECK-NEXT: 1 1 0.25 andnps %xmm0, %xmm0177# CHECK-NEXT: 1 1 0.25 andnpd %xmm1, %xmm1178# CHECK-NEXT: 1 1 0.25 vandnps %xmm2, %xmm2, %xmm2179# CHECK-NEXT: 1 1 0.25 vandnpd %xmm1, %xmm1, %xmm1180# CHECK-NEXT: 1 1 0.25 vandnps %ymm2, %ymm2, %ymm2181# CHECK-NEXT: 1 1 0.25 vandnpd %ymm1, %ymm1, %ymm1182# CHECK-NEXT: 1 1 0.25 pandn %mm2, %mm2183# CHECK-NEXT: 1 1 0.25 pandn %xmm2, %xmm2184# CHECK-NEXT: 1 1 0.25 vpandn %xmm3, %xmm3, %xmm3185# CHECK-NEXT: 1 1 0.25 vpandn %ymm3, %ymm3, %ymm3186# CHECK-NEXT: 1 1 0.25 vandnps %xmm2, %xmm2, %xmm5187# CHECK-NEXT: 1 1 0.25 vandnpd %xmm1, %xmm1, %xmm5188# CHECK-NEXT: 1 1 0.25 vpandn %xmm3, %xmm3, %xmm5189# CHECK-NEXT: 1 1 0.25 vandnps %ymm2, %ymm2, %ymm5190# CHECK-NEXT: 1 1 0.25 vandnpd %ymm1, %ymm1, %ymm5191# CHECK-NEXT: 1 1 0.25 vpandn %ymm3, %ymm3, %ymm5192# CHECK-NEXT: 1 1 0.25 xorps %xmm0, %xmm0193# CHECK-NEXT: 1 1 0.25 xorpd %xmm1, %xmm1194# CHECK-NEXT: 1 1 0.25 vxorps %xmm2, %xmm2, %xmm2195# CHECK-NEXT: 1 1 0.25 vxorpd %xmm1, %xmm1, %xmm1196# CHECK-NEXT: 1 1 0.25 vxorps %ymm2, %ymm2, %ymm2197# CHECK-NEXT: 1 1 0.25 vxorpd %ymm1, %ymm1, %ymm1198# CHECK-NEXT: 1 1 0.25 pxor %mm2, %mm2199# CHECK-NEXT: 1 1 0.25 pxor %xmm2, %xmm2200# CHECK-NEXT: 1 1 0.25 vpxor %xmm3, %xmm3, %xmm3201# CHECK-NEXT: 1 1 0.25 vpxor %ymm3, %ymm3, %ymm3202# CHECK-NEXT: 1 1 0.25 vxorps %xmm4, %xmm4, %xmm5203# CHECK-NEXT: 1 1 0.25 vxorpd %xmm1, %xmm1, %xmm3204# CHECK-NEXT: 1 1 0.25 vxorps %ymm4, %ymm4, %ymm5205# CHECK-NEXT: 1 1 0.25 vxorpd %ymm1, %ymm1, %ymm3206# CHECK-NEXT: 1 1 0.25 vpxor %xmm3, %xmm3, %xmm5207# CHECK-NEXT: 1 1 0.25 vpxor %ymm3, %ymm3, %ymm5208 209# CHECK: Register File statistics:210# CHECK-NEXT: Total number of mappings created: 87211# CHECK-NEXT: Max number of mappings used: 68212 213# CHECK: Resources:214# CHECK-NEXT: [0] - LNLPPort00215# CHECK-NEXT: [1] - LNLPPort01216# CHECK-NEXT: [2] - LNLPPort02217# CHECK-NEXT: [3] - LNLPPort03218# CHECK-NEXT: [4] - LNLPPort04219# CHECK-NEXT: [5] - LNLPPort05220# CHECK-NEXT: [6] - LNLPPort10221# CHECK-NEXT: [7] - LNLPPort11222# CHECK-NEXT: [8] - LNLPPort20223# CHECK-NEXT: [9] - LNLPPort21224# CHECK-NEXT: [10] - LNLPPort22225# CHECK-NEXT: [11] - LNLPPort25226# CHECK-NEXT: [12] - LNLPPort26227# CHECK-NEXT: [13] - LNLPPort27228# CHECK-NEXT: [14] - LNLPPortInvalid229# CHECK-NEXT: [15] - LNLPVPort00230# CHECK-NEXT: [16] - LNLPVPort01231# CHECK-NEXT: [17] - LNLPVPort02232# CHECK-NEXT: [18] - LNLPVPort03233 234# CHECK: Resource pressure per iteration:235# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]236# CHECK-NEXT: - 2.00 1.00 2.00 1.00 2.00 - - - - - - - - - 22.00 22.00 20.00 21.00237 238# CHECK: Resource pressure by instruction:239# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] Instructions:240# CHECK-NEXT: - - - - - 1.00 - - - - - - - - - - - - - subl %eax, %eax241# CHECK-NEXT: - - - 1.00 - - - - - - - - - - - - - - - subq %rax, %rax242# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - xorl %eax, %eax243# CHECK-NEXT: - - 1.00 - - - - - - - - - - - - - - - - xorq %rax, %rax244# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - pcmpgtb %mm2, %mm2245# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - pcmpgtd %mm2, %mm2246# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - pcmpgtw %mm2, %mm2247# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - pcmpgtb %xmm2, %xmm2248# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - pcmpgtd %xmm2, %xmm2249# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 3.00 pcmpgtq %xmm2, %xmm2250# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - pcmpgtw %xmm2, %xmm2251# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtb %xmm3, %xmm3, %xmm3252# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtd %xmm3, %xmm3, %xmm3253# CHECK-NEXT: - - - - - - - - - - - - - - - - - 3.00 - vpcmpgtq %xmm3, %xmm3, %xmm3254# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtw %xmm3, %xmm3, %xmm3255# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtb %xmm3, %xmm3, %xmm5256# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpcmpgtd %xmm3, %xmm3, %xmm5257# CHECK-NEXT: - - - - - - - - - - - - - - - - - 3.00 - vpcmpgtq %xmm3, %xmm3, %xmm5258# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpcmpgtw %xmm3, %xmm3, %xmm5259# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtb %ymm3, %ymm3, %ymm3260# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtd %ymm3, %ymm3, %ymm3261# CHECK-NEXT: - - - - - - - - - - - - - - - - - 3.00 - vpcmpgtq %ymm3, %ymm3, %ymm3262# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtw %ymm3, %ymm3, %ymm3263# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtb %ymm3, %ymm3, %ymm5264# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpcmpgtd %ymm3, %ymm3, %ymm5265# CHECK-NEXT: - - - - - - - - - - - - - - - - - 3.00 - vpcmpgtq %ymm3, %ymm3, %ymm5266# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpcmpgtw %ymm3, %ymm3, %ymm5267# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - psubb %mm2, %mm2268# CHECK-NEXT: - - - - - 1.00 - - - - - - - - - - - - - psubd %mm2, %mm2269# CHECK-NEXT: - - - 1.00 - - - - - - - - - - - - - - - psubq %mm2, %mm2270# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - psubw %mm2, %mm2271# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 psubb %xmm2, %xmm2272# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 psubd %xmm2, %xmm2273# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 psubq %xmm2, %xmm2274# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 psubw %xmm2, %xmm2275# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubb %xmm3, %xmm3, %xmm3276# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubd %xmm3, %xmm3, %xmm3277# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubq %xmm3, %xmm3, %xmm3278# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubw %xmm3, %xmm3, %xmm3279# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubb %ymm3, %ymm3, %ymm3280# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpsubd %ymm3, %ymm3, %ymm3281# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubq %ymm3, %ymm3, %ymm3282# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vpsubw %ymm3, %ymm3, %ymm3283# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm5284# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpsubd %xmm3, %xmm3, %xmm5285# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubq %xmm3, %xmm3, %xmm5286# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vpsubw %xmm3, %xmm3, %xmm5287# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpsubb %ymm3, %ymm3, %ymm5288# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpsubd %ymm3, %ymm3, %ymm5289# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpsubq %ymm3, %ymm3, %ymm5290# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vpsubw %ymm3, %ymm3, %ymm5291# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - andnps %xmm0, %xmm0292# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - andnpd %xmm1, %xmm1293# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vandnps %xmm2, %xmm2, %xmm2294# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vandnpd %xmm1, %xmm1, %xmm1295# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vandnps %ymm2, %ymm2, %ymm2296# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vandnpd %ymm1, %ymm1, %ymm1297# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - pandn %mm2, %mm2298# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 pandn %xmm2, %xmm2299# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpandn %xmm3, %xmm3, %xmm3300# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpandn %ymm3, %ymm3, %ymm3301# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vandnps %xmm2, %xmm2, %xmm5302# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm5303# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vpandn %xmm3, %xmm3, %xmm5304# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vandnps %ymm2, %ymm2, %ymm5305# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vandnpd %ymm1, %ymm1, %ymm5306# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vpandn %ymm3, %ymm3, %ymm5307# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - xorps %xmm0, %xmm0308# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - xorpd %xmm1, %xmm1309# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vxorps %xmm2, %xmm2, %xmm2310# CHECK-NEXT: - - - - - - - - - - - - - - - - - - 1.00 vxorpd %xmm1, %xmm1, %xmm1311# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vxorps %ymm2, %ymm2, %ymm2312# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vxorpd %ymm1, %ymm1, %ymm1313# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - pxor %mm2, %mm2314# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - pxor %xmm2, %xmm2315# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpxor %xmm3, %xmm3, %xmm3316# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vpxor %ymm3, %ymm3, %ymm3317# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vxorps %xmm4, %xmm4, %xmm5318# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vxorpd %xmm1, %xmm1, %xmm3319# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vxorps %ymm4, %ymm4, %ymm5320# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - - vxorpd %ymm1, %ymm1, %ymm3321# CHECK-NEXT: - - - - - - - - - - - - - - - - - 1.00 - vpxor %xmm3, %xmm3, %xmm5322# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - - vpxor %ymm3, %ymm3, %ymm5323 324# CHECK: Timeline view:325# CHECK-NEXT: 0123456789 01326# CHECK-NEXT: Index 0123456789 0123456789327 328# CHECK: [0,0] DeER . . . . . .. subl %eax, %eax329# CHECK-NEXT: [0,1] D=eER. . . . . .. subq %rax, %rax330# CHECK-NEXT: [0,2] D==eeER . . . . .. xorl %eax, %eax331# CHECK-NEXT: [0,3] D====eeER . . . . .. xorq %rax, %rax332# CHECK-NEXT: [0,4] DeE-----R . . . . .. pcmpgtb %mm2, %mm2333# CHECK-NEXT: [0,5] D=eE----R . . . . .. pcmpgtd %mm2, %mm2334# CHECK-NEXT: [0,6] D==eE---R . . . . .. pcmpgtw %mm2, %mm2335# CHECK-NEXT: [0,7] DeE-----R . . . . .. pcmpgtb %xmm2, %xmm2336# CHECK-NEXT: [0,8] .DeE----R . . . . .. pcmpgtd %xmm2, %xmm2337# CHECK-NEXT: [0,9] .D=eeeE-R . . . . .. pcmpgtq %xmm2, %xmm2338# CHECK-NEXT: [0,10] .D====eER . . . . .. pcmpgtw %xmm2, %xmm2339# CHECK-NEXT: [0,11] .D=eE---R . . . . .. vpcmpgtb %xmm3, %xmm3, %xmm3340# CHECK-NEXT: [0,12] .D==eE--R . . . . .. vpcmpgtd %xmm3, %xmm3, %xmm3341# CHECK-NEXT: [0,13] .D===eeeER. . . . .. vpcmpgtq %xmm3, %xmm3, %xmm3342# CHECK-NEXT: [0,14] .D======eER . . . .. vpcmpgtw %xmm3, %xmm3, %xmm3343# CHECK-NEXT: [0,15] .D=======eER . . . .. vpcmpgtb %xmm3, %xmm3, %xmm5344# CHECK-NEXT: [0,16] . D======eER . . . .. vpcmpgtd %xmm3, %xmm3, %xmm5345# CHECK-NEXT: [0,17] . D======eeeER . . . .. vpcmpgtq %xmm3, %xmm3, %xmm5346# CHECK-NEXT: [0,18] . D=======eE-R . . . .. vpcmpgtw %xmm3, %xmm3, %xmm5347# CHECK-NEXT: [0,19] . D=======eE-R . . . .. vpcmpgtb %ymm3, %ymm3, %ymm3348# CHECK-NEXT: [0,20] . D========eER . . . .. vpcmpgtd %ymm3, %ymm3, %ymm3349# CHECK-NEXT: [0,21] . D=========eeeER . . .. vpcmpgtq %ymm3, %ymm3, %ymm3350# CHECK-NEXT: [0,22] . D============eER . . .. vpcmpgtw %ymm3, %ymm3, %ymm3351# CHECK-NEXT: [0,23] . D=============eER . . .. vpcmpgtb %ymm3, %ymm3, %ymm5352# CHECK-NEXT: [0,24] . D============eER . . .. vpcmpgtd %ymm3, %ymm3, %ymm5353# CHECK-NEXT: [0,25] . D============eeeER . .. vpcmpgtq %ymm3, %ymm3, %ymm5354# CHECK-NEXT: [0,26] . D=============eE-R . .. vpcmpgtw %ymm3, %ymm3, %ymm5355# CHECK-NEXT: [0,27] . DeE--------------R . .. psubb %mm2, %mm2356# CHECK-NEXT: [0,28] . D=eE-------------R . .. psubd %mm2, %mm2357# CHECK-NEXT: [0,29] . D==eE------------R . .. psubq %mm2, %mm2358# CHECK-NEXT: [0,30] . D===eE-----------R . .. psubw %mm2, %mm2359# CHECK-NEXT: [0,31] . D===eE-----------R . .. psubb %xmm2, %xmm2360# CHECK-NEXT: [0,32] . D===eE----------R . .. psubd %xmm2, %xmm2361# CHECK-NEXT: [0,33] . D====eE---------R . .. psubq %xmm2, %xmm2362# CHECK-NEXT: [0,34] . D=====eE--------R . .. psubw %xmm2, %xmm2363# CHECK-NEXT: [0,35] . D===========eE--R . .. vpsubb %xmm3, %xmm3, %xmm3364# CHECK-NEXT: [0,36] . D============eE-R . .. vpsubd %xmm3, %xmm3, %xmm3365# CHECK-NEXT: [0,37] . D=============eER . .. vpsubq %xmm3, %xmm3, %xmm3366# CHECK-NEXT: [0,38] . D==============eER . .. vpsubw %xmm3, %xmm3, %xmm3367# CHECK-NEXT: [0,39] . D===============eER . .. vpsubb %ymm3, %ymm3, %ymm3368# CHECK-NEXT: [0,40] . D===============eER . .. vpsubd %ymm3, %ymm3, %ymm3369# CHECK-NEXT: [0,41] . D================eER. .. vpsubq %ymm3, %ymm3, %ymm3370# CHECK-NEXT: [0,42] . D=================eER .. vpsubw %ymm3, %ymm3, %ymm3371# CHECK-NEXT: [0,43] . D==================eER .. vpsubb %xmm3, %xmm3, %xmm5372# CHECK-NEXT: [0,44] . D==================eER .. vpsubd %xmm3, %xmm3, %xmm5373# CHECK-NEXT: [0,45] . D==================eER .. vpsubq %xmm3, %xmm3, %xmm5374# CHECK-NEXT: [0,46] . D==================eER .. vpsubw %xmm3, %xmm3, %xmm5375# CHECK-NEXT: [0,47] . D===================eER .. vpsubb %ymm3, %ymm3, %ymm5376# CHECK-NEXT: [0,48] . .D==================eER .. vpsubd %ymm3, %ymm3, %ymm5377# CHECK-NEXT: [0,49] . .D==================eER .. vpsubq %ymm3, %ymm3, %ymm5378# CHECK-NEXT: [0,50] . .D==================eER .. vpsubw %ymm3, %ymm3, %ymm5379# CHECK-NEXT: [0,51] . .DeE------------------R .. andnps %xmm0, %xmm0380# CHECK-NEXT: [0,52] . .DeE------------------R .. andnpd %xmm1, %xmm1381# CHECK-NEXT: [0,53] . .D====eE--------------R .. vandnps %xmm2, %xmm2, %xmm2382# CHECK-NEXT: [0,54] . .D=eE-----------------R .. vandnpd %xmm1, %xmm1, %xmm1383# CHECK-NEXT: [0,55] . .D=====eE-------------R .. vandnps %ymm2, %ymm2, %ymm2384# CHECK-NEXT: [0,56] . . D===eE--------------R .. vandnpd %ymm1, %ymm1, %ymm1385# CHECK-NEXT: [0,57] . . DeE-----------------R .. pandn %mm2, %mm2386# CHECK-NEXT: [0,58] . . D=====eE------------R .. pandn %xmm2, %xmm2387# CHECK-NEXT: [0,59] . . D==================eER .. vpandn %xmm3, %xmm3, %xmm3388# CHECK-NEXT: [0,60] . . D===================eER.. vpandn %ymm3, %ymm3, %ymm3389# CHECK-NEXT: [0,61] . . D======eE-------------R.. vandnps %xmm2, %xmm2, %xmm5390# CHECK-NEXT: [0,62] . . D====eE---------------R.. vandnpd %xmm1, %xmm1, %xmm5391# CHECK-NEXT: [0,63] . . D====================eER. vpandn %xmm3, %xmm3, %xmm5392# CHECK-NEXT: [0,64] . . D=====eE--------------R. vandnps %ymm2, %ymm2, %ymm5393# CHECK-NEXT: [0,65] . . D===eE----------------R. vandnpd %ymm1, %ymm1, %ymm5394# CHECK-NEXT: [0,66] . . D===================eER. vpandn %ymm3, %ymm3, %ymm5395# CHECK-NEXT: [0,67] . . D====eE---------------R. xorps %xmm0, %xmm0396# CHECK-NEXT: [0,68] . . D====eE---------------R. xorpd %xmm1, %xmm1397# CHECK-NEXT: [0,69] . . D=====eE--------------R. vxorps %xmm2, %xmm2, %xmm2398# CHECK-NEXT: [0,70] . . D======eE-------------R. vxorpd %xmm1, %xmm1, %xmm1399# CHECK-NEXT: [0,71] . . D======eE-------------R. vxorps %ymm2, %ymm2, %ymm2400# CHECK-NEXT: [0,72] . . D=======eE-----------R. vxorpd %ymm1, %ymm1, %ymm1401# CHECK-NEXT: [0,73] . . D=====eE-------------R. pxor %mm2, %mm2402# CHECK-NEXT: [0,74] . . D========eE----------R. pxor %xmm2, %xmm2403# CHECK-NEXT: [0,75] . . D==================eER. vpxor %xmm3, %xmm3, %xmm3404# CHECK-NEXT: [0,76] . . D===================eER vpxor %ymm3, %ymm3, %ymm3405# CHECK-NEXT: [0,77] . . D=========eE----------R vxorps %xmm4, %xmm4, %xmm5406# CHECK-NEXT: [0,78] . . D=========eE----------R vxorpd %xmm1, %xmm1, %xmm3407# CHECK-NEXT: [0,79] . . D=========eE----------R vxorps %ymm4, %ymm4, %ymm5408# CHECK-NEXT: [0,80] . . D=======eE-----------R vxorpd %ymm1, %ymm1, %ymm3409# CHECK-NEXT: [0,81] . . D=========eE---------R vpxor %xmm3, %xmm3, %xmm5410# CHECK-NEXT: [0,82] . . D=========eE---------R vpxor %ymm3, %ymm3, %ymm5411 412# CHECK: Average Wait times (based on the timeline view):413# CHECK-NEXT: [0]: Executions414# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue415# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready416# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage417 418# CHECK: [0] [1] [2] [3]419# CHECK-NEXT: 0. 1 1.0 1.0 0.0 subl %eax, %eax420# CHECK-NEXT: 1. 1 2.0 0.0 0.0 subq %rax, %rax421# CHECK-NEXT: 2. 1 3.0 0.0 0.0 xorl %eax, %eax422# CHECK-NEXT: 3. 1 5.0 0.0 0.0 xorq %rax, %rax423# CHECK-NEXT: 4. 1 1.0 1.0 5.0 pcmpgtb %mm2, %mm2424# CHECK-NEXT: 5. 1 2.0 0.0 4.0 pcmpgtd %mm2, %mm2425# CHECK-NEXT: 6. 1 3.0 0.0 3.0 pcmpgtw %mm2, %mm2426# CHECK-NEXT: 7. 1 1.0 1.0 5.0 pcmpgtb %xmm2, %xmm2427# CHECK-NEXT: 8. 1 1.0 0.0 4.0 pcmpgtd %xmm2, %xmm2428# CHECK-NEXT: 9. 1 2.0 0.0 1.0 pcmpgtq %xmm2, %xmm2429# CHECK-NEXT: 10. 1 5.0 0.0 0.0 pcmpgtw %xmm2, %xmm2430# CHECK-NEXT: 11. 1 2.0 2.0 3.0 vpcmpgtb %xmm3, %xmm3, %xmm3431# CHECK-NEXT: 12. 1 3.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm3432# CHECK-NEXT: 13. 1 4.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3433# CHECK-NEXT: 14. 1 7.0 0.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3434# CHECK-NEXT: 15. 1 8.0 0.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5435# CHECK-NEXT: 16. 1 7.0 0.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5436# CHECK-NEXT: 17. 1 7.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5437# CHECK-NEXT: 18. 1 8.0 1.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5438# CHECK-NEXT: 19. 1 8.0 1.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm3439# CHECK-NEXT: 20. 1 9.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3440# CHECK-NEXT: 21. 1 10.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3441# CHECK-NEXT: 22. 1 13.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3442# CHECK-NEXT: 23. 1 14.0 0.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5443# CHECK-NEXT: 24. 1 13.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5444# CHECK-NEXT: 25. 1 13.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5445# CHECK-NEXT: 26. 1 14.0 1.0 1.0 vpcmpgtw %ymm3, %ymm3, %ymm5446# CHECK-NEXT: 27. 1 1.0 0.0 14.0 psubb %mm2, %mm2447# CHECK-NEXT: 28. 1 2.0 0.0 13.0 psubd %mm2, %mm2448# CHECK-NEXT: 29. 1 3.0 0.0 12.0 psubq %mm2, %mm2449# CHECK-NEXT: 30. 1 4.0 0.0 11.0 psubw %mm2, %mm2450# CHECK-NEXT: 31. 1 4.0 0.0 11.0 psubb %xmm2, %xmm2451# CHECK-NEXT: 32. 1 4.0 0.0 10.0 psubd %xmm2, %xmm2452# CHECK-NEXT: 33. 1 5.0 0.0 9.0 psubq %xmm2, %xmm2453# CHECK-NEXT: 34. 1 6.0 0.0 8.0 psubw %xmm2, %xmm2454# CHECK-NEXT: 35. 1 12.0 0.0 2.0 vpsubb %xmm3, %xmm3, %xmm3455# CHECK-NEXT: 36. 1 13.0 0.0 1.0 vpsubd %xmm3, %xmm3, %xmm3456# CHECK-NEXT: 37. 1 14.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm3457# CHECK-NEXT: 38. 1 15.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm3458# CHECK-NEXT: 39. 1 16.0 0.0 0.0 vpsubb %ymm3, %ymm3, %ymm3459# CHECK-NEXT: 40. 1 16.0 0.0 0.0 vpsubd %ymm3, %ymm3, %ymm3460# CHECK-NEXT: 41. 1 17.0 0.0 0.0 vpsubq %ymm3, %ymm3, %ymm3461# CHECK-NEXT: 42. 1 18.0 0.0 0.0 vpsubw %ymm3, %ymm3, %ymm3462# CHECK-NEXT: 43. 1 19.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm5463# CHECK-NEXT: 44. 1 19.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5464# CHECK-NEXT: 45. 1 19.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm5465# CHECK-NEXT: 46. 1 19.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm5466# CHECK-NEXT: 47. 1 20.0 1.0 0.0 vpsubb %ymm3, %ymm3, %ymm5467# CHECK-NEXT: 48. 1 19.0 1.0 0.0 vpsubd %ymm3, %ymm3, %ymm5468# CHECK-NEXT: 49. 1 19.0 1.0 0.0 vpsubq %ymm3, %ymm3, %ymm5469# CHECK-NEXT: 50. 1 19.0 1.0 0.0 vpsubw %ymm3, %ymm3, %ymm5470# CHECK-NEXT: 51. 1 1.0 1.0 18.0 andnps %xmm0, %xmm0471# CHECK-NEXT: 52. 1 1.0 1.0 18.0 andnpd %xmm1, %xmm1472# CHECK-NEXT: 53. 1 5.0 0.0 14.0 vandnps %xmm2, %xmm2, %xmm2473# CHECK-NEXT: 54. 1 2.0 0.0 17.0 vandnpd %xmm1, %xmm1, %xmm1474# CHECK-NEXT: 55. 1 6.0 0.0 13.0 vandnps %ymm2, %ymm2, %ymm2475# CHECK-NEXT: 56. 1 4.0 2.0 14.0 vandnpd %ymm1, %ymm1, %ymm1476# CHECK-NEXT: 57. 1 1.0 0.0 17.0 pandn %mm2, %mm2477# CHECK-NEXT: 58. 1 6.0 0.0 12.0 pandn %xmm2, %xmm2478# CHECK-NEXT: 59. 1 19.0 2.0 0.0 vpandn %xmm3, %xmm3, %xmm3479# CHECK-NEXT: 60. 1 20.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm3480# CHECK-NEXT: 61. 1 7.0 0.0 13.0 vandnps %xmm2, %xmm2, %xmm5481# CHECK-NEXT: 62. 1 5.0 0.0 15.0 vandnpd %xmm1, %xmm1, %xmm5482# CHECK-NEXT: 63. 1 21.0 0.0 0.0 vpandn %xmm3, %xmm3, %xmm5483# CHECK-NEXT: 64. 1 6.0 0.0 14.0 vandnps %ymm2, %ymm2, %ymm5484# CHECK-NEXT: 65. 1 4.0 0.0 16.0 vandnpd %ymm1, %ymm1, %ymm5485# CHECK-NEXT: 66. 1 20.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm5486# CHECK-NEXT: 67. 1 5.0 5.0 15.0 xorps %xmm0, %xmm0487# CHECK-NEXT: 68. 1 5.0 1.0 15.0 xorpd %xmm1, %xmm1488# CHECK-NEXT: 69. 1 6.0 0.0 14.0 vxorps %xmm2, %xmm2, %xmm2489# CHECK-NEXT: 70. 1 7.0 1.0 13.0 vxorpd %xmm1, %xmm1, %xmm1490# CHECK-NEXT: 71. 1 7.0 0.0 13.0 vxorps %ymm2, %ymm2, %ymm2491# CHECK-NEXT: 72. 1 8.0 1.0 11.0 vxorpd %ymm1, %ymm1, %ymm1492# CHECK-NEXT: 73. 1 6.0 6.0 13.0 pxor %mm2, %mm2493# CHECK-NEXT: 74. 1 9.0 2.0 10.0 pxor %xmm2, %xmm2494# CHECK-NEXT: 75. 1 19.0 0.0 0.0 vpxor %xmm3, %xmm3, %xmm3495# CHECK-NEXT: 76. 1 20.0 0.0 0.0 vpxor %ymm3, %ymm3, %ymm3496# CHECK-NEXT: 77. 1 10.0 10.0 10.0 vxorps %xmm4, %xmm4, %xmm5497# CHECK-NEXT: 78. 1 10.0 1.0 10.0 vxorpd %xmm1, %xmm1, %xmm3498# CHECK-NEXT: 79. 1 10.0 10.0 10.0 vxorps %ymm4, %ymm4, %ymm5499# CHECK-NEXT: 80. 1 8.0 0.0 11.0 vxorpd %ymm1, %ymm1, %ymm3500# CHECK-NEXT: 81. 1 10.0 1.0 9.0 vpxor %xmm3, %xmm3, %xmm5501# CHECK-NEXT: 82. 1 10.0 1.0 9.0 vpxor %ymm3, %ymm3, %ymm5502# CHECK-NEXT: 1 9.0 0.7 5.6 <total>503