459 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; REQUIRES: asserts3; RUN: llc < %s -mtriple=x86_64-linux -mcpu=corei7 -relocation-model=static | FileCheck %s4 5; The register-pressure scheduler should be able to schedule this in a6; way that does not require spills.7 8@X = external dso_local global i64 ; <ptr> [#uses=25]9 10define fastcc i64 @foo() nounwind {11; CHECK-LABEL: foo:12; CHECK: # %bb.0:13; CHECK-NEXT: pushq %r1414; CHECK-NEXT: pushq %rbx15; CHECK-NEXT: movq X(%rip), %rcx16; CHECK-NEXT: movq X(%rip), %r917; CHECK-NEXT: movq X(%rip), %r818; CHECK-NEXT: movq X(%rip), %rdi19; CHECK-NEXT: movq X(%rip), %rsi20; CHECK-NEXT: movq X(%rip), %rdx21; CHECK-NEXT: movq X(%rip), %rbx22; CHECK-NEXT: movq X(%rip), %rax23; CHECK-NEXT: addq %rsi, %rax24; CHECK-NEXT: movq X(%rip), %r1025; CHECK-NEXT: movq X(%rip), %r1126; CHECK-NEXT: bswapq %r1027; CHECK-NEXT: leaq (%rbx,%rdx), %r1428; CHECK-NEXT: addq %rsi, %r1429; CHECK-NEXT: addq %rax, %r1430; CHECK-NEXT: addq %r10, %r1431; CHECK-NEXT: leaq (%r9,%rcx), %rax32; CHECK-NEXT: leaq (%rax,%r8), %r1033; CHECK-NEXT: addq %r14, %rdi34; CHECK-NEXT: addq %r10, %r1035; CHECK-NEXT: bswapq %r1136; CHECK-NEXT: addq %r14, %r1037; CHECK-NEXT: addq %rbx, %r1138; CHECK-NEXT: leaq (%rsi,%rdx), %rbx39; CHECK-NEXT: addq %rdi, %rbx40; CHECK-NEXT: addq %rdi, %r1141; CHECK-NEXT: addq %rbx, %r1142; CHECK-NEXT: addq %rax, %rax43; CHECK-NEXT: addq %r10, %rax44; CHECK-NEXT: addq %r11, %r845; CHECK-NEXT: addq %r10, %rax46; CHECK-NEXT: addq %r11, %rax47; CHECK-NEXT: movq X(%rip), %r1148; CHECK-NEXT: bswapq %r1149; CHECK-NEXT: addq %rdx, %r1150; CHECK-NEXT: leaq (%rdi,%rsi), %rdx51; CHECK-NEXT: addq %r8, %rdx52; CHECK-NEXT: addq %r8, %r1153; CHECK-NEXT: addq %rdx, %r1154; CHECK-NEXT: leaq (%r10,%rcx), %rdx55; CHECK-NEXT: addq %rdx, %rdx56; CHECK-NEXT: addq %rax, %rdx57; CHECK-NEXT: addq %r11, %r958; CHECK-NEXT: addq %rax, %rdx59; CHECK-NEXT: addq %r11, %rdx60; CHECK-NEXT: movq X(%rip), %r1161; CHECK-NEXT: bswapq %r1162; CHECK-NEXT: addq %rsi, %r1163; CHECK-NEXT: leaq (%r8,%rdi), %rsi64; CHECK-NEXT: addq %r9, %rsi65; CHECK-NEXT: addq %r9, %r1166; CHECK-NEXT: addq %rsi, %r1167; CHECK-NEXT: leaq (%rax,%r10), %rsi68; CHECK-NEXT: addq %rsi, %rsi69; CHECK-NEXT: addq %rdx, %rsi70; CHECK-NEXT: addq %r11, %rcx71; CHECK-NEXT: addq %rdx, %rsi72; CHECK-NEXT: addq %r11, %rsi73; CHECK-NEXT: movq X(%rip), %r1174; CHECK-NEXT: bswapq %r1175; CHECK-NEXT: addq %rdi, %r1176; CHECK-NEXT: leaq (%r9,%r8), %rdi77; CHECK-NEXT: addq %rcx, %rdi78; CHECK-NEXT: addq %rcx, %r1179; CHECK-NEXT: addq %rdi, %r1180; CHECK-NEXT: leaq (%rdx,%rax), %rdi81; CHECK-NEXT: addq %rdi, %rdi82; CHECK-NEXT: addq %rsi, %rdi83; CHECK-NEXT: addq %r11, %r1084; CHECK-NEXT: addq %rsi, %rdi85; CHECK-NEXT: addq %r11, %rdi86; CHECK-NEXT: movq X(%rip), %r1187; CHECK-NEXT: bswapq %r1188; CHECK-NEXT: addq %r8, %r1189; CHECK-NEXT: leaq (%rcx,%r9), %r890; CHECK-NEXT: addq %r10, %r891; CHECK-NEXT: addq %r10, %r1192; CHECK-NEXT: addq %r8, %r1193; CHECK-NEXT: leaq (%rsi,%rdx), %r894; CHECK-NEXT: addq %r8, %r895; CHECK-NEXT: addq %rdi, %r896; CHECK-NEXT: addq %r11, %rax97; CHECK-NEXT: addq %rdi, %r898; CHECK-NEXT: addq %r11, %r899; CHECK-NEXT: movq X(%rip), %r11100; CHECK-NEXT: bswapq %r11101; CHECK-NEXT: addq %r9, %r11102; CHECK-NEXT: leaq (%r10,%rcx), %r9103; CHECK-NEXT: addq %rax, %r9104; CHECK-NEXT: addq %rax, %r11105; CHECK-NEXT: addq %r9, %r11106; CHECK-NEXT: leaq (%rdi,%rsi), %r9107; CHECK-NEXT: addq %r9, %r9108; CHECK-NEXT: addq %r8, %r9109; CHECK-NEXT: addq %r11, %rdx110; CHECK-NEXT: addq %r8, %r9111; CHECK-NEXT: addq %r11, %r9112; CHECK-NEXT: movq X(%rip), %r11113; CHECK-NEXT: bswapq %r11114; CHECK-NEXT: addq %rcx, %r11115; CHECK-NEXT: leaq (%rax,%r10), %rcx116; CHECK-NEXT: addq %rdx, %rcx117; CHECK-NEXT: addq %rdx, %r11118; CHECK-NEXT: addq %rcx, %r11119; CHECK-NEXT: leaq (%r8,%rdi), %rcx120; CHECK-NEXT: addq %rcx, %rcx121; CHECK-NEXT: addq %r9, %rcx122; CHECK-NEXT: addq %r11, %rsi123; CHECK-NEXT: addq %r9, %rcx124; CHECK-NEXT: addq %r11, %rcx125; CHECK-NEXT: movq X(%rip), %r11126; CHECK-NEXT: bswapq %r11127; CHECK-NEXT: addq %r10, %r11128; CHECK-NEXT: leaq (%rdx,%rax), %r10129; CHECK-NEXT: addq %rsi, %r10130; CHECK-NEXT: addq %rsi, %r11131; CHECK-NEXT: addq %r10, %r11132; CHECK-NEXT: leaq (%r9,%r8), %r10133; CHECK-NEXT: addq %r10, %r10134; CHECK-NEXT: addq %rcx, %r10135; CHECK-NEXT: addq %r11, %rdi136; CHECK-NEXT: addq %rcx, %r10137; CHECK-NEXT: addq %r11, %r10138; CHECK-NEXT: movq X(%rip), %rbx139; CHECK-NEXT: bswapq %rbx140; CHECK-NEXT: addq %rax, %rbx141; CHECK-NEXT: leaq (%rsi,%rdx), %rax142; CHECK-NEXT: addq %rdi, %rax143; CHECK-NEXT: addq %rdi, %rbx144; CHECK-NEXT: addq %rax, %rbx145; CHECK-NEXT: leaq (%rcx,%r9), %r11146; CHECK-NEXT: addq %r11, %r11147; CHECK-NEXT: addq %r10, %r11148; CHECK-NEXT: addq %rbx, %r8149; CHECK-NEXT: addq %r10, %r11150; CHECK-NEXT: addq %rbx, %r11151; CHECK-NEXT: movq X(%rip), %rax152; CHECK-NEXT: bswapq %rax153; CHECK-NEXT: addq %rdx, %rax154; CHECK-NEXT: leaq (%rdi,%rsi), %rdx155; CHECK-NEXT: addq %r8, %rdx156; CHECK-NEXT: addq %r8, %rax157; CHECK-NEXT: addq %rdx, %rax158; CHECK-NEXT: leaq (%r10,%rcx), %rdx159; CHECK-NEXT: addq %rdx, %rdx160; CHECK-NEXT: addq %r11, %rdx161; CHECK-NEXT: addq %rax, %r9162; CHECK-NEXT: addq %r11, %rdx163; CHECK-NEXT: addq %rax, %rdx164; CHECK-NEXT: movq X(%rip), %rbx165; CHECK-NEXT: bswapq %rbx166; CHECK-NEXT: addq %rsi, %rbx167; CHECK-NEXT: leaq (%r8,%rdi), %rax168; CHECK-NEXT: addq %r9, %rax169; CHECK-NEXT: addq %r9, %rbx170; CHECK-NEXT: addq %rax, %rbx171; CHECK-NEXT: leaq (%r11,%r10), %rax172; CHECK-NEXT: addq %rax, %rax173; CHECK-NEXT: addq %rdx, %rax174; CHECK-NEXT: addq %rbx, %rcx175; CHECK-NEXT: addq %rdx, %rax176; CHECK-NEXT: addq %rbx, %rax177; CHECK-NEXT: movq X(%rip), %rbx178; CHECK-NEXT: bswapq %rbx179; CHECK-NEXT: addq %rdi, %rbx180; CHECK-NEXT: leaq (%r9,%r8), %rsi181; CHECK-NEXT: addq %rcx, %rsi182; CHECK-NEXT: addq %rcx, %rbx183; CHECK-NEXT: addq %rsi, %rbx184; CHECK-NEXT: leaq (%rdx,%r11), %rsi185; CHECK-NEXT: addq %rsi, %rsi186; CHECK-NEXT: addq %rax, %rsi187; CHECK-NEXT: addq %rbx, %r10188; CHECK-NEXT: addq %rax, %rsi189; CHECK-NEXT: addq %rbx, %rsi190; CHECK-NEXT: movq X(%rip), %rbx191; CHECK-NEXT: bswapq %rbx192; CHECK-NEXT: addq %r8, %rbx193; CHECK-NEXT: leaq (%rcx,%r9), %rdi194; CHECK-NEXT: addq %r10, %rdi195; CHECK-NEXT: addq %r10, %rbx196; CHECK-NEXT: addq %rdi, %rbx197; CHECK-NEXT: leaq (%rax,%rdx), %rdi198; CHECK-NEXT: addq %rdi, %rdi199; CHECK-NEXT: addq %rsi, %rdi200; CHECK-NEXT: addq %rbx, %r11201; CHECK-NEXT: addq %rsi, %rdi202; CHECK-NEXT: addq %rbx, %rdi203; CHECK-NEXT: movq X(%rip), %r8204; CHECK-NEXT: bswapq %r8205; CHECK-NEXT: addq %r9, %r8206; CHECK-NEXT: leaq (%r10,%rcx), %r9207; CHECK-NEXT: addq %r11, %r9208; CHECK-NEXT: addq %r11, %r8209; CHECK-NEXT: addq %r9, %r8210; CHECK-NEXT: addq %rax, %rsi211; CHECK-NEXT: addq %rsi, %rsi212; CHECK-NEXT: addq %rdi, %rsi213; CHECK-NEXT: addq %rdi, %rsi214; CHECK-NEXT: addq %r8, %rdx215; CHECK-NEXT: addq %r8, %rsi216; CHECK-NEXT: movq X(%rip), %rax217; CHECK-NEXT: bswapq %rax218; CHECK-NEXT: addq %r10, %r11219; CHECK-NEXT: movq %rax, X(%rip)220; CHECK-NEXT: addq %rcx, %rax221; CHECK-NEXT: addq %rdx, %r11222; CHECK-NEXT: addq %rdx, %rax223; CHECK-NEXT: addq %r11, %rax224; CHECK-NEXT: addq %rsi, %rax225; CHECK-NEXT: popq %rbx226; CHECK-NEXT: popq %r14227; CHECK-NEXT: retq228 %tmp = load volatile i64, ptr @X ; <i64> [#uses=7]229 %tmp1 = load volatile i64, ptr @X ; <i64> [#uses=5]230 %tmp2 = load volatile i64, ptr @X ; <i64> [#uses=3]231 %tmp3 = load volatile i64, ptr @X ; <i64> [#uses=1]232 %tmp4 = load volatile i64, ptr @X ; <i64> [#uses=5]233 %tmp5 = load volatile i64, ptr @X ; <i64> [#uses=3]234 %tmp6 = load volatile i64, ptr @X ; <i64> [#uses=2]235 %tmp7 = load volatile i64, ptr @X ; <i64> [#uses=1]236 %tmp8 = load volatile i64, ptr @X ; <i64> [#uses=1]237 %tmp9 = load volatile i64, ptr @X ; <i64> [#uses=1]238 %tmp10 = load volatile i64, ptr @X ; <i64> [#uses=1]239 %tmp11 = load volatile i64, ptr @X ; <i64> [#uses=1]240 %tmp12 = load volatile i64, ptr @X ; <i64> [#uses=1]241 %tmp13 = load volatile i64, ptr @X ; <i64> [#uses=1]242 %tmp14 = load volatile i64, ptr @X ; <i64> [#uses=1]243 %tmp15 = load volatile i64, ptr @X ; <i64> [#uses=1]244 %tmp16 = load volatile i64, ptr @X ; <i64> [#uses=1]245 %tmp17 = load volatile i64, ptr @X ; <i64> [#uses=1]246 %tmp18 = load volatile i64, ptr @X ; <i64> [#uses=1]247 %tmp19 = load volatile i64, ptr @X ; <i64> [#uses=1]248 %tmp20 = load volatile i64, ptr @X ; <i64> [#uses=1]249 %tmp21 = load volatile i64, ptr @X ; <i64> [#uses=1]250 %tmp22 = load volatile i64, ptr @X ; <i64> [#uses=1]251 %tmp23 = load volatile i64, ptr @X ; <i64> [#uses=1]252 %tmp24 = call i64 @llvm.bswap.i64(i64 %tmp8) ; <i64> [#uses=1]253 %tmp25 = add i64 %tmp6, %tmp5 ; <i64> [#uses=1]254 %tmp26 = add i64 %tmp25, %tmp4 ; <i64> [#uses=1]255 %tmp27 = add i64 %tmp7, %tmp4 ; <i64> [#uses=1]256 %tmp28 = add i64 %tmp27, %tmp26 ; <i64> [#uses=1]257 %tmp29 = add i64 %tmp28, %tmp24 ; <i64> [#uses=2]258 %tmp30 = add i64 %tmp2, %tmp1 ; <i64> [#uses=1]259 %tmp31 = add i64 %tmp30, %tmp ; <i64> [#uses=1]260 %tmp32 = add i64 %tmp2, %tmp1 ; <i64> [#uses=1]261 %tmp33 = add i64 %tmp31, %tmp32 ; <i64> [#uses=1]262 %tmp34 = add i64 %tmp29, %tmp3 ; <i64> [#uses=5]263 %tmp35 = add i64 %tmp33, %tmp ; <i64> [#uses=1]264 %tmp36 = add i64 %tmp35, %tmp29 ; <i64> [#uses=7]265 %tmp37 = call i64 @llvm.bswap.i64(i64 %tmp9) ; <i64> [#uses=1]266 %tmp38 = add i64 %tmp4, %tmp5 ; <i64> [#uses=1]267 %tmp39 = add i64 %tmp38, %tmp34 ; <i64> [#uses=1]268 %tmp40 = add i64 %tmp6, %tmp37 ; <i64> [#uses=1]269 %tmp41 = add i64 %tmp40, %tmp39 ; <i64> [#uses=1]270 %tmp42 = add i64 %tmp41, %tmp34 ; <i64> [#uses=2]271 %tmp43 = add i64 %tmp1, %tmp ; <i64> [#uses=1]272 %tmp44 = add i64 %tmp36, %tmp43 ; <i64> [#uses=1]273 %tmp45 = add i64 %tmp1, %tmp ; <i64> [#uses=1]274 %tmp46 = add i64 %tmp44, %tmp45 ; <i64> [#uses=1]275 %tmp47 = add i64 %tmp42, %tmp2 ; <i64> [#uses=5]276 %tmp48 = add i64 %tmp36, %tmp46 ; <i64> [#uses=1]277 %tmp49 = add i64 %tmp48, %tmp42 ; <i64> [#uses=7]278 %tmp50 = call i64 @llvm.bswap.i64(i64 %tmp10) ; <i64> [#uses=1]279 %tmp51 = add i64 %tmp34, %tmp4 ; <i64> [#uses=1]280 %tmp52 = add i64 %tmp51, %tmp47 ; <i64> [#uses=1]281 %tmp53 = add i64 %tmp5, %tmp50 ; <i64> [#uses=1]282 %tmp54 = add i64 %tmp53, %tmp52 ; <i64> [#uses=1]283 %tmp55 = add i64 %tmp54, %tmp47 ; <i64> [#uses=2]284 %tmp56 = add i64 %tmp36, %tmp ; <i64> [#uses=1]285 %tmp57 = add i64 %tmp49, %tmp56 ; <i64> [#uses=1]286 %tmp58 = add i64 %tmp36, %tmp ; <i64> [#uses=1]287 %tmp59 = add i64 %tmp57, %tmp58 ; <i64> [#uses=1]288 %tmp60 = add i64 %tmp55, %tmp1 ; <i64> [#uses=5]289 %tmp61 = add i64 %tmp49, %tmp59 ; <i64> [#uses=1]290 %tmp62 = add i64 %tmp61, %tmp55 ; <i64> [#uses=7]291 %tmp63 = call i64 @llvm.bswap.i64(i64 %tmp11) ; <i64> [#uses=1]292 %tmp64 = add i64 %tmp47, %tmp34 ; <i64> [#uses=1]293 %tmp65 = add i64 %tmp64, %tmp60 ; <i64> [#uses=1]294 %tmp66 = add i64 %tmp4, %tmp63 ; <i64> [#uses=1]295 %tmp67 = add i64 %tmp66, %tmp65 ; <i64> [#uses=1]296 %tmp68 = add i64 %tmp67, %tmp60 ; <i64> [#uses=2]297 %tmp69 = add i64 %tmp49, %tmp36 ; <i64> [#uses=1]298 %tmp70 = add i64 %tmp62, %tmp69 ; <i64> [#uses=1]299 %tmp71 = add i64 %tmp49, %tmp36 ; <i64> [#uses=1]300 %tmp72 = add i64 %tmp70, %tmp71 ; <i64> [#uses=1]301 %tmp73 = add i64 %tmp68, %tmp ; <i64> [#uses=5]302 %tmp74 = add i64 %tmp62, %tmp72 ; <i64> [#uses=1]303 %tmp75 = add i64 %tmp74, %tmp68 ; <i64> [#uses=7]304 %tmp76 = call i64 @llvm.bswap.i64(i64 %tmp12) ; <i64> [#uses=1]305 %tmp77 = add i64 %tmp60, %tmp47 ; <i64> [#uses=1]306 %tmp78 = add i64 %tmp77, %tmp73 ; <i64> [#uses=1]307 %tmp79 = add i64 %tmp34, %tmp76 ; <i64> [#uses=1]308 %tmp80 = add i64 %tmp79, %tmp78 ; <i64> [#uses=1]309 %tmp81 = add i64 %tmp80, %tmp73 ; <i64> [#uses=2]310 %tmp82 = add i64 %tmp62, %tmp49 ; <i64> [#uses=1]311 %tmp83 = add i64 %tmp75, %tmp82 ; <i64> [#uses=1]312 %tmp84 = add i64 %tmp62, %tmp49 ; <i64> [#uses=1]313 %tmp85 = add i64 %tmp83, %tmp84 ; <i64> [#uses=1]314 %tmp86 = add i64 %tmp81, %tmp36 ; <i64> [#uses=5]315 %tmp87 = add i64 %tmp75, %tmp85 ; <i64> [#uses=1]316 %tmp88 = add i64 %tmp87, %tmp81 ; <i64> [#uses=7]317 %tmp89 = call i64 @llvm.bswap.i64(i64 %tmp13) ; <i64> [#uses=1]318 %tmp90 = add i64 %tmp73, %tmp60 ; <i64> [#uses=1]319 %tmp91 = add i64 %tmp90, %tmp86 ; <i64> [#uses=1]320 %tmp92 = add i64 %tmp47, %tmp89 ; <i64> [#uses=1]321 %tmp93 = add i64 %tmp92, %tmp91 ; <i64> [#uses=1]322 %tmp94 = add i64 %tmp93, %tmp86 ; <i64> [#uses=2]323 %tmp95 = add i64 %tmp75, %tmp62 ; <i64> [#uses=1]324 %tmp96 = add i64 %tmp88, %tmp95 ; <i64> [#uses=1]325 %tmp97 = add i64 %tmp75, %tmp62 ; <i64> [#uses=1]326 %tmp98 = add i64 %tmp96, %tmp97 ; <i64> [#uses=1]327 %tmp99 = add i64 %tmp94, %tmp49 ; <i64> [#uses=5]328 %tmp100 = add i64 %tmp88, %tmp98 ; <i64> [#uses=1]329 %tmp101 = add i64 %tmp100, %tmp94 ; <i64> [#uses=7]330 %tmp102 = call i64 @llvm.bswap.i64(i64 %tmp14) ; <i64> [#uses=1]331 %tmp103 = add i64 %tmp86, %tmp73 ; <i64> [#uses=1]332 %tmp104 = add i64 %tmp103, %tmp99 ; <i64> [#uses=1]333 %tmp105 = add i64 %tmp102, %tmp60 ; <i64> [#uses=1]334 %tmp106 = add i64 %tmp105, %tmp104 ; <i64> [#uses=1]335 %tmp107 = add i64 %tmp106, %tmp99 ; <i64> [#uses=2]336 %tmp108 = add i64 %tmp88, %tmp75 ; <i64> [#uses=1]337 %tmp109 = add i64 %tmp101, %tmp108 ; <i64> [#uses=1]338 %tmp110 = add i64 %tmp88, %tmp75 ; <i64> [#uses=1]339 %tmp111 = add i64 %tmp109, %tmp110 ; <i64> [#uses=1]340 %tmp112 = add i64 %tmp107, %tmp62 ; <i64> [#uses=5]341 %tmp113 = add i64 %tmp101, %tmp111 ; <i64> [#uses=1]342 %tmp114 = add i64 %tmp113, %tmp107 ; <i64> [#uses=7]343 %tmp115 = call i64 @llvm.bswap.i64(i64 %tmp15) ; <i64> [#uses=1]344 %tmp116 = add i64 %tmp99, %tmp86 ; <i64> [#uses=1]345 %tmp117 = add i64 %tmp116, %tmp112 ; <i64> [#uses=1]346 %tmp118 = add i64 %tmp115, %tmp73 ; <i64> [#uses=1]347 %tmp119 = add i64 %tmp118, %tmp117 ; <i64> [#uses=1]348 %tmp120 = add i64 %tmp119, %tmp112 ; <i64> [#uses=2]349 %tmp121 = add i64 %tmp101, %tmp88 ; <i64> [#uses=1]350 %tmp122 = add i64 %tmp114, %tmp121 ; <i64> [#uses=1]351 %tmp123 = add i64 %tmp101, %tmp88 ; <i64> [#uses=1]352 %tmp124 = add i64 %tmp122, %tmp123 ; <i64> [#uses=1]353 %tmp125 = add i64 %tmp120, %tmp75 ; <i64> [#uses=5]354 %tmp126 = add i64 %tmp114, %tmp124 ; <i64> [#uses=1]355 %tmp127 = add i64 %tmp126, %tmp120 ; <i64> [#uses=7]356 %tmp128 = call i64 @llvm.bswap.i64(i64 %tmp16) ; <i64> [#uses=1]357 %tmp129 = add i64 %tmp112, %tmp99 ; <i64> [#uses=1]358 %tmp130 = add i64 %tmp129, %tmp125 ; <i64> [#uses=1]359 %tmp131 = add i64 %tmp128, %tmp86 ; <i64> [#uses=1]360 %tmp132 = add i64 %tmp131, %tmp130 ; <i64> [#uses=1]361 %tmp133 = add i64 %tmp132, %tmp125 ; <i64> [#uses=2]362 %tmp134 = add i64 %tmp114, %tmp101 ; <i64> [#uses=1]363 %tmp135 = add i64 %tmp127, %tmp134 ; <i64> [#uses=1]364 %tmp136 = add i64 %tmp114, %tmp101 ; <i64> [#uses=1]365 %tmp137 = add i64 %tmp135, %tmp136 ; <i64> [#uses=1]366 %tmp138 = add i64 %tmp133, %tmp88 ; <i64> [#uses=5]367 %tmp139 = add i64 %tmp127, %tmp137 ; <i64> [#uses=1]368 %tmp140 = add i64 %tmp139, %tmp133 ; <i64> [#uses=7]369 %tmp141 = call i64 @llvm.bswap.i64(i64 %tmp17) ; <i64> [#uses=1]370 %tmp142 = add i64 %tmp125, %tmp112 ; <i64> [#uses=1]371 %tmp143 = add i64 %tmp142, %tmp138 ; <i64> [#uses=1]372 %tmp144 = add i64 %tmp141, %tmp99 ; <i64> [#uses=1]373 %tmp145 = add i64 %tmp144, %tmp143 ; <i64> [#uses=1]374 %tmp146 = add i64 %tmp145, %tmp138 ; <i64> [#uses=2]375 %tmp147 = add i64 %tmp127, %tmp114 ; <i64> [#uses=1]376 %tmp148 = add i64 %tmp140, %tmp147 ; <i64> [#uses=1]377 %tmp149 = add i64 %tmp127, %tmp114 ; <i64> [#uses=1]378 %tmp150 = add i64 %tmp148, %tmp149 ; <i64> [#uses=1]379 %tmp151 = add i64 %tmp146, %tmp101 ; <i64> [#uses=5]380 %tmp152 = add i64 %tmp140, %tmp150 ; <i64> [#uses=1]381 %tmp153 = add i64 %tmp152, %tmp146 ; <i64> [#uses=7]382 %tmp154 = call i64 @llvm.bswap.i64(i64 %tmp18) ; <i64> [#uses=1]383 %tmp155 = add i64 %tmp138, %tmp125 ; <i64> [#uses=1]384 %tmp156 = add i64 %tmp155, %tmp151 ; <i64> [#uses=1]385 %tmp157 = add i64 %tmp154, %tmp112 ; <i64> [#uses=1]386 %tmp158 = add i64 %tmp157, %tmp156 ; <i64> [#uses=1]387 %tmp159 = add i64 %tmp158, %tmp151 ; <i64> [#uses=2]388 %tmp160 = add i64 %tmp140, %tmp127 ; <i64> [#uses=1]389 %tmp161 = add i64 %tmp153, %tmp160 ; <i64> [#uses=1]390 %tmp162 = add i64 %tmp140, %tmp127 ; <i64> [#uses=1]391 %tmp163 = add i64 %tmp161, %tmp162 ; <i64> [#uses=1]392 %tmp164 = add i64 %tmp159, %tmp114 ; <i64> [#uses=5]393 %tmp165 = add i64 %tmp153, %tmp163 ; <i64> [#uses=1]394 %tmp166 = add i64 %tmp165, %tmp159 ; <i64> [#uses=7]395 %tmp167 = call i64 @llvm.bswap.i64(i64 %tmp19) ; <i64> [#uses=1]396 %tmp168 = add i64 %tmp151, %tmp138 ; <i64> [#uses=1]397 %tmp169 = add i64 %tmp168, %tmp164 ; <i64> [#uses=1]398 %tmp170 = add i64 %tmp167, %tmp125 ; <i64> [#uses=1]399 %tmp171 = add i64 %tmp170, %tmp169 ; <i64> [#uses=1]400 %tmp172 = add i64 %tmp171, %tmp164 ; <i64> [#uses=2]401 %tmp173 = add i64 %tmp153, %tmp140 ; <i64> [#uses=1]402 %tmp174 = add i64 %tmp166, %tmp173 ; <i64> [#uses=1]403 %tmp175 = add i64 %tmp153, %tmp140 ; <i64> [#uses=1]404 %tmp176 = add i64 %tmp174, %tmp175 ; <i64> [#uses=1]405 %tmp177 = add i64 %tmp172, %tmp127 ; <i64> [#uses=5]406 %tmp178 = add i64 %tmp166, %tmp176 ; <i64> [#uses=1]407 %tmp179 = add i64 %tmp178, %tmp172 ; <i64> [#uses=6]408 %tmp180 = call i64 @llvm.bswap.i64(i64 %tmp20) ; <i64> [#uses=1]409 %tmp181 = add i64 %tmp164, %tmp151 ; <i64> [#uses=1]410 %tmp182 = add i64 %tmp181, %tmp177 ; <i64> [#uses=1]411 %tmp183 = add i64 %tmp180, %tmp138 ; <i64> [#uses=1]412 %tmp184 = add i64 %tmp183, %tmp182 ; <i64> [#uses=1]413 %tmp185 = add i64 %tmp184, %tmp177 ; <i64> [#uses=2]414 %tmp186 = add i64 %tmp166, %tmp153 ; <i64> [#uses=1]415 %tmp187 = add i64 %tmp179, %tmp186 ; <i64> [#uses=1]416 %tmp188 = add i64 %tmp166, %tmp153 ; <i64> [#uses=1]417 %tmp189 = add i64 %tmp187, %tmp188 ; <i64> [#uses=1]418 %tmp190 = add i64 %tmp185, %tmp140 ; <i64> [#uses=4]419 %tmp191 = add i64 %tmp179, %tmp189 ; <i64> [#uses=1]420 %tmp192 = add i64 %tmp191, %tmp185 ; <i64> [#uses=4]421 %tmp193 = call i64 @llvm.bswap.i64(i64 %tmp21) ; <i64> [#uses=1]422 %tmp194 = add i64 %tmp177, %tmp164 ; <i64> [#uses=1]423 %tmp195 = add i64 %tmp194, %tmp190 ; <i64> [#uses=1]424 %tmp196 = add i64 %tmp193, %tmp151 ; <i64> [#uses=1]425 %tmp197 = add i64 %tmp196, %tmp195 ; <i64> [#uses=1]426 %tmp198 = add i64 %tmp197, %tmp190 ; <i64> [#uses=2]427 %tmp199 = add i64 %tmp179, %tmp166 ; <i64> [#uses=1]428 %tmp200 = add i64 %tmp192, %tmp199 ; <i64> [#uses=1]429 %tmp201 = add i64 %tmp179, %tmp166 ; <i64> [#uses=1]430 %tmp202 = add i64 %tmp200, %tmp201 ; <i64> [#uses=1]431 %tmp203 = add i64 %tmp198, %tmp153 ; <i64> [#uses=3]432 %tmp204 = add i64 %tmp192, %tmp202 ; <i64> [#uses=1]433 %tmp205 = add i64 %tmp204, %tmp198 ; <i64> [#uses=2]434 %tmp206 = call i64 @llvm.bswap.i64(i64 %tmp22) ; <i64> [#uses=1]435 %tmp207 = add i64 %tmp190, %tmp177 ; <i64> [#uses=1]436 %tmp208 = add i64 %tmp207, %tmp203 ; <i64> [#uses=1]437 %tmp209 = add i64 %tmp206, %tmp164 ; <i64> [#uses=1]438 %tmp210 = add i64 %tmp209, %tmp208 ; <i64> [#uses=1]439 %tmp211 = add i64 %tmp210, %tmp203 ; <i64> [#uses=2]440 %tmp212 = add i64 %tmp192, %tmp179 ; <i64> [#uses=1]441 %tmp213 = add i64 %tmp205, %tmp212 ; <i64> [#uses=1]442 %tmp214 = add i64 %tmp192, %tmp179 ; <i64> [#uses=1]443 %tmp215 = add i64 %tmp213, %tmp214 ; <i64> [#uses=1]444 %tmp216 = add i64 %tmp211, %tmp166 ; <i64> [#uses=2]445 %tmp217 = add i64 %tmp205, %tmp215 ; <i64> [#uses=1]446 %tmp218 = add i64 %tmp217, %tmp211 ; <i64> [#uses=1]447 %tmp219 = call i64 @llvm.bswap.i64(i64 %tmp23) ; <i64> [#uses=2]448 store volatile i64 %tmp219, ptr @X, align 8449 %tmp220 = add i64 %tmp203, %tmp190 ; <i64> [#uses=1]450 %tmp221 = add i64 %tmp220, %tmp216 ; <i64> [#uses=1]451 %tmp222 = add i64 %tmp219, %tmp177 ; <i64> [#uses=1]452 %tmp223 = add i64 %tmp222, %tmp221 ; <i64> [#uses=1]453 %tmp224 = add i64 %tmp223, %tmp216 ; <i64> [#uses=1]454 %tmp225 = add i64 %tmp224, %tmp218 ; <i64> [#uses=1]455 ret i64 %tmp225456}457 458declare i64 @llvm.bswap.i64(i64) nounwind readnone459