1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; REQUIRES: asserts 3; RUN: llc < %s -mtriple=x86_64-linux -mcpu=corei7 -relocation-model=static | FileCheck %s 4 5; The register-pressure scheduler should be able to schedule this in a 6; way that does not require spills. 7 8@X = external dso_local global i64 ; <i64*> [#uses=25] 9 10define fastcc i64 @foo() nounwind { 11; CHECK-LABEL: foo: 12; CHECK: # %bb.0: 13; CHECK-NEXT: pushq %r15 14; CHECK-NEXT: pushq %r14 15; CHECK-NEXT: pushq %r12 16; CHECK-NEXT: pushq %rbx 17; CHECK-NEXT: movq X(%rip), %r8 18; CHECK-NEXT: movq X(%rip), %r10 19; CHECK-NEXT: movq X(%rip), %r9 20; CHECK-NEXT: movq X(%rip), %r12 21; CHECK-NEXT: movq X(%rip), %r15 22; CHECK-NEXT: movq X(%rip), %r14 23; CHECK-NEXT: movq X(%rip), %r11 24; CHECK-NEXT: movq X(%rip), %rdx 25; CHECK-NEXT: addq %r15, %rdx 26; CHECK-NEXT: movq X(%rip), %rsi 27; CHECK-NEXT: bswapq %rsi 28; CHECK-NEXT: leaq (%r11,%r14), %rbx 29; CHECK-NEXT: addq %r15, %rbx 30; CHECK-NEXT: addq %rdx, %rbx 31; CHECK-NEXT: addq %rsi, %rbx 32; CHECK-NEXT: leaq (%r9,%r10), %rdx 33; CHECK-NEXT: addq %rdx, %rdx 34; CHECK-NEXT: addq %r8, %rdx 35; CHECK-NEXT: movq X(%rip), %rdi 36; CHECK-NEXT: addq %rbx, %r12 37; CHECK-NEXT: addq %r8, %rdx 38; CHECK-NEXT: bswapq %rdi 39; CHECK-NEXT: addq %rbx, %rdx 40; CHECK-NEXT: leaq (%r15,%r14), %rsi 41; CHECK-NEXT: addq %r12, %rsi 42; CHECK-NEXT: addq %r11, %rdi 43; CHECK-NEXT: addq %rsi, %rdi 44; CHECK-NEXT: leaq (%r10,%r8), %rsi 45; CHECK-NEXT: addq %rsi, %rsi 46; CHECK-NEXT: addq %rdx, %rsi 47; CHECK-NEXT: movq X(%rip), %rbx 48; CHECK-NEXT: addq %r12, %rdi 49; CHECK-NEXT: addq %rdi, %r9 50; CHECK-NEXT: addq %rdx, %rsi 51; CHECK-NEXT: addq %rdi, %rsi 52; CHECK-NEXT: bswapq %rbx 53; CHECK-NEXT: leaq (%r12,%r15), %rdi 54; CHECK-NEXT: addq %r9, %rdi 55; CHECK-NEXT: addq %r14, %rbx 56; CHECK-NEXT: addq %rdi, %rbx 57; CHECK-NEXT: leaq (%rdx,%r8), %rdi 58; CHECK-NEXT: addq %rdi, %rdi 59; CHECK-NEXT: addq %rsi, %rdi 60; CHECK-NEXT: movq X(%rip), %rcx 61; CHECK-NEXT: addq %r9, %rbx 62; CHECK-NEXT: addq %rbx, %r10 63; CHECK-NEXT: addq %rsi, %rdi 64; CHECK-NEXT: bswapq %rcx 65; CHECK-NEXT: addq %rbx, %rdi 66; CHECK-NEXT: leaq (%r9,%r12), %rax 67; CHECK-NEXT: addq %r10, %rax 68; CHECK-NEXT: addq %r15, %rcx 69; CHECK-NEXT: addq %rax, %rcx 70; CHECK-NEXT: leaq (%rsi,%rdx), %r11 71; CHECK-NEXT: addq %r11, %r11 72; CHECK-NEXT: addq %rdi, %r11 73; CHECK-NEXT: movq X(%rip), %rbx 74; CHECK-NEXT: addq %r10, %rcx 75; CHECK-NEXT: addq %rcx, %r8 76; CHECK-NEXT: addq %rdi, %r11 77; CHECK-NEXT: addq %rcx, %r11 78; CHECK-NEXT: bswapq %rbx 79; CHECK-NEXT: leaq (%r10,%r9), %rcx 80; CHECK-NEXT: addq %r8, %rcx 81; CHECK-NEXT: addq %r12, %rbx 82; CHECK-NEXT: addq %rcx, %rbx 83; CHECK-NEXT: leaq (%rdi,%rsi), %r14 84; CHECK-NEXT: addq %r14, %r14 85; CHECK-NEXT: addq %r11, %r14 86; CHECK-NEXT: movq X(%rip), %rax 87; CHECK-NEXT: addq %r8, %rbx 88; CHECK-NEXT: addq %rbx, %rdx 89; CHECK-NEXT: addq %r11, %r14 90; CHECK-NEXT: bswapq %rax 91; CHECK-NEXT: addq %rbx, %r14 92; CHECK-NEXT: leaq (%r8,%r10), %rbx 93; CHECK-NEXT: addq %rdx, %rbx 94; CHECK-NEXT: addq %r9, %rax 95; CHECK-NEXT: addq %rbx, %rax 96; CHECK-NEXT: leaq (%r11,%rdi), %r9 97; CHECK-NEXT: addq %r9, %r9 98; CHECK-NEXT: addq %r14, %r9 99; CHECK-NEXT: movq X(%rip), %rbx 100; CHECK-NEXT: addq %rdx, %rax 101; CHECK-NEXT: addq %rax, %rsi 102; CHECK-NEXT: addq %r14, %r9 103; CHECK-NEXT: addq %rax, %r9 104; CHECK-NEXT: bswapq %rbx 105; CHECK-NEXT: leaq (%rdx,%r8), %rax 106; CHECK-NEXT: addq %rsi, %rax 107; CHECK-NEXT: addq %r10, %rbx 108; CHECK-NEXT: addq %rax, %rbx 109; CHECK-NEXT: leaq (%r14,%r11), %r10 110; CHECK-NEXT: addq %r10, %r10 111; CHECK-NEXT: addq %r9, %r10 112; CHECK-NEXT: movq X(%rip), %rax 113; CHECK-NEXT: addq %rsi, %rbx 114; CHECK-NEXT: addq %rbx, %rdi 115; CHECK-NEXT: addq %r9, %r10 116; CHECK-NEXT: bswapq %rax 117; CHECK-NEXT: addq %rbx, %r10 118; CHECK-NEXT: leaq (%rsi,%rdx), %rbx 119; CHECK-NEXT: addq %rdi, %rbx 120; CHECK-NEXT: addq %r8, %rax 121; CHECK-NEXT: addq %rbx, %rax 122; CHECK-NEXT: leaq (%r9,%r14), %r8 123; CHECK-NEXT: addq %r8, %r8 124; CHECK-NEXT: addq %r10, %r8 125; CHECK-NEXT: movq X(%rip), %rbx 126; CHECK-NEXT: addq %rdi, %rax 127; CHECK-NEXT: addq %rax, %r11 128; CHECK-NEXT: addq %r10, %r8 129; CHECK-NEXT: addq %rax, %r8 130; CHECK-NEXT: bswapq %rbx 131; CHECK-NEXT: leaq (%rdi,%rsi), %rax 132; CHECK-NEXT: addq %r11, %rax 133; CHECK-NEXT: addq %rdx, %rbx 134; CHECK-NEXT: addq %rax, %rbx 135; CHECK-NEXT: leaq (%r10,%r9), %r15 136; CHECK-NEXT: addq %r15, %r15 137; CHECK-NEXT: addq %r8, %r15 138; CHECK-NEXT: movq X(%rip), %rax 139; CHECK-NEXT: addq %r11, %rbx 140; CHECK-NEXT: addq %rbx, %r14 141; CHECK-NEXT: addq %r8, %r15 142; CHECK-NEXT: bswapq %rax 143; CHECK-NEXT: addq %rbx, %r15 144; CHECK-NEXT: leaq (%r11,%rdi), %rbx 145; CHECK-NEXT: addq %r14, %rbx 146; CHECK-NEXT: addq %rsi, %rax 147; CHECK-NEXT: addq %rbx, %rax 148; CHECK-NEXT: leaq (%r8,%r10), %rsi 149; CHECK-NEXT: addq %rsi, %rsi 150; CHECK-NEXT: addq %r15, %rsi 151; CHECK-NEXT: movq X(%rip), %rbx 152; CHECK-NEXT: addq %r14, %rax 153; CHECK-NEXT: addq %rax, %r9 154; CHECK-NEXT: addq %r15, %rsi 155; CHECK-NEXT: addq %rax, %rsi 156; CHECK-NEXT: bswapq %rbx 157; CHECK-NEXT: leaq (%r14,%r11), %rax 158; CHECK-NEXT: addq %r9, %rax 159; CHECK-NEXT: addq %rdi, %rbx 160; CHECK-NEXT: addq %rax, %rbx 161; CHECK-NEXT: leaq (%r15,%r8), %r12 162; CHECK-NEXT: addq %r12, %r12 163; CHECK-NEXT: addq %rsi, %r12 164; CHECK-NEXT: movq X(%rip), %rcx 165; CHECK-NEXT: addq %r9, %rbx 166; CHECK-NEXT: addq %rbx, %r10 167; CHECK-NEXT: addq %rsi, %r12 168; CHECK-NEXT: bswapq %rcx 169; CHECK-NEXT: addq %rbx, %r12 170; CHECK-NEXT: leaq (%r9,%r14), %rax 171; CHECK-NEXT: addq %r10, %rax 172; CHECK-NEXT: addq %r11, %rcx 173; CHECK-NEXT: addq %rax, %rcx 174; CHECK-NEXT: leaq (%rsi,%r15), %rax 175; CHECK-NEXT: addq %rax, %rax 176; CHECK-NEXT: addq %r12, %rax 177; CHECK-NEXT: movq X(%rip), %rbx 178; CHECK-NEXT: addq %r10, %rcx 179; CHECK-NEXT: addq %rcx, %r8 180; CHECK-NEXT: addq %r12, %rax 181; CHECK-NEXT: addq %rcx, %rax 182; CHECK-NEXT: bswapq %rbx 183; CHECK-NEXT: leaq (%r10,%r9), %rcx 184; CHECK-NEXT: addq %r8, %rcx 185; CHECK-NEXT: addq %r14, %rbx 186; CHECK-NEXT: addq %rcx, %rbx 187; CHECK-NEXT: leaq (%r12,%rsi), %rcx 188; CHECK-NEXT: addq %rcx, %rcx 189; CHECK-NEXT: addq %rax, %rcx 190; CHECK-NEXT: movq X(%rip), %rdx 191; CHECK-NEXT: addq %r8, %rbx 192; CHECK-NEXT: addq %rbx, %r15 193; CHECK-NEXT: addq %rax, %rcx 194; CHECK-NEXT: bswapq %rdx 195; CHECK-NEXT: addq %rbx, %rcx 196; CHECK-NEXT: leaq (%r8,%r10), %rbx 197; CHECK-NEXT: addq %r15, %rbx 198; CHECK-NEXT: addq %r9, %rdx 199; CHECK-NEXT: addq %rbx, %rdx 200; CHECK-NEXT: leaq (%rax,%r12), %rbx 201; CHECK-NEXT: addq %rbx, %rbx 202; CHECK-NEXT: addq %rcx, %rbx 203; CHECK-NEXT: addq %r15, %rdx 204; CHECK-NEXT: addq %rdx, %rsi 205; CHECK-NEXT: addq %rcx, %rbx 206; CHECK-NEXT: addq %rdx, %rbx 207; CHECK-NEXT: movq X(%rip), %rdx 208; CHECK-NEXT: bswapq %rdx 209; CHECK-NEXT: addq %r10, %rdx 210; CHECK-NEXT: leaq (%r15,%r8), %rdi 211; CHECK-NEXT: addq %rsi, %rdi 212; CHECK-NEXT: addq %rdi, %rdx 213; CHECK-NEXT: addq %rax, %rcx 214; CHECK-NEXT: addq %rcx, %rcx 215; CHECK-NEXT: addq %rbx, %rcx 216; CHECK-NEXT: addq %rbx, %rcx 217; CHECK-NEXT: addq %rsi, %rdx 218; CHECK-NEXT: addq %rdx, %r12 219; CHECK-NEXT: addq %rdx, %rcx 220; CHECK-NEXT: addq %r15, %rsi 221; CHECK-NEXT: movq X(%rip), %rax 222; CHECK-NEXT: bswapq %rax 223; CHECK-NEXT: movq %rax, X(%rip) 224; CHECK-NEXT: addq %r8, %rax 225; CHECK-NEXT: addq %r12, %rsi 226; CHECK-NEXT: addq %rsi, %rax 227; CHECK-NEXT: addq %r12, %rax 228; CHECK-NEXT: addq %rcx, %rax 229; CHECK-NEXT: popq %rbx 230; CHECK-NEXT: popq %r12 231; CHECK-NEXT: popq %r14 232; CHECK-NEXT: popq %r15 233; CHECK-NEXT: retq 234 %tmp = load volatile i64, i64* @X ; <i64> [#uses=7] 235 %tmp1 = load volatile i64, i64* @X ; <i64> [#uses=5] 236 %tmp2 = load volatile i64, i64* @X ; <i64> [#uses=3] 237 %tmp3 = load volatile i64, i64* @X ; <i64> [#uses=1] 238 %tmp4 = load volatile i64, i64* @X ; <i64> [#uses=5] 239 %tmp5 = load volatile i64, i64* @X ; <i64> [#uses=3] 240 %tmp6 = load volatile i64, i64* @X ; <i64> [#uses=2] 241 %tmp7 = load volatile i64, i64* @X ; <i64> [#uses=1] 242 %tmp8 = load volatile i64, i64* @X ; <i64> [#uses=1] 243 %tmp9 = load volatile i64, i64* @X ; <i64> [#uses=1] 244 %tmp10 = load volatile i64, i64* @X ; <i64> [#uses=1] 245 %tmp11 = load volatile i64, i64* @X ; <i64> [#uses=1] 246 %tmp12 = load volatile i64, i64* @X ; <i64> [#uses=1] 247 %tmp13 = load volatile i64, i64* @X ; <i64> [#uses=1] 248 %tmp14 = load volatile i64, i64* @X ; <i64> [#uses=1] 249 %tmp15 = load volatile i64, i64* @X ; <i64> [#uses=1] 250 %tmp16 = load volatile i64, i64* @X ; <i64> [#uses=1] 251 %tmp17 = load volatile i64, i64* @X ; <i64> [#uses=1] 252 %tmp18 = load volatile i64, i64* @X ; <i64> [#uses=1] 253 %tmp19 = load volatile i64, i64* @X ; <i64> [#uses=1] 254 %tmp20 = load volatile i64, i64* @X ; <i64> [#uses=1] 255 %tmp21 = load volatile i64, i64* @X ; <i64> [#uses=1] 256 %tmp22 = load volatile i64, i64* @X ; <i64> [#uses=1] 257 %tmp23 = load volatile i64, i64* @X ; <i64> [#uses=1] 258 %tmp24 = call i64 @llvm.bswap.i64(i64 %tmp8) ; <i64> [#uses=1] 259 %tmp25 = add i64 %tmp6, %tmp5 ; <i64> [#uses=1] 260 %tmp26 = add i64 %tmp25, %tmp4 ; <i64> [#uses=1] 261 %tmp27 = add i64 %tmp7, %tmp4 ; <i64> [#uses=1] 262 %tmp28 = add i64 %tmp27, %tmp26 ; <i64> [#uses=1] 263 %tmp29 = add i64 %tmp28, %tmp24 ; <i64> [#uses=2] 264 %tmp30 = add i64 %tmp2, %tmp1 ; <i64> [#uses=1] 265 %tmp31 = add i64 %tmp30, %tmp ; <i64> [#uses=1] 266 %tmp32 = add i64 %tmp2, %tmp1 ; <i64> [#uses=1] 267 %tmp33 = add i64 %tmp31, %tmp32 ; <i64> [#uses=1] 268 %tmp34 = add i64 %tmp29, %tmp3 ; <i64> [#uses=5] 269 %tmp35 = add i64 %tmp33, %tmp ; <i64> [#uses=1] 270 %tmp36 = add i64 %tmp35, %tmp29 ; <i64> [#uses=7] 271 %tmp37 = call i64 @llvm.bswap.i64(i64 %tmp9) ; <i64> [#uses=1] 272 %tmp38 = add i64 %tmp4, %tmp5 ; <i64> [#uses=1] 273 %tmp39 = add i64 %tmp38, %tmp34 ; <i64> [#uses=1] 274 %tmp40 = add i64 %tmp6, %tmp37 ; <i64> [#uses=1] 275 %tmp41 = add i64 %tmp40, %tmp39 ; <i64> [#uses=1] 276 %tmp42 = add i64 %tmp41, %tmp34 ; <i64> [#uses=2] 277 %tmp43 = add i64 %tmp1, %tmp ; <i64> [#uses=1] 278 %tmp44 = add i64 %tmp36, %tmp43 ; <i64> [#uses=1] 279 %tmp45 = add i64 %tmp1, %tmp ; <i64> [#uses=1] 280 %tmp46 = add i64 %tmp44, %tmp45 ; <i64> [#uses=1] 281 %tmp47 = add i64 %tmp42, %tmp2 ; <i64> [#uses=5] 282 %tmp48 = add i64 %tmp36, %tmp46 ; <i64> [#uses=1] 283 %tmp49 = add i64 %tmp48, %tmp42 ; <i64> [#uses=7] 284 %tmp50 = call i64 @llvm.bswap.i64(i64 %tmp10) ; <i64> [#uses=1] 285 %tmp51 = add i64 %tmp34, %tmp4 ; <i64> [#uses=1] 286 %tmp52 = add i64 %tmp51, %tmp47 ; <i64> [#uses=1] 287 %tmp53 = add i64 %tmp5, %tmp50 ; <i64> [#uses=1] 288 %tmp54 = add i64 %tmp53, %tmp52 ; <i64> [#uses=1] 289 %tmp55 = add i64 %tmp54, %tmp47 ; <i64> [#uses=2] 290 %tmp56 = add i64 %tmp36, %tmp ; <i64> [#uses=1] 291 %tmp57 = add i64 %tmp49, %tmp56 ; <i64> [#uses=1] 292 %tmp58 = add i64 %tmp36, %tmp ; <i64> [#uses=1] 293 %tmp59 = add i64 %tmp57, %tmp58 ; <i64> [#uses=1] 294 %tmp60 = add i64 %tmp55, %tmp1 ; <i64> [#uses=5] 295 %tmp61 = add i64 %tmp49, %tmp59 ; <i64> [#uses=1] 296 %tmp62 = add i64 %tmp61, %tmp55 ; <i64> [#uses=7] 297 %tmp63 = call i64 @llvm.bswap.i64(i64 %tmp11) ; <i64> [#uses=1] 298 %tmp64 = add i64 %tmp47, %tmp34 ; <i64> [#uses=1] 299 %tmp65 = add i64 %tmp64, %tmp60 ; <i64> [#uses=1] 300 %tmp66 = add i64 %tmp4, %tmp63 ; <i64> [#uses=1] 301 %tmp67 = add i64 %tmp66, %tmp65 ; <i64> [#uses=1] 302 %tmp68 = add i64 %tmp67, %tmp60 ; <i64> [#uses=2] 303 %tmp69 = add i64 %tmp49, %tmp36 ; <i64> [#uses=1] 304 %tmp70 = add i64 %tmp62, %tmp69 ; <i64> [#uses=1] 305 %tmp71 = add i64 %tmp49, %tmp36 ; <i64> [#uses=1] 306 %tmp72 = add i64 %tmp70, %tmp71 ; <i64> [#uses=1] 307 %tmp73 = add i64 %tmp68, %tmp ; <i64> [#uses=5] 308 %tmp74 = add i64 %tmp62, %tmp72 ; <i64> [#uses=1] 309 %tmp75 = add i64 %tmp74, %tmp68 ; <i64> [#uses=7] 310 %tmp76 = call i64 @llvm.bswap.i64(i64 %tmp12) ; <i64> [#uses=1] 311 %tmp77 = add i64 %tmp60, %tmp47 ; <i64> [#uses=1] 312 %tmp78 = add i64 %tmp77, %tmp73 ; <i64> [#uses=1] 313 %tmp79 = add i64 %tmp34, %tmp76 ; <i64> [#uses=1] 314 %tmp80 = add i64 %tmp79, %tmp78 ; <i64> [#uses=1] 315 %tmp81 = add i64 %tmp80, %tmp73 ; <i64> [#uses=2] 316 %tmp82 = add i64 %tmp62, %tmp49 ; <i64> [#uses=1] 317 %tmp83 = add i64 %tmp75, %tmp82 ; <i64> [#uses=1] 318 %tmp84 = add i64 %tmp62, %tmp49 ; <i64> [#uses=1] 319 %tmp85 = add i64 %tmp83, %tmp84 ; <i64> [#uses=1] 320 %tmp86 = add i64 %tmp81, %tmp36 ; <i64> [#uses=5] 321 %tmp87 = add i64 %tmp75, %tmp85 ; <i64> [#uses=1] 322 %tmp88 = add i64 %tmp87, %tmp81 ; <i64> [#uses=7] 323 %tmp89 = call i64 @llvm.bswap.i64(i64 %tmp13) ; <i64> [#uses=1] 324 %tmp90 = add i64 %tmp73, %tmp60 ; <i64> [#uses=1] 325 %tmp91 = add i64 %tmp90, %tmp86 ; <i64> [#uses=1] 326 %tmp92 = add i64 %tmp47, %tmp89 ; <i64> [#uses=1] 327 %tmp93 = add i64 %tmp92, %tmp91 ; <i64> [#uses=1] 328 %tmp94 = add i64 %tmp93, %tmp86 ; <i64> [#uses=2] 329 %tmp95 = add i64 %tmp75, %tmp62 ; <i64> [#uses=1] 330 %tmp96 = add i64 %tmp88, %tmp95 ; <i64> [#uses=1] 331 %tmp97 = add i64 %tmp75, %tmp62 ; <i64> [#uses=1] 332 %tmp98 = add i64 %tmp96, %tmp97 ; <i64> [#uses=1] 333 %tmp99 = add i64 %tmp94, %tmp49 ; <i64> [#uses=5] 334 %tmp100 = add i64 %tmp88, %tmp98 ; <i64> [#uses=1] 335 %tmp101 = add i64 %tmp100, %tmp94 ; <i64> [#uses=7] 336 %tmp102 = call i64 @llvm.bswap.i64(i64 %tmp14) ; <i64> [#uses=1] 337 %tmp103 = add i64 %tmp86, %tmp73 ; <i64> [#uses=1] 338 %tmp104 = add i64 %tmp103, %tmp99 ; <i64> [#uses=1] 339 %tmp105 = add i64 %tmp102, %tmp60 ; <i64> [#uses=1] 340 %tmp106 = add i64 %tmp105, %tmp104 ; <i64> [#uses=1] 341 %tmp107 = add i64 %tmp106, %tmp99 ; <i64> [#uses=2] 342 %tmp108 = add i64 %tmp88, %tmp75 ; <i64> [#uses=1] 343 %tmp109 = add i64 %tmp101, %tmp108 ; <i64> [#uses=1] 344 %tmp110 = add i64 %tmp88, %tmp75 ; <i64> [#uses=1] 345 %tmp111 = add i64 %tmp109, %tmp110 ; <i64> [#uses=1] 346 %tmp112 = add i64 %tmp107, %tmp62 ; <i64> [#uses=5] 347 %tmp113 = add i64 %tmp101, %tmp111 ; <i64> [#uses=1] 348 %tmp114 = add i64 %tmp113, %tmp107 ; <i64> [#uses=7] 349 %tmp115 = call i64 @llvm.bswap.i64(i64 %tmp15) ; <i64> [#uses=1] 350 %tmp116 = add i64 %tmp99, %tmp86 ; <i64> [#uses=1] 351 %tmp117 = add i64 %tmp116, %tmp112 ; <i64> [#uses=1] 352 %tmp118 = add i64 %tmp115, %tmp73 ; <i64> [#uses=1] 353 %tmp119 = add i64 %tmp118, %tmp117 ; <i64> [#uses=1] 354 %tmp120 = add i64 %tmp119, %tmp112 ; <i64> [#uses=2] 355 %tmp121 = add i64 %tmp101, %tmp88 ; <i64> [#uses=1] 356 %tmp122 = add i64 %tmp114, %tmp121 ; <i64> [#uses=1] 357 %tmp123 = add i64 %tmp101, %tmp88 ; <i64> [#uses=1] 358 %tmp124 = add i64 %tmp122, %tmp123 ; <i64> [#uses=1] 359 %tmp125 = add i64 %tmp120, %tmp75 ; <i64> [#uses=5] 360 %tmp126 = add i64 %tmp114, %tmp124 ; <i64> [#uses=1] 361 %tmp127 = add i64 %tmp126, %tmp120 ; <i64> [#uses=7] 362 %tmp128 = call i64 @llvm.bswap.i64(i64 %tmp16) ; <i64> [#uses=1] 363 %tmp129 = add i64 %tmp112, %tmp99 ; <i64> [#uses=1] 364 %tmp130 = add i64 %tmp129, %tmp125 ; <i64> [#uses=1] 365 %tmp131 = add i64 %tmp128, %tmp86 ; <i64> [#uses=1] 366 %tmp132 = add i64 %tmp131, %tmp130 ; <i64> [#uses=1] 367 %tmp133 = add i64 %tmp132, %tmp125 ; <i64> [#uses=2] 368 %tmp134 = add i64 %tmp114, %tmp101 ; <i64> [#uses=1] 369 %tmp135 = add i64 %tmp127, %tmp134 ; <i64> [#uses=1] 370 %tmp136 = add i64 %tmp114, %tmp101 ; <i64> [#uses=1] 371 %tmp137 = add i64 %tmp135, %tmp136 ; <i64> [#uses=1] 372 %tmp138 = add i64 %tmp133, %tmp88 ; <i64> [#uses=5] 373 %tmp139 = add i64 %tmp127, %tmp137 ; <i64> [#uses=1] 374 %tmp140 = add i64 %tmp139, %tmp133 ; <i64> [#uses=7] 375 %tmp141 = call i64 @llvm.bswap.i64(i64 %tmp17) ; <i64> [#uses=1] 376 %tmp142 = add i64 %tmp125, %tmp112 ; <i64> [#uses=1] 377 %tmp143 = add i64 %tmp142, %tmp138 ; <i64> [#uses=1] 378 %tmp144 = add i64 %tmp141, %tmp99 ; <i64> [#uses=1] 379 %tmp145 = add i64 %tmp144, %tmp143 ; <i64> [#uses=1] 380 %tmp146 = add i64 %tmp145, %tmp138 ; <i64> [#uses=2] 381 %tmp147 = add i64 %tmp127, %tmp114 ; <i64> [#uses=1] 382 %tmp148 = add i64 %tmp140, %tmp147 ; <i64> [#uses=1] 383 %tmp149 = add i64 %tmp127, %tmp114 ; <i64> [#uses=1] 384 %tmp150 = add i64 %tmp148, %tmp149 ; <i64> [#uses=1] 385 %tmp151 = add i64 %tmp146, %tmp101 ; <i64> [#uses=5] 386 %tmp152 = add i64 %tmp140, %tmp150 ; <i64> [#uses=1] 387 %tmp153 = add i64 %tmp152, %tmp146 ; <i64> [#uses=7] 388 %tmp154 = call i64 @llvm.bswap.i64(i64 %tmp18) ; <i64> [#uses=1] 389 %tmp155 = add i64 %tmp138, %tmp125 ; <i64> [#uses=1] 390 %tmp156 = add i64 %tmp155, %tmp151 ; <i64> [#uses=1] 391 %tmp157 = add i64 %tmp154, %tmp112 ; <i64> [#uses=1] 392 %tmp158 = add i64 %tmp157, %tmp156 ; <i64> [#uses=1] 393 %tmp159 = add i64 %tmp158, %tmp151 ; <i64> [#uses=2] 394 %tmp160 = add i64 %tmp140, %tmp127 ; <i64> [#uses=1] 395 %tmp161 = add i64 %tmp153, %tmp160 ; <i64> [#uses=1] 396 %tmp162 = add i64 %tmp140, %tmp127 ; <i64> [#uses=1] 397 %tmp163 = add i64 %tmp161, %tmp162 ; <i64> [#uses=1] 398 %tmp164 = add i64 %tmp159, %tmp114 ; <i64> [#uses=5] 399 %tmp165 = add i64 %tmp153, %tmp163 ; <i64> [#uses=1] 400 %tmp166 = add i64 %tmp165, %tmp159 ; <i64> [#uses=7] 401 %tmp167 = call i64 @llvm.bswap.i64(i64 %tmp19) ; <i64> [#uses=1] 402 %tmp168 = add i64 %tmp151, %tmp138 ; <i64> [#uses=1] 403 %tmp169 = add i64 %tmp168, %tmp164 ; <i64> [#uses=1] 404 %tmp170 = add i64 %tmp167, %tmp125 ; <i64> [#uses=1] 405 %tmp171 = add i64 %tmp170, %tmp169 ; <i64> [#uses=1] 406 %tmp172 = add i64 %tmp171, %tmp164 ; <i64> [#uses=2] 407 %tmp173 = add i64 %tmp153, %tmp140 ; <i64> [#uses=1] 408 %tmp174 = add i64 %tmp166, %tmp173 ; <i64> [#uses=1] 409 %tmp175 = add i64 %tmp153, %tmp140 ; <i64> [#uses=1] 410 %tmp176 = add i64 %tmp174, %tmp175 ; <i64> [#uses=1] 411 %tmp177 = add i64 %tmp172, %tmp127 ; <i64> [#uses=5] 412 %tmp178 = add i64 %tmp166, %tmp176 ; <i64> [#uses=1] 413 %tmp179 = add i64 %tmp178, %tmp172 ; <i64> [#uses=6] 414 %tmp180 = call i64 @llvm.bswap.i64(i64 %tmp20) ; <i64> [#uses=1] 415 %tmp181 = add i64 %tmp164, %tmp151 ; <i64> [#uses=1] 416 %tmp182 = add i64 %tmp181, %tmp177 ; <i64> [#uses=1] 417 %tmp183 = add i64 %tmp180, %tmp138 ; <i64> [#uses=1] 418 %tmp184 = add i64 %tmp183, %tmp182 ; <i64> [#uses=1] 419 %tmp185 = add i64 %tmp184, %tmp177 ; <i64> [#uses=2] 420 %tmp186 = add i64 %tmp166, %tmp153 ; <i64> [#uses=1] 421 %tmp187 = add i64 %tmp179, %tmp186 ; <i64> [#uses=1] 422 %tmp188 = add i64 %tmp166, %tmp153 ; <i64> [#uses=1] 423 %tmp189 = add i64 %tmp187, %tmp188 ; <i64> [#uses=1] 424 %tmp190 = add i64 %tmp185, %tmp140 ; <i64> [#uses=4] 425 %tmp191 = add i64 %tmp179, %tmp189 ; <i64> [#uses=1] 426 %tmp192 = add i64 %tmp191, %tmp185 ; <i64> [#uses=4] 427 %tmp193 = call i64 @llvm.bswap.i64(i64 %tmp21) ; <i64> [#uses=1] 428 %tmp194 = add i64 %tmp177, %tmp164 ; <i64> [#uses=1] 429 %tmp195 = add i64 %tmp194, %tmp190 ; <i64> [#uses=1] 430 %tmp196 = add i64 %tmp193, %tmp151 ; <i64> [#uses=1] 431 %tmp197 = add i64 %tmp196, %tmp195 ; <i64> [#uses=1] 432 %tmp198 = add i64 %tmp197, %tmp190 ; <i64> [#uses=2] 433 %tmp199 = add i64 %tmp179, %tmp166 ; <i64> [#uses=1] 434 %tmp200 = add i64 %tmp192, %tmp199 ; <i64> [#uses=1] 435 %tmp201 = add i64 %tmp179, %tmp166 ; <i64> [#uses=1] 436 %tmp202 = add i64 %tmp200, %tmp201 ; <i64> [#uses=1] 437 %tmp203 = add i64 %tmp198, %tmp153 ; <i64> [#uses=3] 438 %tmp204 = add i64 %tmp192, %tmp202 ; <i64> [#uses=1] 439 %tmp205 = add i64 %tmp204, %tmp198 ; <i64> [#uses=2] 440 %tmp206 = call i64 @llvm.bswap.i64(i64 %tmp22) ; <i64> [#uses=1] 441 %tmp207 = add i64 %tmp190, %tmp177 ; <i64> [#uses=1] 442 %tmp208 = add i64 %tmp207, %tmp203 ; <i64> [#uses=1] 443 %tmp209 = add i64 %tmp206, %tmp164 ; <i64> [#uses=1] 444 %tmp210 = add i64 %tmp209, %tmp208 ; <i64> [#uses=1] 445 %tmp211 = add i64 %tmp210, %tmp203 ; <i64> [#uses=2] 446 %tmp212 = add i64 %tmp192, %tmp179 ; <i64> [#uses=1] 447 %tmp213 = add i64 %tmp205, %tmp212 ; <i64> [#uses=1] 448 %tmp214 = add i64 %tmp192, %tmp179 ; <i64> [#uses=1] 449 %tmp215 = add i64 %tmp213, %tmp214 ; <i64> [#uses=1] 450 %tmp216 = add i64 %tmp211, %tmp166 ; <i64> [#uses=2] 451 %tmp217 = add i64 %tmp205, %tmp215 ; <i64> [#uses=1] 452 %tmp218 = add i64 %tmp217, %tmp211 ; <i64> [#uses=1] 453 %tmp219 = call i64 @llvm.bswap.i64(i64 %tmp23) ; <i64> [#uses=2] 454 store volatile i64 %tmp219, i64* @X, align 8 455 %tmp220 = add i64 %tmp203, %tmp190 ; <i64> [#uses=1] 456 %tmp221 = add i64 %tmp220, %tmp216 ; <i64> [#uses=1] 457 %tmp222 = add i64 %tmp219, %tmp177 ; <i64> [#uses=1] 458 %tmp223 = add i64 %tmp222, %tmp221 ; <i64> [#uses=1] 459 %tmp224 = add i64 %tmp223, %tmp216 ; <i64> [#uses=1] 460 %tmp225 = add i64 %tmp224, %tmp218 ; <i64> [#uses=1] 461 ret i64 %tmp225 462} 463 464declare i64 @llvm.bswap.i64(i64) nounwind readnone 465