1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s 3 4lea 0(), %cx 5lea 0(), %ecx 6lea 0(), %rcx 7lea (%eax), %cx 8lea (%eax), %ecx 9lea (%eax), %rcx 10lea (%rax), %cx 11lea (%rax), %ecx 12lea (%rax), %rcx 13lea (, %ebx), %cx 14lea (, %ebx), %ecx 15lea (, %ebx), %rcx 16lea (, %rbx), %cx 17lea (, %rbx), %ecx 18lea (, %rbx), %rcx 19lea (, %ebx, 1), %cx 20lea (, %ebx, 1), %ecx 21lea (, %ebx, 1), %rcx 22lea (, %rbx, 1), %cx 23lea (, %rbx, 1), %ecx 24lea (, %rbx, 1), %rcx 25lea (, %ebx, 2), %cx 26lea (, %ebx, 2), %ecx 27lea (, %ebx, 2), %rcx 28lea (, %rbx, 2), %cx 29lea (, %rbx, 2), %ecx 30lea (, %rbx, 2), %rcx 31lea (%eax, %ebx), %cx 32lea (%eax, %ebx), %ecx 33lea (%eax, %ebx), %rcx 34lea (%rax, %rbx), %cx 35lea (%rax, %rbx), %ecx 36lea (%rax, %rbx), %rcx 37lea (%eax, %ebx, 1), %cx 38lea (%eax, %ebx, 1), %ecx 39lea (%eax, %ebx, 1), %rcx 40lea (%rax, %rbx, 1), %cx 41lea (%rax, %rbx, 1), %ecx 42lea (%rax, %rbx, 1), %rcx 43lea (%eax, %ebx, 2), %cx 44lea (%eax, %ebx, 2), %ecx 45lea (%eax, %ebx, 2), %rcx 46lea (%rax, %rbx, 2), %cx 47lea (%rax, %rbx, 2), %ecx 48lea (%rax, %rbx, 2), %rcx 49 50lea -16(), %cx 51lea -16(), %ecx 52lea -16(), %rcx 53lea -16(%eax), %cx 54lea -16(%eax), %ecx 55lea -16(%eax), %rcx 56lea -16(%rax), %cx 57lea -16(%rax), %ecx 58lea -16(%rax), %rcx 59lea -16(, %ebx), %cx 60lea -16(, %ebx), %ecx 61lea -16(, %ebx), %rcx 62lea -16(, %rbx), %cx 63lea -16(, %rbx), %ecx 64lea -16(, %rbx), %rcx 65lea -16(, %ebx, 1), %cx 66lea -16(, %ebx, 1), %ecx 67lea -16(, %ebx, 1), %rcx 68lea -16(, %rbx, 1), %cx 69lea -16(, %rbx, 1), %ecx 70lea -16(, %rbx, 1), %rcx 71lea -16(, %ebx, 2), %cx 72lea -16(, %ebx, 2), %ecx 73lea -16(, %ebx, 2), %rcx 74lea -16(, %rbx, 2), %cx 75lea -16(, %rbx, 2), %ecx 76lea -16(, %rbx, 2), %rcx 77lea -16(%eax, %ebx), %cx 78lea -16(%eax, %ebx), %ecx 79lea -16(%eax, %ebx), %rcx 80lea -16(%rax, %rbx), %cx 81lea -16(%rax, %rbx), %ecx 82lea -16(%rax, %rbx), %rcx 83lea -16(%eax, %ebx, 1), %cx 84lea -16(%eax, %ebx, 1), %ecx 85lea -16(%eax, %ebx, 1), %rcx 86lea -16(%rax, %rbx, 1), %cx 87lea -16(%rax, %rbx, 1), %ecx 88lea -16(%rax, %rbx, 1), %rcx 89lea -16(%eax, %ebx, 2), %cx 90lea -16(%eax, %ebx, 2), %ecx 91lea -16(%eax, %ebx, 2), %rcx 92lea -16(%rax, %rbx, 2), %cx 93lea -16(%rax, %rbx, 2), %ecx 94lea -16(%rax, %rbx, 2), %rcx 95 96lea 1024(), %cx 97lea 1024(), %ecx 98lea 1024(), %rcx 99lea 1024(%eax), %cx 100lea 1024(%eax), %ecx 101lea 1024(%eax), %rcx 102lea 1024(%rax), %cx 103lea 1024(%rax), %ecx 104lea 1024(%rax), %rcx 105lea 1024(, %ebx), %cx 106lea 1024(, %ebx), %ecx 107lea 1024(, %ebx), %rcx 108lea 1024(, %rbx), %cx 109lea 1024(, %rbx), %ecx 110lea 1024(, %rbx), %rcx 111lea 1024(, %ebx, 1), %cx 112lea 1024(, %ebx, 1), %ecx 113lea 1024(, %ebx, 1), %rcx 114lea 1024(, %rbx, 1), %cx 115lea 1024(, %rbx, 1), %ecx 116lea 1024(, %rbx, 1), %rcx 117lea 1024(, %ebx, 2), %cx 118lea 1024(, %ebx, 2), %ecx 119lea 1024(, %ebx, 2), %rcx 120lea 1024(, %rbx, 2), %cx 121lea 1024(, %rbx, 2), %ecx 122lea 1024(, %rbx, 2), %rcx 123lea 1024(%eax, %ebx), %cx 124lea 1024(%eax, %ebx), %ecx 125lea 1024(%eax, %ebx), %rcx 126lea 1024(%rax, %rbx), %cx 127lea 1024(%rax, %rbx), %ecx 128lea 1024(%rax, %rbx), %rcx 129lea 1024(%eax, %ebx, 1), %cx 130lea 1024(%eax, %ebx, 1), %ecx 131lea 1024(%eax, %ebx, 1), %rcx 132lea 1024(%rax, %rbx, 1), %cx 133lea 1024(%rax, %rbx, 1), %ecx 134lea 1024(%rax, %rbx, 1), %rcx 135lea 1024(%eax, %ebx, 2), %cx 136lea 1024(%eax, %ebx, 2), %ecx 137lea 1024(%eax, %ebx, 2), %rcx 138lea 1024(%rax, %rbx, 2), %cx 139lea 1024(%rax, %rbx, 2), %ecx 140lea 1024(%rax, %rbx, 2), %rcx 141 142# CHECK: Instruction Info: 143# CHECK-NEXT: [1]: #uOps 144# CHECK-NEXT: [2]: Latency 145# CHECK-NEXT: [3]: RThroughput 146# CHECK-NEXT: [4]: MayLoad 147# CHECK-NEXT: [5]: MayStore 148# CHECK-NEXT: [6]: HasSideEffects (U) 149 150# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 151# CHECK-NEXT: 1 1 0.50 leaw 0, %cx 152# CHECK-NEXT: 1 1 0.50 leal 0, %ecx 153# CHECK-NEXT: 1 1 0.50 leaq 0, %rcx 154# CHECK-NEXT: 1 1 0.50 leaw (%eax), %cx 155# CHECK-NEXT: 1 1 0.50 leal (%eax), %ecx 156# CHECK-NEXT: 1 1 0.50 leaq (%eax), %rcx 157# CHECK-NEXT: 1 1 0.50 leaw (%rax), %cx 158# CHECK-NEXT: 1 1 0.50 leal (%rax), %ecx 159# CHECK-NEXT: 1 1 0.50 leaq (%rax), %rcx 160# CHECK-NEXT: 1 1 0.50 leaw (,%ebx), %cx 161# CHECK-NEXT: 1 1 0.50 leal (,%ebx), %ecx 162# CHECK-NEXT: 1 1 0.50 leaq (,%ebx), %rcx 163# CHECK-NEXT: 1 1 0.50 leaw (,%rbx), %cx 164# CHECK-NEXT: 1 1 0.50 leal (,%rbx), %ecx 165# CHECK-NEXT: 1 1 0.50 leaq (,%rbx), %rcx 166# CHECK-NEXT: 1 1 0.50 leaw (,%ebx), %cx 167# CHECK-NEXT: 1 1 0.50 leal (,%ebx), %ecx 168# CHECK-NEXT: 1 1 0.50 leaq (,%ebx), %rcx 169# CHECK-NEXT: 1 1 0.50 leaw (,%rbx), %cx 170# CHECK-NEXT: 1 1 0.50 leal (,%rbx), %ecx 171# CHECK-NEXT: 1 1 0.50 leaq (,%rbx), %rcx 172# CHECK-NEXT: 1 1 0.50 leaw (,%ebx,2), %cx 173# CHECK-NEXT: 1 1 0.50 leal (,%ebx,2), %ecx 174# CHECK-NEXT: 1 1 0.50 leaq (,%ebx,2), %rcx 175# CHECK-NEXT: 1 1 0.50 leaw (,%rbx,2), %cx 176# CHECK-NEXT: 1 1 0.50 leal (,%rbx,2), %ecx 177# CHECK-NEXT: 1 1 0.50 leaq (,%rbx,2), %rcx 178# CHECK-NEXT: 1 1 0.50 leaw (%eax,%ebx), %cx 179# CHECK-NEXT: 1 1 0.50 leal (%eax,%ebx), %ecx 180# CHECK-NEXT: 1 1 0.50 leaq (%eax,%ebx), %rcx 181# CHECK-NEXT: 1 1 0.50 leaw (%rax,%rbx), %cx 182# CHECK-NEXT: 1 1 0.50 leal (%rax,%rbx), %ecx 183# CHECK-NEXT: 1 1 0.50 leaq (%rax,%rbx), %rcx 184# CHECK-NEXT: 1 1 0.50 leaw (%eax,%ebx), %cx 185# CHECK-NEXT: 1 1 0.50 leal (%eax,%ebx), %ecx 186# CHECK-NEXT: 1 1 0.50 leaq (%eax,%ebx), %rcx 187# CHECK-NEXT: 1 1 0.50 leaw (%rax,%rbx), %cx 188# CHECK-NEXT: 1 1 0.50 leal (%rax,%rbx), %ecx 189# CHECK-NEXT: 1 1 0.50 leaq (%rax,%rbx), %rcx 190# CHECK-NEXT: 1 1 0.50 leaw (%eax,%ebx,2), %cx 191# CHECK-NEXT: 1 1 0.50 leal (%eax,%ebx,2), %ecx 192# CHECK-NEXT: 1 1 0.50 leaq (%eax,%ebx,2), %rcx 193# CHECK-NEXT: 1 1 0.50 leaw (%rax,%rbx,2), %cx 194# CHECK-NEXT: 1 1 0.50 leal (%rax,%rbx,2), %ecx 195# CHECK-NEXT: 1 1 0.50 leaq (%rax,%rbx,2), %rcx 196# CHECK-NEXT: 1 1 0.50 leaw -16, %cx 197# CHECK-NEXT: 1 1 0.50 leal -16, %ecx 198# CHECK-NEXT: 1 1 0.50 leaq -16, %rcx 199# CHECK-NEXT: 1 1 0.50 leaw -16(%eax), %cx 200# CHECK-NEXT: 1 1 0.50 leal -16(%eax), %ecx 201# CHECK-NEXT: 1 1 0.50 leaq -16(%eax), %rcx 202# CHECK-NEXT: 1 1 0.50 leaw -16(%rax), %cx 203# CHECK-NEXT: 1 1 0.50 leal -16(%rax), %ecx 204# CHECK-NEXT: 1 1 0.50 leaq -16(%rax), %rcx 205# CHECK-NEXT: 1 1 0.50 leaw -16(,%ebx), %cx 206# CHECK-NEXT: 1 1 0.50 leal -16(,%ebx), %ecx 207# CHECK-NEXT: 1 1 0.50 leaq -16(,%ebx), %rcx 208# CHECK-NEXT: 1 1 0.50 leaw -16(,%rbx), %cx 209# CHECK-NEXT: 1 1 0.50 leal -16(,%rbx), %ecx 210# CHECK-NEXT: 1 1 0.50 leaq -16(,%rbx), %rcx 211# CHECK-NEXT: 1 1 0.50 leaw -16(,%ebx), %cx 212# CHECK-NEXT: 1 1 0.50 leal -16(,%ebx), %ecx 213# CHECK-NEXT: 1 1 0.50 leaq -16(,%ebx), %rcx 214# CHECK-NEXT: 1 1 0.50 leaw -16(,%rbx), %cx 215# CHECK-NEXT: 1 1 0.50 leal -16(,%rbx), %ecx 216# CHECK-NEXT: 1 1 0.50 leaq -16(,%rbx), %rcx 217# CHECK-NEXT: 1 1 0.50 leaw -16(,%ebx,2), %cx 218# CHECK-NEXT: 1 1 0.50 leal -16(,%ebx,2), %ecx 219# CHECK-NEXT: 1 1 0.50 leaq -16(,%ebx,2), %rcx 220# CHECK-NEXT: 1 1 0.50 leaw -16(,%rbx,2), %cx 221# CHECK-NEXT: 1 1 0.50 leal -16(,%rbx,2), %ecx 222# CHECK-NEXT: 1 1 0.50 leaq -16(,%rbx,2), %rcx 223# CHECK-NEXT: 1 1 0.50 leaw -16(%eax,%ebx), %cx 224# CHECK-NEXT: 1 1 0.50 leal -16(%eax,%ebx), %ecx 225# CHECK-NEXT: 1 1 0.50 leaq -16(%eax,%ebx), %rcx 226# CHECK-NEXT: 1 1 0.50 leaw -16(%rax,%rbx), %cx 227# CHECK-NEXT: 1 1 0.50 leal -16(%rax,%rbx), %ecx 228# CHECK-NEXT: 1 1 0.50 leaq -16(%rax,%rbx), %rcx 229# CHECK-NEXT: 1 1 0.50 leaw -16(%eax,%ebx), %cx 230# CHECK-NEXT: 1 1 0.50 leal -16(%eax,%ebx), %ecx 231# CHECK-NEXT: 1 1 0.50 leaq -16(%eax,%ebx), %rcx 232# CHECK-NEXT: 1 1 0.50 leaw -16(%rax,%rbx), %cx 233# CHECK-NEXT: 1 1 0.50 leal -16(%rax,%rbx), %ecx 234# CHECK-NEXT: 1 1 0.50 leaq -16(%rax,%rbx), %rcx 235# CHECK-NEXT: 1 1 0.50 leaw -16(%eax,%ebx,2), %cx 236# CHECK-NEXT: 1 1 0.50 leal -16(%eax,%ebx,2), %ecx 237# CHECK-NEXT: 1 1 0.50 leaq -16(%eax,%ebx,2), %rcx 238# CHECK-NEXT: 1 1 0.50 leaw -16(%rax,%rbx,2), %cx 239# CHECK-NEXT: 1 1 0.50 leal -16(%rax,%rbx,2), %ecx 240# CHECK-NEXT: 1 1 0.50 leaq -16(%rax,%rbx,2), %rcx 241# CHECK-NEXT: 1 1 0.50 leaw 1024, %cx 242# CHECK-NEXT: 1 1 0.50 leal 1024, %ecx 243# CHECK-NEXT: 1 1 0.50 leaq 1024, %rcx 244# CHECK-NEXT: 1 1 0.50 leaw 1024(%eax), %cx 245# CHECK-NEXT: 1 1 0.50 leal 1024(%eax), %ecx 246# CHECK-NEXT: 1 1 0.50 leaq 1024(%eax), %rcx 247# CHECK-NEXT: 1 1 0.50 leaw 1024(%rax), %cx 248# CHECK-NEXT: 1 1 0.50 leal 1024(%rax), %ecx 249# CHECK-NEXT: 1 1 0.50 leaq 1024(%rax), %rcx 250# CHECK-NEXT: 1 1 0.50 leaw 1024(,%ebx), %cx 251# CHECK-NEXT: 1 1 0.50 leal 1024(,%ebx), %ecx 252# CHECK-NEXT: 1 1 0.50 leaq 1024(,%ebx), %rcx 253# CHECK-NEXT: 1 1 0.50 leaw 1024(,%rbx), %cx 254# CHECK-NEXT: 1 1 0.50 leal 1024(,%rbx), %ecx 255# CHECK-NEXT: 1 1 0.50 leaq 1024(,%rbx), %rcx 256# CHECK-NEXT: 1 1 0.50 leaw 1024(,%ebx), %cx 257# CHECK-NEXT: 1 1 0.50 leal 1024(,%ebx), %ecx 258# CHECK-NEXT: 1 1 0.50 leaq 1024(,%ebx), %rcx 259# CHECK-NEXT: 1 1 0.50 leaw 1024(,%rbx), %cx 260# CHECK-NEXT: 1 1 0.50 leal 1024(,%rbx), %ecx 261# CHECK-NEXT: 1 1 0.50 leaq 1024(,%rbx), %rcx 262# CHECK-NEXT: 1 1 0.50 leaw 1024(,%ebx,2), %cx 263# CHECK-NEXT: 1 1 0.50 leal 1024(,%ebx,2), %ecx 264# CHECK-NEXT: 1 1 0.50 leaq 1024(,%ebx,2), %rcx 265# CHECK-NEXT: 1 1 0.50 leaw 1024(,%rbx,2), %cx 266# CHECK-NEXT: 1 1 0.50 leal 1024(,%rbx,2), %ecx 267# CHECK-NEXT: 1 1 0.50 leaq 1024(,%rbx,2), %rcx 268# CHECK-NEXT: 1 1 0.50 leaw 1024(%eax,%ebx), %cx 269# CHECK-NEXT: 1 1 0.50 leal 1024(%eax,%ebx), %ecx 270# CHECK-NEXT: 1 1 0.50 leaq 1024(%eax,%ebx), %rcx 271# CHECK-NEXT: 1 1 0.50 leaw 1024(%rax,%rbx), %cx 272# CHECK-NEXT: 1 1 0.50 leal 1024(%rax,%rbx), %ecx 273# CHECK-NEXT: 1 1 0.50 leaq 1024(%rax,%rbx), %rcx 274# CHECK-NEXT: 1 1 0.50 leaw 1024(%eax,%ebx), %cx 275# CHECK-NEXT: 1 1 0.50 leal 1024(%eax,%ebx), %ecx 276# CHECK-NEXT: 1 1 0.50 leaq 1024(%eax,%ebx), %rcx 277# CHECK-NEXT: 1 1 0.50 leaw 1024(%rax,%rbx), %cx 278# CHECK-NEXT: 1 1 0.50 leal 1024(%rax,%rbx), %ecx 279# CHECK-NEXT: 1 1 0.50 leaq 1024(%rax,%rbx), %rcx 280# CHECK-NEXT: 1 1 0.50 leaw 1024(%eax,%ebx,2), %cx 281# CHECK-NEXT: 1 1 0.50 leal 1024(%eax,%ebx,2), %ecx 282# CHECK-NEXT: 1 1 0.50 leaq 1024(%eax,%ebx,2), %rcx 283# CHECK-NEXT: 1 1 0.50 leaw 1024(%rax,%rbx,2), %cx 284# CHECK-NEXT: 1 1 0.50 leal 1024(%rax,%rbx,2), %ecx 285# CHECK-NEXT: 1 1 0.50 leaq 1024(%rax,%rbx,2), %rcx 286 287# CHECK: Resources: 288# CHECK-NEXT: [0] - SKXDivider 289# CHECK-NEXT: [1] - SKXFPDivider 290# CHECK-NEXT: [2] - SKXPort0 291# CHECK-NEXT: [3] - SKXPort1 292# CHECK-NEXT: [4] - SKXPort2 293# CHECK-NEXT: [5] - SKXPort3 294# CHECK-NEXT: [6] - SKXPort4 295# CHECK-NEXT: [7] - SKXPort5 296# CHECK-NEXT: [8] - SKXPort6 297# CHECK-NEXT: [9] - SKXPort7 298 299# CHECK: Resource pressure per iteration: 300# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 301# CHECK-NEXT: - - - 67.50 - - - 67.50 - - 302 303# CHECK: Resource pressure by instruction: 304# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: 305# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 0, %cx 306# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 0, %ecx 307# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 0, %rcx 308# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%eax), %cx 309# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%eax), %ecx 310# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%eax), %rcx 311# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%rax), %cx 312# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%rax), %ecx 313# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%rax), %rcx 314# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (,%ebx), %cx 315# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (,%ebx), %ecx 316# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (,%ebx), %rcx 317# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (,%rbx), %cx 318# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (,%rbx), %ecx 319# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (,%rbx), %rcx 320# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (,%ebx), %cx 321# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (,%ebx), %ecx 322# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (,%ebx), %rcx 323# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (,%rbx), %cx 324# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (,%rbx), %ecx 325# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (,%rbx), %rcx 326# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (,%ebx,2), %cx 327# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (,%ebx,2), %ecx 328# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (,%ebx,2), %rcx 329# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (,%rbx,2), %cx 330# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (,%rbx,2), %ecx 331# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (,%rbx,2), %rcx 332# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%eax,%ebx), %cx 333# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%eax,%ebx), %ecx 334# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%eax,%ebx), %rcx 335# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%rax,%rbx), %cx 336# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%rax,%rbx), %ecx 337# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%rax,%rbx), %rcx 338# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%eax,%ebx), %cx 339# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%eax,%ebx), %ecx 340# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%eax,%ebx), %rcx 341# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%rax,%rbx), %cx 342# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%rax,%rbx), %ecx 343# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%rax,%rbx), %rcx 344# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%eax,%ebx,2), %cx 345# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%eax,%ebx,2), %ecx 346# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%eax,%ebx,2), %rcx 347# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw (%rax,%rbx,2), %cx 348# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal (%rax,%rbx,2), %ecx 349# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq (%rax,%rbx,2), %rcx 350# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16, %cx 351# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16, %ecx 352# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16, %rcx 353# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%eax), %cx 354# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%eax), %ecx 355# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%eax), %rcx 356# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%rax), %cx 357# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%rax), %ecx 358# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%rax), %rcx 359# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(,%ebx), %cx 360# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(,%ebx), %ecx 361# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(,%ebx), %rcx 362# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(,%rbx), %cx 363# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(,%rbx), %ecx 364# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(,%rbx), %rcx 365# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(,%ebx), %cx 366# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(,%ebx), %ecx 367# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(,%ebx), %rcx 368# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(,%rbx), %cx 369# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(,%rbx), %ecx 370# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(,%rbx), %rcx 371# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(,%ebx,2), %cx 372# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(,%ebx,2), %ecx 373# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(,%ebx,2), %rcx 374# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(,%rbx,2), %cx 375# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(,%rbx,2), %ecx 376# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(,%rbx,2), %rcx 377# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%eax,%ebx), %cx 378# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%eax,%ebx), %ecx 379# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%eax,%ebx), %rcx 380# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%rax,%rbx), %cx 381# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%rax,%rbx), %ecx 382# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%rax,%rbx), %rcx 383# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%eax,%ebx), %cx 384# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%eax,%ebx), %ecx 385# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%eax,%ebx), %rcx 386# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%rax,%rbx), %cx 387# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%rax,%rbx), %ecx 388# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%rax,%rbx), %rcx 389# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%eax,%ebx,2), %cx 390# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%eax,%ebx,2), %ecx 391# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%eax,%ebx,2), %rcx 392# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw -16(%rax,%rbx,2), %cx 393# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal -16(%rax,%rbx,2), %ecx 394# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq -16(%rax,%rbx,2), %rcx 395# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024, %cx 396# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024, %ecx 397# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024, %rcx 398# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%eax), %cx 399# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%eax), %ecx 400# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%eax), %rcx 401# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%rax), %cx 402# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%rax), %ecx 403# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%rax), %rcx 404# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(,%ebx), %cx 405# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(,%ebx), %ecx 406# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(,%ebx), %rcx 407# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(,%rbx), %cx 408# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(,%rbx), %ecx 409# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(,%rbx), %rcx 410# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(,%ebx), %cx 411# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(,%ebx), %ecx 412# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(,%ebx), %rcx 413# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(,%rbx), %cx 414# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(,%rbx), %ecx 415# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(,%rbx), %rcx 416# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(,%ebx,2), %cx 417# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(,%ebx,2), %ecx 418# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(,%ebx,2), %rcx 419# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(,%rbx,2), %cx 420# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(,%rbx,2), %ecx 421# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(,%rbx,2), %rcx 422# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%eax,%ebx), %cx 423# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%eax,%ebx), %ecx 424# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%eax,%ebx), %rcx 425# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%rax,%rbx), %cx 426# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%rax,%rbx), %ecx 427# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%rax,%rbx), %rcx 428# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%eax,%ebx), %cx 429# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%eax,%ebx), %ecx 430# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%eax,%ebx), %rcx 431# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%rax,%rbx), %cx 432# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%rax,%rbx), %ecx 433# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%rax,%rbx), %rcx 434# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%eax,%ebx,2), %cx 435# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%eax,%ebx,2), %ecx 436# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%eax,%ebx,2), %rcx 437# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaw 1024(%rax,%rbx,2), %cx 438# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leal 1024(%rax,%rbx,2), %ecx 439# CHECK-NEXT: - - - 0.50 - - - 0.50 - - leaq 1024(%rax,%rbx,2), %rcx 440