1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -timeline -register-file-stats -iterations=1 < %s | FileCheck %s 3 4# On SKL, renamer-based zeroing does not work for: 5# - 16 and 8-bit GPRs 6# - MMX 7# - ANDN variants 8 9subl %eax, %eax 10subq %rax, %rax 11xorl %eax, %eax 12xorq %rax, %rax 13 14pcmpgtb %mm2, %mm2 15pcmpgtd %mm2, %mm2 16# pcmpgtq %mm2, %mm2 # invalid operand for instruction 17pcmpgtw %mm2, %mm2 18 19pcmpgtb %xmm2, %xmm2 20pcmpgtd %xmm2, %xmm2 21pcmpgtq %xmm2, %xmm2 22pcmpgtw %xmm2, %xmm2 23 24vpcmpgtb %xmm3, %xmm3, %xmm3 25vpcmpgtd %xmm3, %xmm3, %xmm3 26vpcmpgtq %xmm3, %xmm3, %xmm3 27vpcmpgtw %xmm3, %xmm3, %xmm3 28 29vpcmpgtb %xmm3, %xmm3, %xmm5 30vpcmpgtd %xmm3, %xmm3, %xmm5 31vpcmpgtq %xmm3, %xmm3, %xmm5 32vpcmpgtw %xmm3, %xmm3, %xmm5 33 34vpcmpgtb %ymm3, %ymm3, %ymm3 35vpcmpgtd %ymm3, %ymm3, %ymm3 36vpcmpgtq %ymm3, %ymm3, %ymm3 37vpcmpgtw %ymm3, %ymm3, %ymm3 38 39vpcmpgtb %ymm3, %ymm3, %ymm5 40vpcmpgtd %ymm3, %ymm3, %ymm5 41vpcmpgtq %ymm3, %ymm3, %ymm5 42vpcmpgtw %ymm3, %ymm3, %ymm5 43 44psubb %mm2, %mm2 45psubd %mm2, %mm2 46psubq %mm2, %mm2 47psubw %mm2, %mm2 48psubb %xmm2, %xmm2 49psubd %xmm2, %xmm2 50psubq %xmm2, %xmm2 51psubw %xmm2, %xmm2 52vpsubb %xmm3, %xmm3, %xmm3 53vpsubd %xmm3, %xmm3, %xmm3 54vpsubq %xmm3, %xmm3, %xmm3 55vpsubw %xmm3, %xmm3, %xmm3 56vpsubb %ymm3, %ymm3, %ymm3 57vpsubd %ymm3, %ymm3, %ymm3 58vpsubq %ymm3, %ymm3, %ymm3 59vpsubw %ymm3, %ymm3, %ymm3 60 61vpsubb %xmm3, %xmm3, %xmm5 62vpsubd %xmm3, %xmm3, %xmm5 63vpsubq %xmm3, %xmm3, %xmm5 64vpsubw %xmm3, %xmm3, %xmm5 65vpsubb %ymm3, %ymm3, %ymm5 66vpsubd %ymm3, %ymm3, %ymm5 67vpsubq %ymm3, %ymm3, %ymm5 68vpsubw %ymm3, %ymm3, %ymm5 69 70andnps %xmm0, %xmm0 71andnpd %xmm1, %xmm1 72vandnps %xmm2, %xmm2, %xmm2 73vandnpd %xmm1, %xmm1, %xmm1 74vandnps %ymm2, %ymm2, %ymm2 75vandnpd %ymm1, %ymm1, %ymm1 76pandn %mm2, %mm2 77pandn %xmm2, %xmm2 78vpandn %xmm3, %xmm3, %xmm3 79vpandn %ymm3, %ymm3, %ymm3 80 81vandnps %xmm2, %xmm2, %xmm5 82vandnpd %xmm1, %xmm1, %xmm5 83vpandn %xmm3, %xmm3, %xmm5 84vandnps %ymm2, %ymm2, %ymm5 85vandnpd %ymm1, %ymm1, %ymm5 86vpandn %ymm3, %ymm3, %ymm5 87 88xorps %xmm0, %xmm0 89xorpd %xmm1, %xmm1 90vxorps %xmm2, %xmm2, %xmm2 91vxorpd %xmm1, %xmm1, %xmm1 92vxorps %ymm2, %ymm2, %ymm2 93vxorpd %ymm1, %ymm1, %ymm1 94pxor %mm2, %mm2 95pxor %xmm2, %xmm2 96vpxor %xmm3, %xmm3, %xmm3 97vpxor %ymm3, %ymm3, %ymm3 98 99vxorps %xmm4, %xmm4, %xmm5 100vxorpd %xmm1, %xmm1, %xmm3 101vxorps %ymm4, %ymm4, %ymm5 102vxorpd %ymm1, %ymm1, %ymm3 103vpxor %xmm3, %xmm3, %xmm5 104vpxor %ymm3, %ymm3, %ymm5 105 106# CHECK: Iterations: 1 107# CHECK-NEXT: Instructions: 83 108# CHECK-NEXT: Total Cycles: 17 109# CHECK-NEXT: Total uOps: 83 110 111# CHECK: Dispatch Width: 6 112# CHECK-NEXT: uOps Per Cycle: 4.88 113# CHECK-NEXT: IPC: 4.88 114# CHECK-NEXT: Block RThroughput: 13.8 115 116# CHECK: Instruction Info: 117# CHECK-NEXT: [1]: #uOps 118# CHECK-NEXT: [2]: Latency 119# CHECK-NEXT: [3]: RThroughput 120# CHECK-NEXT: [4]: MayLoad 121# CHECK-NEXT: [5]: MayStore 122# CHECK-NEXT: [6]: HasSideEffects (U) 123 124# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 125# CHECK-NEXT: 1 0 0.17 subl %eax, %eax 126# CHECK-NEXT: 1 0 0.17 subq %rax, %rax 127# CHECK-NEXT: 1 0 0.17 xorl %eax, %eax 128# CHECK-NEXT: 1 0 0.17 xorq %rax, %rax 129# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm2, %mm2 130# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm2, %mm2 131# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm2, %mm2 132# CHECK-NEXT: 1 0 0.17 pcmpgtb %xmm2, %xmm2 133# CHECK-NEXT: 1 0 0.17 pcmpgtd %xmm2, %xmm2 134# CHECK-NEXT: 1 0 0.17 pcmpgtq %xmm2, %xmm2 135# CHECK-NEXT: 1 0 0.17 pcmpgtw %xmm2, %xmm2 136# CHECK-NEXT: 1 0 0.17 vpcmpgtb %xmm3, %xmm3, %xmm3 137# CHECK-NEXT: 1 0 0.17 vpcmpgtd %xmm3, %xmm3, %xmm3 138# CHECK-NEXT: 1 0 0.17 vpcmpgtq %xmm3, %xmm3, %xmm3 139# CHECK-NEXT: 1 0 0.17 vpcmpgtw %xmm3, %xmm3, %xmm3 140# CHECK-NEXT: 1 0 0.17 vpcmpgtb %xmm3, %xmm3, %xmm5 141# CHECK-NEXT: 1 0 0.17 vpcmpgtd %xmm3, %xmm3, %xmm5 142# CHECK-NEXT: 1 0 0.17 vpcmpgtq %xmm3, %xmm3, %xmm5 143# CHECK-NEXT: 1 0 0.17 vpcmpgtw %xmm3, %xmm3, %xmm5 144# CHECK-NEXT: 1 0 0.17 vpcmpgtb %ymm3, %ymm3, %ymm3 145# CHECK-NEXT: 1 0 0.17 vpcmpgtd %ymm3, %ymm3, %ymm3 146# CHECK-NEXT: 1 0 0.17 vpcmpgtq %ymm3, %ymm3, %ymm3 147# CHECK-NEXT: 1 0 0.17 vpcmpgtw %ymm3, %ymm3, %ymm3 148# CHECK-NEXT: 1 0 0.17 vpcmpgtb %ymm3, %ymm3, %ymm5 149# CHECK-NEXT: 1 0 0.17 vpcmpgtd %ymm3, %ymm3, %ymm5 150# CHECK-NEXT: 1 0 0.17 vpcmpgtq %ymm3, %ymm3, %ymm5 151# CHECK-NEXT: 1 0 0.17 vpcmpgtw %ymm3, %ymm3, %ymm5 152# CHECK-NEXT: 1 1 0.50 psubb %mm2, %mm2 153# CHECK-NEXT: 1 1 0.50 psubd %mm2, %mm2 154# CHECK-NEXT: 1 1 0.50 psubq %mm2, %mm2 155# CHECK-NEXT: 1 1 0.50 psubw %mm2, %mm2 156# CHECK-NEXT: 1 0 0.17 psubb %xmm2, %xmm2 157# CHECK-NEXT: 1 0 0.17 psubd %xmm2, %xmm2 158# CHECK-NEXT: 1 0 0.17 psubq %xmm2, %xmm2 159# CHECK-NEXT: 1 0 0.17 psubw %xmm2, %xmm2 160# CHECK-NEXT: 1 0 0.17 vpsubb %xmm3, %xmm3, %xmm3 161# CHECK-NEXT: 1 0 0.17 vpsubd %xmm3, %xmm3, %xmm3 162# CHECK-NEXT: 1 0 0.17 vpsubq %xmm3, %xmm3, %xmm3 163# CHECK-NEXT: 1 0 0.17 vpsubw %xmm3, %xmm3, %xmm3 164# CHECK-NEXT: 1 0 0.17 vpsubb %ymm3, %ymm3, %ymm3 165# CHECK-NEXT: 1 0 0.17 vpsubd %ymm3, %ymm3, %ymm3 166# CHECK-NEXT: 1 0 0.17 vpsubq %ymm3, %ymm3, %ymm3 167# CHECK-NEXT: 1 0 0.17 vpsubw %ymm3, %ymm3, %ymm3 168# CHECK-NEXT: 1 0 0.17 vpsubb %xmm3, %xmm3, %xmm5 169# CHECK-NEXT: 1 0 0.17 vpsubd %xmm3, %xmm3, %xmm5 170# CHECK-NEXT: 1 0 0.17 vpsubq %xmm3, %xmm3, %xmm5 171# CHECK-NEXT: 1 0 0.17 vpsubw %xmm3, %xmm3, %xmm5 172# CHECK-NEXT: 1 0 0.17 vpsubb %ymm3, %ymm3, %ymm5 173# CHECK-NEXT: 1 0 0.17 vpsubd %ymm3, %ymm3, %ymm5 174# CHECK-NEXT: 1 0 0.17 vpsubq %ymm3, %ymm3, %ymm5 175# CHECK-NEXT: 1 0 0.17 vpsubw %ymm3, %ymm3, %ymm5 176# CHECK-NEXT: 1 1 0.33 andnps %xmm0, %xmm0 177# CHECK-NEXT: 1 1 0.33 andnpd %xmm1, %xmm1 178# CHECK-NEXT: 1 1 0.33 vandnps %xmm2, %xmm2, %xmm2 179# CHECK-NEXT: 1 1 0.33 vandnpd %xmm1, %xmm1, %xmm1 180# CHECK-NEXT: 1 1 0.33 vandnps %ymm2, %ymm2, %ymm2 181# CHECK-NEXT: 1 1 0.33 vandnpd %ymm1, %ymm1, %ymm1 182# CHECK-NEXT: 1 1 0.50 pandn %mm2, %mm2 183# CHECK-NEXT: 1 1 0.33 pandn %xmm2, %xmm2 184# CHECK-NEXT: 1 1 0.33 vpandn %xmm3, %xmm3, %xmm3 185# CHECK-NEXT: 1 1 0.33 vpandn %ymm3, %ymm3, %ymm3 186# CHECK-NEXT: 1 1 0.33 vandnps %xmm2, %xmm2, %xmm5 187# CHECK-NEXT: 1 1 0.33 vandnpd %xmm1, %xmm1, %xmm5 188# CHECK-NEXT: 1 1 0.33 vpandn %xmm3, %xmm3, %xmm5 189# CHECK-NEXT: 1 1 0.33 vandnps %ymm2, %ymm2, %ymm5 190# CHECK-NEXT: 1 1 0.33 vandnpd %ymm1, %ymm1, %ymm5 191# CHECK-NEXT: 1 1 0.33 vpandn %ymm3, %ymm3, %ymm5 192# CHECK-NEXT: 1 0 0.17 xorps %xmm0, %xmm0 193# CHECK-NEXT: 1 0 0.17 xorpd %xmm1, %xmm1 194# CHECK-NEXT: 1 0 0.17 vxorps %xmm2, %xmm2, %xmm2 195# CHECK-NEXT: 1 0 0.17 vxorpd %xmm1, %xmm1, %xmm1 196# CHECK-NEXT: 1 0 0.17 vxorps %ymm2, %ymm2, %ymm2 197# CHECK-NEXT: 1 0 0.17 vxorpd %ymm1, %ymm1, %ymm1 198# CHECK-NEXT: 1 1 0.50 pxor %mm2, %mm2 199# CHECK-NEXT: 1 0 0.17 pxor %xmm2, %xmm2 200# CHECK-NEXT: 1 0 0.17 vpxor %xmm3, %xmm3, %xmm3 201# CHECK-NEXT: 1 0 0.17 vpxor %ymm3, %ymm3, %ymm3 202# CHECK-NEXT: 1 0 0.17 vxorps %xmm4, %xmm4, %xmm5 203# CHECK-NEXT: 1 0 0.17 vxorpd %xmm1, %xmm1, %xmm3 204# CHECK-NEXT: 1 0 0.17 vxorps %ymm4, %ymm4, %ymm5 205# CHECK-NEXT: 1 0 0.17 vxorpd %ymm1, %ymm1, %ymm3 206# CHECK-NEXT: 1 0 0.17 vpxor %xmm3, %xmm3, %xmm5 207# CHECK-NEXT: 1 0 0.17 vpxor %ymm3, %ymm3, %ymm5 208 209# CHECK: Register File statistics: 210# CHECK-NEXT: Total number of mappings created: 87 211# CHECK-NEXT: Max number of mappings used: 30 212 213# CHECK: Resources: 214# CHECK-NEXT: [0] - SKLDivider 215# CHECK-NEXT: [1] - SKLFPDivider 216# CHECK-NEXT: [2] - SKLPort0 217# CHECK-NEXT: [3] - SKLPort1 218# CHECK-NEXT: [4] - SKLPort2 219# CHECK-NEXT: [5] - SKLPort3 220# CHECK-NEXT: [6] - SKLPort4 221# CHECK-NEXT: [7] - SKLPort5 222# CHECK-NEXT: [8] - SKLPort6 223# CHECK-NEXT: [9] - SKLPort7 224 225# CHECK: Resource pressure per iteration: 226# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 227# CHECK-NEXT: - - 10.00 6.00 - - - 8.00 - - 228 229# CHECK: Resource pressure by instruction: 230# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: 231# CHECK-NEXT: - - - - - - - - - - subl %eax, %eax 232# CHECK-NEXT: - - - - - - - - - - subq %rax, %rax 233# CHECK-NEXT: - - - - - - - - - - xorl %eax, %eax 234# CHECK-NEXT: - - - - - - - - - - xorq %rax, %rax 235# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtb %mm2, %mm2 236# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtd %mm2, %mm2 237# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtw %mm2, %mm2 238# CHECK-NEXT: - - - - - - - - - - pcmpgtb %xmm2, %xmm2 239# CHECK-NEXT: - - - - - - - - - - pcmpgtd %xmm2, %xmm2 240# CHECK-NEXT: - - - - - - - - - - pcmpgtq %xmm2, %xmm2 241# CHECK-NEXT: - - - - - - - - - - pcmpgtw %xmm2, %xmm2 242# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3 243# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3 244# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3 245# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3 246# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5 247# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5 248# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5 249# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5 250# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3 251# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3 252# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm3 253# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3 254# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5 255# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5 256# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm5 257# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5 258# CHECK-NEXT: - - - - - - - 1.00 - - psubb %mm2, %mm2 259# CHECK-NEXT: - - - - - - - 1.00 - - psubd %mm2, %mm2 260# CHECK-NEXT: - - 1.00 - - - - - - - psubq %mm2, %mm2 261# CHECK-NEXT: - - - - - - - 1.00 - - psubw %mm2, %mm2 262# CHECK-NEXT: - - - - - - - - - - psubb %xmm2, %xmm2 263# CHECK-NEXT: - - - - - - - - - - psubd %xmm2, %xmm2 264# CHECK-NEXT: - - - - - - - - - - psubq %xmm2, %xmm2 265# CHECK-NEXT: - - - - - - - - - - psubw %xmm2, %xmm2 266# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm3 267# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm3 268# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm3 269# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm3 270# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm3 271# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm3 272# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm3 273# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm3 274# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm5 275# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5 276# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5 277# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5 278# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm5 279# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm5 280# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm5 281# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm5 282# CHECK-NEXT: - - - 1.00 - - - - - - andnps %xmm0, %xmm0 283# CHECK-NEXT: - - 1.00 - - - - - - - andnpd %xmm1, %xmm1 284# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm2 285# CHECK-NEXT: - - - 1.00 - - - - - - vandnpd %xmm1, %xmm1, %xmm1 286# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm2 287# CHECK-NEXT: - - - 1.00 - - - - - - vandnpd %ymm1, %ymm1, %ymm1 288# CHECK-NEXT: - - - - - - - 1.00 - - pandn %mm2, %mm2 289# CHECK-NEXT: - - 1.00 - - - - - - - pandn %xmm2, %xmm2 290# CHECK-NEXT: - - - - - - - 1.00 - - vpandn %xmm3, %xmm3, %xmm3 291# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %ymm3, %ymm3, %ymm3 292# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %xmm2, %xmm2, %xmm5 293# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm5 294# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %xmm3, %xmm3, %xmm5 295# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm5 296# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm1, %ymm1, %ymm5 297# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %ymm3, %ymm3, %ymm5 298# CHECK-NEXT: - - - - - - - - - - xorps %xmm0, %xmm0 299# CHECK-NEXT: - - - - - - - - - - xorpd %xmm1, %xmm1 300# CHECK-NEXT: - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2 301# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1 302# CHECK-NEXT: - - - - - - - - - - vxorps %ymm2, %ymm2, %ymm2 303# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1 304# CHECK-NEXT: - - 1.00 - - - - - - - pxor %mm2, %mm2 305# CHECK-NEXT: - - - - - - - - - - pxor %xmm2, %xmm2 306# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3 307# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm3 308# CHECK-NEXT: - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5 309# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3 310# CHECK-NEXT: - - - - - - - - - - vxorps %ymm4, %ymm4, %ymm5 311# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3 312# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5 313# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm5 314 315# CHECK: Timeline view: 316# CHECK-NEXT: 0123456 317# CHECK-NEXT: Index 0123456789 318 319# CHECK: [0,0] DR . . .. subl %eax, %eax 320# CHECK-NEXT: [0,1] DR . . .. subq %rax, %rax 321# CHECK-NEXT: [0,2] DR . . .. xorl %eax, %eax 322# CHECK-NEXT: [0,3] DR . . .. xorq %rax, %rax 323# CHECK-NEXT: [0,4] DeER . . .. pcmpgtb %mm2, %mm2 324# CHECK-NEXT: [0,5] D=eER. . .. pcmpgtd %mm2, %mm2 325# CHECK-NEXT: [0,6] .D=eER . .. pcmpgtw %mm2, %mm2 326# CHECK-NEXT: [0,7] .D---R . .. pcmpgtb %xmm2, %xmm2 327# CHECK-NEXT: [0,8] .D---R . .. pcmpgtd %xmm2, %xmm2 328# CHECK-NEXT: [0,9] .D---R . .. pcmpgtq %xmm2, %xmm2 329# CHECK-NEXT: [0,10] .D---R . .. pcmpgtw %xmm2, %xmm2 330# CHECK-NEXT: [0,11] .D---R . .. vpcmpgtb %xmm3, %xmm3, %xmm3 331# CHECK-NEXT: [0,12] . D--R . .. vpcmpgtd %xmm3, %xmm3, %xmm3 332# CHECK-NEXT: [0,13] . D--R . .. vpcmpgtq %xmm3, %xmm3, %xmm3 333# CHECK-NEXT: [0,14] . D--R . .. vpcmpgtw %xmm3, %xmm3, %xmm3 334# CHECK-NEXT: [0,15] . D--R . .. vpcmpgtb %xmm3, %xmm3, %xmm5 335# CHECK-NEXT: [0,16] . D--R . .. vpcmpgtd %xmm3, %xmm3, %xmm5 336# CHECK-NEXT: [0,17] . D--R . .. vpcmpgtq %xmm3, %xmm3, %xmm5 337# CHECK-NEXT: [0,18] . D-R . .. vpcmpgtw %xmm3, %xmm3, %xmm5 338# CHECK-NEXT: [0,19] . D-R . .. vpcmpgtb %ymm3, %ymm3, %ymm3 339# CHECK-NEXT: [0,20] . D-R . .. vpcmpgtd %ymm3, %ymm3, %ymm3 340# CHECK-NEXT: [0,21] . D-R . .. vpcmpgtq %ymm3, %ymm3, %ymm3 341# CHECK-NEXT: [0,22] . D-R . .. vpcmpgtw %ymm3, %ymm3, %ymm3 342# CHECK-NEXT: [0,23] . D-R . .. vpcmpgtb %ymm3, %ymm3, %ymm5 343# CHECK-NEXT: [0,24] . DR . .. vpcmpgtd %ymm3, %ymm3, %ymm5 344# CHECK-NEXT: [0,25] . DR . .. vpcmpgtq %ymm3, %ymm3, %ymm5 345# CHECK-NEXT: [0,26] . DR . .. vpcmpgtw %ymm3, %ymm3, %ymm5 346# CHECK-NEXT: [0,27] . DeER . .. psubb %mm2, %mm2 347# CHECK-NEXT: [0,28] . D=eER . .. psubd %mm2, %mm2 348# CHECK-NEXT: [0,29] . D==eER. .. psubq %mm2, %mm2 349# CHECK-NEXT: [0,30] . D==eER .. psubw %mm2, %mm2 350# CHECK-NEXT: [0,31] . D----R .. psubb %xmm2, %xmm2 351# CHECK-NEXT: [0,32] . D----R .. psubd %xmm2, %xmm2 352# CHECK-NEXT: [0,33] . D----R .. psubq %xmm2, %xmm2 353# CHECK-NEXT: [0,34] . D----R .. psubw %xmm2, %xmm2 354# CHECK-NEXT: [0,35] . D----R .. vpsubb %xmm3, %xmm3, %xmm3 355# CHECK-NEXT: [0,36] . .D---R .. vpsubd %xmm3, %xmm3, %xmm3 356# CHECK-NEXT: [0,37] . .D---R .. vpsubq %xmm3, %xmm3, %xmm3 357# CHECK-NEXT: [0,38] . .D---R .. vpsubw %xmm3, %xmm3, %xmm3 358# CHECK-NEXT: [0,39] . .D---R .. vpsubb %ymm3, %ymm3, %ymm3 359# CHECK-NEXT: [0,40] . .D---R .. vpsubd %ymm3, %ymm3, %ymm3 360# CHECK-NEXT: [0,41] . .D---R .. vpsubq %ymm3, %ymm3, %ymm3 361# CHECK-NEXT: [0,42] . . D--R .. vpsubw %ymm3, %ymm3, %ymm3 362# CHECK-NEXT: [0,43] . . D--R .. vpsubb %xmm3, %xmm3, %xmm5 363# CHECK-NEXT: [0,44] . . D--R .. vpsubd %xmm3, %xmm3, %xmm5 364# CHECK-NEXT: [0,45] . . D--R .. vpsubq %xmm3, %xmm3, %xmm5 365# CHECK-NEXT: [0,46] . . D--R .. vpsubw %xmm3, %xmm3, %xmm5 366# CHECK-NEXT: [0,47] . . D--R .. vpsubb %ymm3, %ymm3, %ymm5 367# CHECK-NEXT: [0,48] . . D-R .. vpsubd %ymm3, %ymm3, %ymm5 368# CHECK-NEXT: [0,49] . . D-R .. vpsubq %ymm3, %ymm3, %ymm5 369# CHECK-NEXT: [0,50] . . D-R .. vpsubw %ymm3, %ymm3, %ymm5 370# CHECK-NEXT: [0,51] . . DeER .. andnps %xmm0, %xmm0 371# CHECK-NEXT: [0,52] . . DeER .. andnpd %xmm1, %xmm1 372# CHECK-NEXT: [0,53] . . DeER .. vandnps %xmm2, %xmm2, %xmm2 373# CHECK-NEXT: [0,54] . . DeER .. vandnpd %xmm1, %xmm1, %xmm1 374# CHECK-NEXT: [0,55] . . DeER .. vandnps %ymm2, %ymm2, %ymm2 375# CHECK-NEXT: [0,56] . . D=eER .. vandnpd %ymm1, %ymm1, %ymm1 376# CHECK-NEXT: [0,57] . . DeE-R .. pandn %mm2, %mm2 377# CHECK-NEXT: [0,58] . . D=eER .. pandn %xmm2, %xmm2 378# CHECK-NEXT: [0,59] . . D=eER .. vpandn %xmm3, %xmm3, %xmm3 379# CHECK-NEXT: [0,60] . . D=eER.. vpandn %ymm3, %ymm3, %ymm3 380# CHECK-NEXT: [0,61] . . D=eER.. vandnps %xmm2, %xmm2, %xmm5 381# CHECK-NEXT: [0,62] . . D=eER.. vandnpd %xmm1, %xmm1, %xmm5 382# CHECK-NEXT: [0,63] . . D==eER. vpandn %xmm3, %xmm3, %xmm5 383# CHECK-NEXT: [0,64] . . D==eER. vandnps %ymm2, %ymm2, %ymm5 384# CHECK-NEXT: [0,65] . . D==eER. vandnpd %ymm1, %ymm1, %ymm5 385# CHECK-NEXT: [0,66] . . .D==eER vpandn %ymm3, %ymm3, %ymm5 386# CHECK-NEXT: [0,67] . . .D----R xorps %xmm0, %xmm0 387# CHECK-NEXT: [0,68] . . .DE---R xorpd %xmm1, %xmm1 388# CHECK-NEXT: [0,69] . . .DE---R vxorps %xmm2, %xmm2, %xmm2 389# CHECK-NEXT: [0,70] . . .DE---R vxorpd %xmm1, %xmm1, %xmm1 390# CHECK-NEXT: [0,71] . . .DE---R vxorps %ymm2, %ymm2, %ymm2 391# CHECK-NEXT: [0,72] . . . D---R vxorpd %ymm1, %ymm1, %ymm1 392# CHECK-NEXT: [0,73] . . . D=eER pxor %mm2, %mm2 393# CHECK-NEXT: [0,74] . . . D---R pxor %xmm2, %xmm2 394# CHECK-NEXT: [0,75] . . . DE--R vpxor %xmm3, %xmm3, %xmm3 395# CHECK-NEXT: [0,76] . . . DE--R vpxor %ymm3, %ymm3, %ymm3 396# CHECK-NEXT: [0,77] . . . D---R vxorps %xmm4, %xmm4, %xmm5 397# CHECK-NEXT: [0,78] . . . D--R vxorpd %xmm1, %xmm1, %xmm3 398# CHECK-NEXT: [0,79] . . . D--R vxorps %ymm4, %ymm4, %ymm5 399# CHECK-NEXT: [0,80] . . . D--R vxorpd %ymm1, %ymm1, %ymm3 400# CHECK-NEXT: [0,81] . . . D--R vpxor %xmm3, %xmm3, %xmm5 401# CHECK-NEXT: [0,82] . . . D--R vpxor %ymm3, %ymm3, %ymm5 402 403# CHECK: Average Wait times (based on the timeline view): 404# CHECK-NEXT: [0]: Executions 405# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue 406# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready 407# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage 408 409# CHECK: [0] [1] [2] [3] 410# CHECK-NEXT: 0. 1 0.0 0.0 0.0 subl %eax, %eax 411# CHECK-NEXT: 1. 1 0.0 0.0 0.0 subq %rax, %rax 412# CHECK-NEXT: 2. 1 0.0 0.0 0.0 xorl %eax, %eax 413# CHECK-NEXT: 3. 1 0.0 0.0 0.0 xorq %rax, %rax 414# CHECK-NEXT: 4. 1 1.0 1.0 0.0 pcmpgtb %mm2, %mm2 415# CHECK-NEXT: 5. 1 2.0 0.0 0.0 pcmpgtd %mm2, %mm2 416# CHECK-NEXT: 6. 1 2.0 0.0 0.0 pcmpgtw %mm2, %mm2 417# CHECK-NEXT: 7. 1 0.0 0.0 3.0 pcmpgtb %xmm2, %xmm2 418# CHECK-NEXT: 8. 1 0.0 0.0 3.0 pcmpgtd %xmm2, %xmm2 419# CHECK-NEXT: 9. 1 0.0 0.0 3.0 pcmpgtq %xmm2, %xmm2 420# CHECK-NEXT: 10. 1 0.0 0.0 3.0 pcmpgtw %xmm2, %xmm2 421# CHECK-NEXT: 11. 1 0.0 0.0 3.0 vpcmpgtb %xmm3, %xmm3, %xmm3 422# CHECK-NEXT: 12. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm3 423# CHECK-NEXT: 13. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm3 424# CHECK-NEXT: 14. 1 0.0 0.0 2.0 vpcmpgtw %xmm3, %xmm3, %xmm3 425# CHECK-NEXT: 15. 1 0.0 0.0 2.0 vpcmpgtb %xmm3, %xmm3, %xmm5 426# CHECK-NEXT: 16. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm5 427# CHECK-NEXT: 17. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm5 428# CHECK-NEXT: 18. 1 0.0 0.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5 429# CHECK-NEXT: 19. 1 0.0 0.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm3 430# CHECK-NEXT: 20. 1 0.0 0.0 1.0 vpcmpgtd %ymm3, %ymm3, %ymm3 431# CHECK-NEXT: 21. 1 0.0 0.0 1.0 vpcmpgtq %ymm3, %ymm3, %ymm3 432# CHECK-NEXT: 22. 1 0.0 0.0 1.0 vpcmpgtw %ymm3, %ymm3, %ymm3 433# CHECK-NEXT: 23. 1 0.0 0.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm5 434# CHECK-NEXT: 24. 1 0.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5 435# CHECK-NEXT: 25. 1 0.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5 436# CHECK-NEXT: 26. 1 0.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5 437# CHECK-NEXT: 27. 1 1.0 1.0 0.0 psubb %mm2, %mm2 438# CHECK-NEXT: 28. 1 2.0 0.0 0.0 psubd %mm2, %mm2 439# CHECK-NEXT: 29. 1 3.0 0.0 0.0 psubq %mm2, %mm2 440# CHECK-NEXT: 30. 1 3.0 0.0 0.0 psubw %mm2, %mm2 441# CHECK-NEXT: 31. 1 0.0 0.0 4.0 psubb %xmm2, %xmm2 442# CHECK-NEXT: 32. 1 0.0 0.0 4.0 psubd %xmm2, %xmm2 443# CHECK-NEXT: 33. 1 0.0 0.0 4.0 psubq %xmm2, %xmm2 444# CHECK-NEXT: 34. 1 0.0 0.0 4.0 psubw %xmm2, %xmm2 445# CHECK-NEXT: 35. 1 0.0 0.0 4.0 vpsubb %xmm3, %xmm3, %xmm3 446# CHECK-NEXT: 36. 1 0.0 0.0 3.0 vpsubd %xmm3, %xmm3, %xmm3 447# CHECK-NEXT: 37. 1 0.0 0.0 3.0 vpsubq %xmm3, %xmm3, %xmm3 448# CHECK-NEXT: 38. 1 0.0 0.0 3.0 vpsubw %xmm3, %xmm3, %xmm3 449# CHECK-NEXT: 39. 1 0.0 0.0 3.0 vpsubb %ymm3, %ymm3, %ymm3 450# CHECK-NEXT: 40. 1 0.0 0.0 3.0 vpsubd %ymm3, %ymm3, %ymm3 451# CHECK-NEXT: 41. 1 0.0 0.0 3.0 vpsubq %ymm3, %ymm3, %ymm3 452# CHECK-NEXT: 42. 1 0.0 0.0 2.0 vpsubw %ymm3, %ymm3, %ymm3 453# CHECK-NEXT: 43. 1 0.0 0.0 2.0 vpsubb %xmm3, %xmm3, %xmm5 454# CHECK-NEXT: 44. 1 0.0 0.0 2.0 vpsubd %xmm3, %xmm3, %xmm5 455# CHECK-NEXT: 45. 1 0.0 0.0 2.0 vpsubq %xmm3, %xmm3, %xmm5 456# CHECK-NEXT: 46. 1 0.0 0.0 2.0 vpsubw %xmm3, %xmm3, %xmm5 457# CHECK-NEXT: 47. 1 0.0 0.0 2.0 vpsubb %ymm3, %ymm3, %ymm5 458# CHECK-NEXT: 48. 1 0.0 0.0 1.0 vpsubd %ymm3, %ymm3, %ymm5 459# CHECK-NEXT: 49. 1 0.0 0.0 1.0 vpsubq %ymm3, %ymm3, %ymm5 460# CHECK-NEXT: 50. 1 0.0 0.0 1.0 vpsubw %ymm3, %ymm3, %ymm5 461# CHECK-NEXT: 51. 1 1.0 1.0 0.0 andnps %xmm0, %xmm0 462# CHECK-NEXT: 52. 1 1.0 1.0 0.0 andnpd %xmm1, %xmm1 463# CHECK-NEXT: 53. 1 1.0 1.0 0.0 vandnps %xmm2, %xmm2, %xmm2 464# CHECK-NEXT: 54. 1 1.0 0.0 0.0 vandnpd %xmm1, %xmm1, %xmm1 465# CHECK-NEXT: 55. 1 1.0 0.0 0.0 vandnps %ymm2, %ymm2, %ymm2 466# CHECK-NEXT: 56. 1 2.0 0.0 0.0 vandnpd %ymm1, %ymm1, %ymm1 467# CHECK-NEXT: 57. 1 1.0 1.0 1.0 pandn %mm2, %mm2 468# CHECK-NEXT: 58. 1 2.0 0.0 0.0 pandn %xmm2, %xmm2 469# CHECK-NEXT: 59. 1 2.0 2.0 0.0 vpandn %xmm3, %xmm3, %xmm3 470# CHECK-NEXT: 60. 1 2.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm3 471# CHECK-NEXT: 61. 1 2.0 0.0 0.0 vandnps %xmm2, %xmm2, %xmm5 472# CHECK-NEXT: 62. 1 2.0 0.0 0.0 vandnpd %xmm1, %xmm1, %xmm5 473# CHECK-NEXT: 63. 1 3.0 0.0 0.0 vpandn %xmm3, %xmm3, %xmm5 474# CHECK-NEXT: 64. 1 3.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm5 475# CHECK-NEXT: 65. 1 3.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm5 476# CHECK-NEXT: 66. 1 3.0 1.0 0.0 vpandn %ymm3, %ymm3, %ymm5 477# CHECK-NEXT: 67. 1 0.0 0.0 4.0 xorps %xmm0, %xmm0 478# CHECK-NEXT: 68. 1 1.0 0.0 3.0 xorpd %xmm1, %xmm1 479# CHECK-NEXT: 69. 1 1.0 0.0 3.0 vxorps %xmm2, %xmm2, %xmm2 480# CHECK-NEXT: 70. 1 1.0 0.0 3.0 vxorpd %xmm1, %xmm1, %xmm1 481# CHECK-NEXT: 71. 1 1.0 0.0 3.0 vxorps %ymm2, %ymm2, %ymm2 482# CHECK-NEXT: 72. 1 0.0 0.0 3.0 vxorpd %ymm1, %ymm1, %ymm1 483# CHECK-NEXT: 73. 1 2.0 2.0 0.0 pxor %mm2, %mm2 484# CHECK-NEXT: 74. 1 0.0 0.0 3.0 pxor %xmm2, %xmm2 485# CHECK-NEXT: 75. 1 1.0 0.0 2.0 vpxor %xmm3, %xmm3, %xmm3 486# CHECK-NEXT: 76. 1 1.0 0.0 2.0 vpxor %ymm3, %ymm3, %ymm3 487# CHECK-NEXT: 77. 1 0.0 0.0 3.0 vxorps %xmm4, %xmm4, %xmm5 488# CHECK-NEXT: 78. 1 0.0 0.0 2.0 vxorpd %xmm1, %xmm1, %xmm3 489# CHECK-NEXT: 79. 1 0.0 0.0 2.0 vxorps %ymm4, %ymm4, %ymm5 490# CHECK-NEXT: 80. 1 0.0 0.0 2.0 vxorpd %ymm1, %ymm1, %ymm3 491# CHECK-NEXT: 81. 1 0.0 0.0 2.0 vpxor %xmm3, %xmm3, %xmm5 492# CHECK-NEXT: 82. 1 0.0 0.0 2.0 vpxor %ymm3, %ymm3, %ymm5 493# CHECK-NEXT: 1 0.6 0.2 1.5 <total> 494