1461 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i386-unknown | FileCheck %s --check-prefix=X863; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s --check-prefix=X644 5define void @test_512(ptr %a, ptr %b, ptr %out) nounwind {6; X86-LABEL: test_512:7; X86: # %bb.0:8; X86-NEXT: pushl %ebp9; X86-NEXT: pushl %ebx10; X86-NEXT: pushl %edi11; X86-NEXT: pushl %esi12; X86-NEXT: subl $180, %esp13; X86-NEXT: movl {{[0-9]+}}(%esp), %edx14; X86-NEXT: movl {{[0-9]+}}(%esp), %eax15; X86-NEXT: movl 28(%eax), %ebx16; X86-NEXT: movl 24(%eax), %ebp17; X86-NEXT: movl (%edx), %esi18; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill19; X86-NEXT: movl %ebp, %eax20; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill21; X86-NEXT: mull %esi22; X86-NEXT: movl %edx, %edi23; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill24; X86-NEXT: movl %ebx, %eax25; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill26; X86-NEXT: mull %esi27; X86-NEXT: movl %edx, %ecx28; X86-NEXT: movl %eax, %esi29; X86-NEXT: addl %edi, %esi30; X86-NEXT: adcl $0, %ecx31; X86-NEXT: movl {{[0-9]+}}(%esp), %eax32; X86-NEXT: movl 4(%eax), %edi33; X86-NEXT: movl %ebp, %eax34; X86-NEXT: mull %edi35; X86-NEXT: movl %edi, %ebp36; X86-NEXT: movl %edx, %edi37; X86-NEXT: addl %esi, %eax38; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill39; X86-NEXT: adcl %ecx, %edi40; X86-NEXT: setb %cl41; X86-NEXT: movl %ebx, %eax42; X86-NEXT: mull %ebp43; X86-NEXT: addl %edi, %eax44; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill45; X86-NEXT: movzbl %cl, %eax46; X86-NEXT: adcl %eax, %edx47; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill48; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx49; X86-NEXT: movl 16(%ecx), %ebx50; X86-NEXT: movl %ebx, %eax51; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill52; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload53; X86-NEXT: mull %esi54; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill55; X86-NEXT: movl %edx, %edi56; X86-NEXT: movl 20(%ecx), %eax57; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill58; X86-NEXT: mull %esi59; X86-NEXT: movl %edx, %ecx60; X86-NEXT: movl %eax, %esi61; X86-NEXT: addl %edi, %esi62; X86-NEXT: adcl $0, %ecx63; X86-NEXT: movl %ebx, %eax64; X86-NEXT: movl %ebp, %edi65; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill66; X86-NEXT: mull %ebp67; X86-NEXT: movl %edx, %ebp68; X86-NEXT: addl %esi, %eax69; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill70; X86-NEXT: adcl %ecx, %ebp71; X86-NEXT: setb %bl72; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload73; X86-NEXT: movl %esi, %eax74; X86-NEXT: mull %edi75; X86-NEXT: addl %ebp, %eax76; X86-NEXT: movzbl %bl, %ecx77; X86-NEXT: adcl %ecx, %edx78; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload79; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill80; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload81; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill82; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill83; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill84; X86-NEXT: movl {{[0-9]+}}(%esp), %eax85; X86-NEXT: movl 8(%eax), %ecx86; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill87; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload88; X86-NEXT: movl %edi, %eax89; X86-NEXT: mull %ecx90; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill91; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill92; X86-NEXT: movl %esi, %eax93; X86-NEXT: mull %ecx94; X86-NEXT: movl %edx, %ebx95; X86-NEXT: movl %eax, %ebp96; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload97; X86-NEXT: adcl $0, %ebx98; X86-NEXT: movl {{[0-9]+}}(%esp), %eax99; X86-NEXT: movl 12(%eax), %ecx100; X86-NEXT: movl %edi, %eax101; X86-NEXT: mull %ecx102; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill103; X86-NEXT: movl %edx, %esi104; X86-NEXT: addl %ebp, %eax105; X86-NEXT: movl %eax, %edi106; X86-NEXT: adcl %ebx, %esi107; X86-NEXT: setb %bl108; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload109; X86-NEXT: mull %ecx110; X86-NEXT: movl %eax, %ebp111; X86-NEXT: addl %esi, %ebp112; X86-NEXT: movzbl %bl, %eax113; X86-NEXT: adcl %eax, %edx114; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload115; X86-NEXT: addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill116; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload117; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill118; X86-NEXT: adcl $0, %ebp119; X86-NEXT: adcl $0, %edx120; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload121; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload122; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill123; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill124; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload125; X86-NEXT: movl %esi, %eax126; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload127; X86-NEXT: mull %ecx128; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill129; X86-NEXT: movl %eax, (%esp) # 4-byte Spill130; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload131; X86-NEXT: mull %ecx132; X86-NEXT: movl %edx, %ebx133; X86-NEXT: movl %eax, %edi134; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload135; X86-NEXT: adcl $0, %ebx136; X86-NEXT: movl %esi, %eax137; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload138; X86-NEXT: mull %ecx139; X86-NEXT: movl %edx, %esi140; X86-NEXT: addl %edi, %eax141; X86-NEXT: movl %eax, %edi142; X86-NEXT: adcl %ebx, %esi143; X86-NEXT: setb %bl144; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload145; X86-NEXT: mull %ecx146; X86-NEXT: addl %esi, %eax147; X86-NEXT: movl %eax, %esi148; X86-NEXT: movzbl %bl, %eax149; X86-NEXT: adcl %eax, %edx150; X86-NEXT: addl %ebp, (%esp) # 4-byte Folded Spill151; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload152; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill153; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload154; X86-NEXT: adcl %eax, %esi155; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill156; X86-NEXT: adcl $0, %edx157; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill158; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx159; X86-NEXT: movl 8(%ecx), %ebp160; X86-NEXT: movl %ebp, %eax161; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill162; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload163; X86-NEXT: mull %esi164; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill165; X86-NEXT: movl %edx, %edi166; X86-NEXT: movl 12(%ecx), %ebx167; X86-NEXT: movl %ebx, %eax168; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill169; X86-NEXT: mull %esi170; X86-NEXT: movl %edx, %ecx171; X86-NEXT: movl %eax, %esi172; X86-NEXT: addl %edi, %esi173; X86-NEXT: adcl $0, %ecx174; X86-NEXT: movl %ebp, %eax175; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload176; X86-NEXT: mull %ebp177; X86-NEXT: movl %edx, %edi178; X86-NEXT: addl %esi, %eax179; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill180; X86-NEXT: adcl %ecx, %edi181; X86-NEXT: setb %cl182; X86-NEXT: movl %ebx, %eax183; X86-NEXT: mull %ebp184; X86-NEXT: addl %edi, %eax185; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill186; X86-NEXT: movzbl %cl, %eax187; X86-NEXT: adcl %eax, %edx188; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill189; X86-NEXT: movl {{[0-9]+}}(%esp), %esi190; X86-NEXT: movl (%esi), %ebx191; X86-NEXT: movl %ebx, %eax192; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill193; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload194; X86-NEXT: mull %ecx195; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill196; X86-NEXT: movl %edx, %edi197; X86-NEXT: movl 4(%esi), %eax198; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill199; X86-NEXT: mull %ecx200; X86-NEXT: movl %edx, %ecx201; X86-NEXT: movl %eax, %esi202; X86-NEXT: addl %edi, %esi203; X86-NEXT: adcl $0, %ecx204; X86-NEXT: movl %ebx, %eax205; X86-NEXT: movl %ebp, %edi206; X86-NEXT: mull %ebp207; X86-NEXT: movl %edx, %ebp208; X86-NEXT: addl %esi, %eax209; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill210; X86-NEXT: adcl %ecx, %ebp211; X86-NEXT: setb %bl212; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload213; X86-NEXT: movl %esi, %eax214; X86-NEXT: mull %edi215; X86-NEXT: movl %eax, %ecx216; X86-NEXT: addl %ebp, %ecx217; X86-NEXT: movzbl %bl, %eax218; X86-NEXT: adcl %eax, %edx219; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload220; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload221; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill222; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill223; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill224; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload225; X86-NEXT: movl %edi, %eax226; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload227; X86-NEXT: mull %ebx228; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill229; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill230; X86-NEXT: movl %esi, %eax231; X86-NEXT: mull %ebx232; X86-NEXT: movl %edx, %ebx233; X86-NEXT: movl %eax, %ebp234; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload235; X86-NEXT: adcl $0, %ebx236; X86-NEXT: movl %edi, %eax237; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload238; X86-NEXT: mull %edi239; X86-NEXT: movl %edx, %esi240; X86-NEXT: addl %ebp, %eax241; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill242; X86-NEXT: adcl %ebx, %esi243; X86-NEXT: setb %bl244; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload245; X86-NEXT: mull %edi246; X86-NEXT: movl %eax, %ebp247; X86-NEXT: addl %esi, %ebp248; X86-NEXT: movzbl %bl, %eax249; X86-NEXT: adcl %eax, %edx250; X86-NEXT: addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill251; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload252; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill253; X86-NEXT: adcl $0, %ebp254; X86-NEXT: adcl $0, %edx255; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload256; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload257; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill258; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill259; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload260; X86-NEXT: movl %ebx, %eax261; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload262; X86-NEXT: mull %ecx263; X86-NEXT: movl %edx, %esi264; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill265; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload266; X86-NEXT: mull %ecx267; X86-NEXT: movl %edx, %ecx268; X86-NEXT: movl %eax, %edi269; X86-NEXT: addl %esi, %edi270; X86-NEXT: adcl $0, %ecx271; X86-NEXT: movl %ebx, %eax272; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload273; X86-NEXT: mull %ebx274; X86-NEXT: movl %edx, %esi275; X86-NEXT: addl %edi, %eax276; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill277; X86-NEXT: adcl %ecx, %esi278; X86-NEXT: setb %cl279; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload280; X86-NEXT: movl %edi, %eax281; X86-NEXT: mull %ebx282; X86-NEXT: addl %esi, %eax283; X86-NEXT: movzbl %cl, %ecx284; X86-NEXT: movl %edx, %esi285; X86-NEXT: adcl %ecx, %esi286; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload287; X86-NEXT: addl %ebp, %ecx288; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload289; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload290; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 1-byte Folded Reload291; X86-NEXT: adcl %ebx, %eax292; X86-NEXT: adcl $0, %esi293; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload294; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill295; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload296; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill297; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload298; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill299; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload300; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill301; X86-NEXT: adcl $0, (%esp) # 4-byte Folded Spill302; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill303; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill304; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill305; X86-NEXT: movl {{[0-9]+}}(%esp), %eax306; X86-NEXT: movl 16(%eax), %ecx307; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill308; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload309; X86-NEXT: movl %ebp, %eax310; X86-NEXT: mull %ecx311; X86-NEXT: movl %edx, %esi312; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill313; X86-NEXT: movl %edi, %eax314; X86-NEXT: movl %edi, %ebx315; X86-NEXT: mull %ecx316; X86-NEXT: movl %edx, %ecx317; X86-NEXT: movl %eax, %edi318; X86-NEXT: addl %esi, %edi319; X86-NEXT: adcl $0, %ecx320; X86-NEXT: movl {{[0-9]+}}(%esp), %eax321; X86-NEXT: movl 20(%eax), %esi322; X86-NEXT: movl %ebp, %eax323; X86-NEXT: mull %esi324; X86-NEXT: movl %esi, %ebp325; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill326; X86-NEXT: movl %edx, %esi327; X86-NEXT: addl %edi, %eax328; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill329; X86-NEXT: adcl %ecx, %esi330; X86-NEXT: setb %cl331; X86-NEXT: movl %ebx, %eax332; X86-NEXT: mull %ebp333; X86-NEXT: addl %esi, %eax334; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill335; X86-NEXT: movzbl %cl, %eax336; X86-NEXT: adcl %eax, %edx337; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill338; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload339; X86-NEXT: movl %ebx, %eax340; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload341; X86-NEXT: mull %ecx342; X86-NEXT: movl %edx, %edi343; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill344; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload345; X86-NEXT: movl %ebp, %eax346; X86-NEXT: mull %ecx347; X86-NEXT: movl %edx, %ecx348; X86-NEXT: movl %eax, %esi349; X86-NEXT: addl %edi, %esi350; X86-NEXT: adcl $0, %ecx351; X86-NEXT: movl %ebx, %eax352; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload353; X86-NEXT: mull %edi354; X86-NEXT: movl %edx, %ebx355; X86-NEXT: addl %esi, %eax356; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill357; X86-NEXT: adcl %ecx, %ebx358; X86-NEXT: setb %cl359; X86-NEXT: movl %ebp, %eax360; X86-NEXT: mull %edi361; X86-NEXT: movl %eax, %esi362; X86-NEXT: addl %ebx, %esi363; X86-NEXT: movzbl %cl, %eax364; X86-NEXT: adcl %eax, %edx365; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload366; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload367; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill368; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill369; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill370; X86-NEXT: movl {{[0-9]+}}(%esp), %eax371; X86-NEXT: movl 24(%eax), %ecx372; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill373; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload374; X86-NEXT: movl %edi, %eax375; X86-NEXT: mull %ecx376; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill377; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill378; X86-NEXT: movl %ebp, %eax379; X86-NEXT: mull %ecx380; X86-NEXT: movl %edx, %ebx381; X86-NEXT: movl %eax, %ebp382; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload383; X86-NEXT: adcl $0, %ebx384; X86-NEXT: movl {{[0-9]+}}(%esp), %eax385; X86-NEXT: movl 28(%eax), %ecx386; X86-NEXT: movl %edi, %eax387; X86-NEXT: mull %ecx388; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill389; X86-NEXT: movl %edx, %edi390; X86-NEXT: addl %ebp, %eax391; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill392; X86-NEXT: adcl %ebx, %edi393; X86-NEXT: setb %bl394; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload395; X86-NEXT: mull %ecx396; X86-NEXT: movl %eax, %ebp397; X86-NEXT: addl %edi, %ebp398; X86-NEXT: movzbl %bl, %eax399; X86-NEXT: adcl %eax, %edx400; X86-NEXT: addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill401; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload402; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill403; X86-NEXT: adcl $0, %ebp404; X86-NEXT: adcl $0, %edx405; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload406; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload407; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill408; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill409; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload410; X86-NEXT: movl %esi, %eax411; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload412; X86-NEXT: mull %ecx413; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill414; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill415; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload416; X86-NEXT: mull %ecx417; X86-NEXT: movl %edx, %ebx418; X86-NEXT: movl %eax, %edi419; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload420; X86-NEXT: adcl $0, %ebx421; X86-NEXT: movl %esi, %eax422; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload423; X86-NEXT: mull %ecx424; X86-NEXT: movl %edx, %esi425; X86-NEXT: addl %edi, %eax426; X86-NEXT: movl %eax, %edi427; X86-NEXT: adcl %ebx, %esi428; X86-NEXT: setb %bl429; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload430; X86-NEXT: mull %ecx431; X86-NEXT: movl %eax, %ecx432; X86-NEXT: addl %esi, %ecx433; X86-NEXT: movzbl %bl, %eax434; X86-NEXT: adcl %eax, %edx435; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload436; X86-NEXT: addl %ebp, %esi437; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload438; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload439; X86-NEXT: adcl %eax, %ecx440; X86-NEXT: adcl $0, %edx441; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload442; X86-NEXT: addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill443; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload444; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill445; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload446; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill447; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload448; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill449; X86-NEXT: movl %esi, %eax450; X86-NEXT: adcl $0, %eax451; X86-NEXT: adcl $0, %edi452; X86-NEXT: adcl $0, %ecx453; X86-NEXT: adcl $0, %edx454; X86-NEXT: addl (%esp), %eax # 4-byte Folded Reload455; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill456; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload457; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill458; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload459; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill460; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload461; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill462; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill463; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload464; X86-NEXT: movl %ebx, %eax465; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload466; X86-NEXT: mull %ecx467; X86-NEXT: movl %edx, %esi468; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill469; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload470; X86-NEXT: movl %ebp, %eax471; X86-NEXT: mull %ecx472; X86-NEXT: movl %edx, %ecx473; X86-NEXT: movl %eax, %edi474; X86-NEXT: addl %esi, %edi475; X86-NEXT: adcl $0, %ecx476; X86-NEXT: movl %ebx, %eax477; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload478; X86-NEXT: mull %ebx479; X86-NEXT: movl %edx, %esi480; X86-NEXT: addl %edi, %eax481; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill482; X86-NEXT: adcl %ecx, %esi483; X86-NEXT: setb %cl484; X86-NEXT: movl %ebp, %eax485; X86-NEXT: mull %ebx486; X86-NEXT: addl %esi, %eax487; X86-NEXT: movl %eax, (%esp) # 4-byte Spill488; X86-NEXT: movzbl %cl, %eax489; X86-NEXT: adcl %eax, %edx490; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill491; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload492; X86-NEXT: movl %ebx, %eax493; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload494; X86-NEXT: mull %ecx495; X86-NEXT: movl %edx, %edi496; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill497; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload498; X86-NEXT: movl %ebp, %eax499; X86-NEXT: mull %ecx500; X86-NEXT: movl %edx, %ecx501; X86-NEXT: movl %eax, %esi502; X86-NEXT: addl %edi, %esi503; X86-NEXT: adcl $0, %ecx504; X86-NEXT: movl %ebx, %eax505; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload506; X86-NEXT: mull %ebx507; X86-NEXT: movl %edx, %edi508; X86-NEXT: addl %esi, %eax509; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill510; X86-NEXT: adcl %ecx, %edi511; X86-NEXT: setb %cl512; X86-NEXT: movl %ebp, %eax513; X86-NEXT: movl %ebp, %esi514; X86-NEXT: mull %ebx515; X86-NEXT: addl %edi, %eax516; X86-NEXT: movzbl %cl, %ecx517; X86-NEXT: adcl %ecx, %edx518; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload519; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill520; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload521; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill522; X86-NEXT: adcl $0, (%esp) # 4-byte Folded Spill523; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill524; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload525; X86-NEXT: movl %ebp, %eax526; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload527; X86-NEXT: mull %ecx528; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill529; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill530; X86-NEXT: movl %esi, %eax531; X86-NEXT: mull %ecx532; X86-NEXT: movl %edx, %edi533; X86-NEXT: movl %eax, %ebx534; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload535; X86-NEXT: adcl $0, %edi536; X86-NEXT: movl %ebp, %eax537; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload538; X86-NEXT: mull %ecx539; X86-NEXT: movl %edx, %ebp540; X86-NEXT: addl %ebx, %eax541; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill542; X86-NEXT: adcl %edi, %ebp543; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill544; X86-NEXT: movl %esi, %eax545; X86-NEXT: mull %ecx546; X86-NEXT: movl %eax, %ebx547; X86-NEXT: addl %ebp, %ebx548; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload549; X86-NEXT: adcl %eax, %edx550; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload551; X86-NEXT: addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill552; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload553; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill554; X86-NEXT: adcl $0, %ebx555; X86-NEXT: adcl $0, %edx556; X86-NEXT: addl (%esp), %ebx # 4-byte Folded Reload557; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload558; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill559; X86-NEXT: setb (%esp) # 1-byte Folded Spill560; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload561; X86-NEXT: movl %esi, %eax562; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload563; X86-NEXT: mull %ecx564; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill565; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill566; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload567; X86-NEXT: mull %ecx568; X86-NEXT: movl %edx, %edi569; X86-NEXT: movl %eax, %ebp570; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload571; X86-NEXT: adcl $0, %edi572; X86-NEXT: movl %esi, %eax573; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload574; X86-NEXT: mull %ecx575; X86-NEXT: movl %edx, %esi576; X86-NEXT: addl %ebp, %eax577; X86-NEXT: movl %eax, %ebp578; X86-NEXT: adcl %edi, %esi579; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill580; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload581; X86-NEXT: mull %ecx582; X86-NEXT: addl %esi, %eax583; X86-NEXT: movl %eax, %esi584; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload585; X86-NEXT: adcl %eax, %edx586; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload587; X86-NEXT: addl %ebx, %ecx588; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload589; X86-NEXT: movzbl (%esp), %eax # 1-byte Folded Reload590; X86-NEXT: adcl %eax, %esi591; X86-NEXT: adcl $0, %edx592; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload593; X86-NEXT: addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill594; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload595; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill596; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload597; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill598; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload599; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill600; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload601; X86-NEXT: adcl %eax, %ecx602; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill603; X86-NEXT: adcl $0, %ebp604; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill605; X86-NEXT: adcl $0, %esi606; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill607; X86-NEXT: adcl $0, %edx608; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill609; X86-NEXT: movl {{[0-9]+}}(%esp), %eax610; X86-NEXT: movl 32(%eax), %ecx611; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill612; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload613; X86-NEXT: movl %ebp, %eax614; X86-NEXT: mull %ecx615; X86-NEXT: movl %edx, %esi616; X86-NEXT: movl %eax, (%esp) # 4-byte Spill617; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload618; X86-NEXT: movl %ebx, %eax619; X86-NEXT: mull %ecx620; X86-NEXT: movl %edx, %ecx621; X86-NEXT: movl %eax, %edi622; X86-NEXT: addl %esi, %edi623; X86-NEXT: adcl $0, %ecx624; X86-NEXT: movl {{[0-9]+}}(%esp), %eax625; X86-NEXT: movl 36(%eax), %esi626; X86-NEXT: movl %ebp, %eax627; X86-NEXT: mull %esi628; X86-NEXT: movl %esi, %ebp629; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill630; X86-NEXT: movl %edx, %esi631; X86-NEXT: addl %edi, %eax632; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill633; X86-NEXT: adcl %ecx, %esi634; X86-NEXT: setb %cl635; X86-NEXT: movl %ebx, %eax636; X86-NEXT: mull %ebp637; X86-NEXT: addl %esi, %eax638; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill639; X86-NEXT: movzbl %cl, %eax640; X86-NEXT: adcl %eax, %edx641; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill642; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload643; X86-NEXT: movl %ebp, %eax644; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload645; X86-NEXT: mull %ecx646; X86-NEXT: movl %edx, %edi647; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill648; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload649; X86-NEXT: movl %ebx, %eax650; X86-NEXT: mull %ecx651; X86-NEXT: movl %edx, %ecx652; X86-NEXT: movl %eax, %esi653; X86-NEXT: addl %edi, %esi654; X86-NEXT: adcl $0, %ecx655; X86-NEXT: movl %ebp, %eax656; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload657; X86-NEXT: mull %edi658; X86-NEXT: movl %edx, %ebp659; X86-NEXT: addl %esi, %eax660; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill661; X86-NEXT: adcl %ecx, %ebp662; X86-NEXT: setb %cl663; X86-NEXT: movl %ebx, %eax664; X86-NEXT: movl %ebx, %esi665; X86-NEXT: mull %edi666; X86-NEXT: addl %ebp, %eax667; X86-NEXT: movzbl %cl, %ecx668; X86-NEXT: adcl %ecx, %edx669; X86-NEXT: addl (%esp), %eax # 4-byte Folded Reload670; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill671; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload672; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill673; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill674; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill675; X86-NEXT: movl {{[0-9]+}}(%esp), %edi676; X86-NEXT: movl 40(%edi), %ecx677; X86-NEXT: movl %ecx, (%esp) # 4-byte Spill678; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload679; X86-NEXT: movl %ebx, %eax680; X86-NEXT: mull %ecx681; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill682; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill683; X86-NEXT: movl %esi, %eax684; X86-NEXT: mull %ecx685; X86-NEXT: movl %edx, %ecx686; X86-NEXT: movl %eax, %ebp687; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload688; X86-NEXT: adcl $0, %ecx689; X86-NEXT: movl 44(%edi), %edi690; X86-NEXT: movl %ebx, %eax691; X86-NEXT: mull %edi692; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill693; X86-NEXT: movl %edx, %ebx694; X86-NEXT: addl %ebp, %eax695; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill696; X86-NEXT: adcl %ecx, %ebx697; X86-NEXT: setb %cl698; X86-NEXT: movl %esi, %eax699; X86-NEXT: mull %edi700; X86-NEXT: movl %eax, %ebp701; X86-NEXT: addl %ebx, %ebp702; X86-NEXT: movzbl %cl, %eax703; X86-NEXT: adcl %eax, %edx704; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload705; X86-NEXT: addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill706; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload707; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill708; X86-NEXT: adcl $0, %ebp709; X86-NEXT: adcl $0, %edx710; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload711; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload712; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill713; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill714; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload715; X86-NEXT: movl %edi, %eax716; X86-NEXT: movl (%esp), %ecx # 4-byte Reload717; X86-NEXT: mull %ecx718; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill719; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill720; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload721; X86-NEXT: mull %ecx722; X86-NEXT: movl %edx, %esi723; X86-NEXT: movl %eax, %ebx724; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload725; X86-NEXT: adcl $0, %esi726; X86-NEXT: movl %edi, %eax727; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload728; X86-NEXT: mull %ecx729; X86-NEXT: movl %edx, %edi730; X86-NEXT: addl %ebx, %eax731; X86-NEXT: movl %eax, %ebx732; X86-NEXT: adcl %esi, %edi733; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill734; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload735; X86-NEXT: mull %ecx736; X86-NEXT: addl %edi, %eax737; X86-NEXT: movl %eax, %esi738; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload739; X86-NEXT: adcl %eax, %edx740; X86-NEXT: addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill741; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload742; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill743; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload744; X86-NEXT: adcl %eax, %esi745; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill746; X86-NEXT: adcl $0, %edx747; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill748; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload749; X86-NEXT: imull %eax, %ecx750; X86-NEXT: movl (%esp), %esi # 4-byte Reload751; X86-NEXT: mull %esi752; X86-NEXT: movl %eax, %ebx753; X86-NEXT: addl %ecx, %edx754; X86-NEXT: movl %esi, %eax755; X86-NEXT: imull {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload756; X86-NEXT: addl %edx, %eax757; X86-NEXT: movl %eax, (%esp) # 4-byte Spill758; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload759; X86-NEXT: movl %eax, %esi760; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload761; X86-NEXT: imull %edi, %esi762; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload763; X86-NEXT: mull %ecx764; X86-NEXT: movl %eax, %ebp765; X86-NEXT: addl %esi, %edx766; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload767; X86-NEXT: imull %ecx, %esi768; X86-NEXT: addl %edx, %esi769; X86-NEXT: addl %ebx, %ebp770; X86-NEXT: adcl (%esp), %esi # 4-byte Folded Reload771; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill772; X86-NEXT: movl %ecx, %eax773; X86-NEXT: movl %ecx, %ebx774; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload775; X86-NEXT: mull %ecx776; X86-NEXT: movl %edx, %esi777; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill778; X86-NEXT: movl %edi, %eax779; X86-NEXT: mull %ecx780; X86-NEXT: movl %edx, %ecx781; X86-NEXT: movl %eax, %edi782; X86-NEXT: addl %esi, %edi783; X86-NEXT: adcl $0, %ecx784; X86-NEXT: movl %ebx, %eax785; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload786; X86-NEXT: mull %ebx787; X86-NEXT: movl %edx, %esi788; X86-NEXT: addl %edi, %eax789; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill790; X86-NEXT: adcl %ecx, %esi791; X86-NEXT: setb %cl792; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload793; X86-NEXT: mull %ebx794; X86-NEXT: addl %esi, %eax795; X86-NEXT: movzbl %cl, %ecx796; X86-NEXT: adcl %ecx, %edx797; X86-NEXT: addl %ebp, %eax798; X86-NEXT: movl %eax, (%esp) # 4-byte Spill799; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload800; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill801; X86-NEXT: movl {{[0-9]+}}(%esp), %edi802; X86-NEXT: movl 56(%edi), %ecx803; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload804; X86-NEXT: movl %ebp, %eax805; X86-NEXT: mull %ecx806; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill807; X86-NEXT: imull {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload808; X86-NEXT: addl %edx, %ecx809; X86-NEXT: movl 60(%edi), %eax810; X86-NEXT: imull %ebp, %eax811; X86-NEXT: addl %eax, %ecx812; X86-NEXT: movl 48(%edi), %esi813; X86-NEXT: movl 52(%edi), %edi814; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload815; X86-NEXT: movl %eax, %ebx816; X86-NEXT: imull %edi, %ebx817; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill818; X86-NEXT: mull %esi819; X86-NEXT: addl %ebx, %edx820; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload821; X86-NEXT: imull %esi, %ebx822; X86-NEXT: addl %edx, %ebx823; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload824; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill825; X86-NEXT: adcl %ecx, %ebx826; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill827; X86-NEXT: movl %esi, %eax828; X86-NEXT: movl %ebp, %ecx829; X86-NEXT: mull %ebp830; X86-NEXT: movl %edx, %ebp831; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill832; X86-NEXT: movl %edi, %eax833; X86-NEXT: mull %ecx834; X86-NEXT: movl %edx, %ecx835; X86-NEXT: movl %eax, %ebx836; X86-NEXT: addl %ebp, %ebx837; X86-NEXT: adcl $0, %ecx838; X86-NEXT: movl %esi, %eax839; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload840; X86-NEXT: mull %edi841; X86-NEXT: movl %edx, %esi842; X86-NEXT: movl %eax, %ebp843; X86-NEXT: addl %ebx, %ebp844; X86-NEXT: adcl %ecx, %esi845; X86-NEXT: setb %cl846; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload847; X86-NEXT: mull %edi848; X86-NEXT: addl %esi, %eax849; X86-NEXT: movzbl %cl, %ecx850; X86-NEXT: adcl %ecx, %edx851; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload852; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload853; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload854; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload855; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload856; X86-NEXT: adcl (%esp), %eax # 4-byte Folded Reload857; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload858; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload859; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill860; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload861; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill862; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload863; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill864; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload865; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill866; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx867; X86-NEXT: movl 40(%ecx), %ebx868; X86-NEXT: movl %ebx, %eax869; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill870; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload871; X86-NEXT: mull %edi872; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill873; X86-NEXT: movl %edx, %esi874; X86-NEXT: movl 44(%ecx), %ebp875; X86-NEXT: movl %ebp, %eax876; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill877; X86-NEXT: mull %edi878; X86-NEXT: movl %edx, %ecx879; X86-NEXT: movl %eax, %edi880; X86-NEXT: addl %esi, %edi881; X86-NEXT: adcl $0, %ecx882; X86-NEXT: movl %ebx, %eax883; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload884; X86-NEXT: mull %ebx885; X86-NEXT: movl %edx, %esi886; X86-NEXT: addl %edi, %eax887; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill888; X86-NEXT: adcl %ecx, %esi889; X86-NEXT: setb %cl890; X86-NEXT: movl %ebp, %eax891; X86-NEXT: mull %ebx892; X86-NEXT: addl %esi, %eax893; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill894; X86-NEXT: movzbl %cl, %eax895; X86-NEXT: adcl %eax, %edx896; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill897; X86-NEXT: movl {{[0-9]+}}(%esp), %esi898; X86-NEXT: movl 32(%esi), %ebx899; X86-NEXT: movl %ebx, %eax900; X86-NEXT: movl %ebx, (%esp) # 4-byte Spill901; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload902; X86-NEXT: mull %ecx903; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill904; X86-NEXT: movl %edx, %edi905; X86-NEXT: movl 36(%esi), %ebp906; X86-NEXT: movl %ebp, %eax907; X86-NEXT: mull %ecx908; X86-NEXT: movl %edx, %ecx909; X86-NEXT: movl %eax, %esi910; X86-NEXT: addl %edi, %esi911; X86-NEXT: adcl $0, %ecx912; X86-NEXT: movl %ebx, %eax913; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload914; X86-NEXT: mull %edi915; X86-NEXT: movl %edx, %ebx916; X86-NEXT: addl %esi, %eax917; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill918; X86-NEXT: adcl %ecx, %ebx919; X86-NEXT: setb %cl920; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill921; X86-NEXT: movl %ebp, %eax922; X86-NEXT: mull %edi923; X86-NEXT: movl %eax, %esi924; X86-NEXT: addl %ebx, %esi925; X86-NEXT: movzbl %cl, %eax926; X86-NEXT: adcl %eax, %edx927; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload928; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload929; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill930; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill931; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill932; X86-NEXT: movl (%esp), %ecx # 4-byte Reload933; X86-NEXT: movl %ecx, %eax934; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload935; X86-NEXT: mull %ebx936; X86-NEXT: movl %edx, %edi937; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill938; X86-NEXT: movl %ebp, %eax939; X86-NEXT: mull %ebx940; X86-NEXT: movl %edx, %ebx941; X86-NEXT: movl %eax, %ebp942; X86-NEXT: addl %edi, %ebp943; X86-NEXT: adcl $0, %ebx944; X86-NEXT: movl %ecx, %eax945; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload946; X86-NEXT: mull %ecx947; X86-NEXT: movl %edx, %edi948; X86-NEXT: addl %ebp, %eax949; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill950; X86-NEXT: adcl %ebx, %edi951; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill952; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload953; X86-NEXT: mull %ecx954; X86-NEXT: movl %edx, %ebx955; X86-NEXT: movl %eax, %ebp956; X86-NEXT: addl %edi, %ebp957; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload958; X86-NEXT: adcl %eax, %ebx959; X86-NEXT: addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill960; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload961; X86-NEXT: adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill962; X86-NEXT: adcl $0, %ebp963; X86-NEXT: adcl $0, %ebx964; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload965; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload966; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill967; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload968; X86-NEXT: movl %esi, %eax969; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload970; X86-NEXT: mull %ecx971; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill972; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill973; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload974; X86-NEXT: mull %ecx975; X86-NEXT: movl %edx, %ecx976; X86-NEXT: movl %eax, %edi977; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload978; X86-NEXT: adcl $0, %ecx979; X86-NEXT: movl %esi, %eax980; X86-NEXT: mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload981; X86-NEXT: movl %edx, %esi982; X86-NEXT: addl %edi, %eax983; X86-NEXT: movl %eax, %edi984; X86-NEXT: adcl %ecx, %esi985; X86-NEXT: setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill986; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload987; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload988; X86-NEXT: mull %ecx989; X86-NEXT: addl %esi, %eax990; X86-NEXT: movl %eax, %esi991; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload992; X86-NEXT: adcl %eax, %edx993; X86-NEXT: addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill994; X86-NEXT: adcl %ebx, %edi995; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill996; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload997; X86-NEXT: adcl %eax, %esi998; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill999; X86-NEXT: adcl $0, %edx1000; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1001; X86-NEXT: movl {{[0-9]+}}(%esp), %esi1002; X86-NEXT: movl 48(%esi), %edi1003; X86-NEXT: imull %edi, %ecx1004; X86-NEXT: movl %edi, %eax1005; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload1006; X86-NEXT: mull %ebx1007; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1008; X86-NEXT: addl %ecx, %edx1009; X86-NEXT: movl 52(%esi), %eax1010; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1011; X86-NEXT: imull %eax, %ebx1012; X86-NEXT: addl %edx, %ebx1013; X86-NEXT: movl 56(%esi), %eax1014; X86-NEXT: movl %eax, %esi1015; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload1016; X86-NEXT: imull %ebp, %esi1017; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload1018; X86-NEXT: mull %ecx1019; X86-NEXT: addl %esi, %edx1020; X86-NEXT: movl {{[0-9]+}}(%esp), %esi1021; X86-NEXT: movl 60(%esi), %esi1022; X86-NEXT: imull %ecx, %esi1023; X86-NEXT: addl %edx, %esi1024; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1025; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1026; X86-NEXT: adcl %ebx, %esi1027; X86-NEXT: movl %ecx, %eax1028; X86-NEXT: mull %edi1029; X86-NEXT: movl %edx, %ecx1030; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1031; X86-NEXT: movl %ebp, %eax1032; X86-NEXT: mull %edi1033; X86-NEXT: movl %edx, %ebp1034; X86-NEXT: movl %eax, %ebx1035; X86-NEXT: addl %ecx, %ebx1036; X86-NEXT: adcl $0, %ebp1037; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload1038; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload1039; X86-NEXT: mull %ecx1040; X86-NEXT: movl %edx, %edi1041; X86-NEXT: addl %ebx, %eax1042; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1043; X86-NEXT: adcl %ebp, %edi1044; X86-NEXT: setb %bl1045; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload1046; X86-NEXT: mull %ecx1047; X86-NEXT: addl %edi, %eax1048; X86-NEXT: movzbl %bl, %ecx1049; X86-NEXT: adcl %ecx, %edx1050; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1051; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1052; X86-NEXT: adcl %esi, %edx1053; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1054; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload1055; X86-NEXT: movl (%esp), %esi # 4-byte Reload1056; X86-NEXT: imull %esi, %ecx1057; X86-NEXT: movl %esi, %eax1058; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload1059; X86-NEXT: mull %edi1060; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1061; X86-NEXT: addl %ecx, %edx1062; X86-NEXT: imull {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload1063; X86-NEXT: addl %edx, %edi1064; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload1065; X86-NEXT: movl %eax, %ecx1066; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload1067; X86-NEXT: imull %ebx, %ecx1068; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload1069; X86-NEXT: mull %ebp1070; X86-NEXT: addl %ecx, %edx1071; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload1072; X86-NEXT: imull %ebp, %ecx1073; X86-NEXT: addl %edx, %ecx1074; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1075; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1076; X86-NEXT: adcl %edi, %ecx1077; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1078; X86-NEXT: movl %ebp, %eax1079; X86-NEXT: mull %esi1080; X86-NEXT: movl %edx, %ecx1081; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1082; X86-NEXT: movl %ebx, %eax1083; X86-NEXT: mull %esi1084; X86-NEXT: movl %edx, %ebx1085; X86-NEXT: movl %eax, %esi1086; X86-NEXT: addl %ecx, %esi1087; X86-NEXT: adcl $0, %ebx1088; X86-NEXT: movl %ebp, %eax1089; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload1090; X86-NEXT: mull %ebp1091; X86-NEXT: movl %edx, %ecx1092; X86-NEXT: movl %eax, %edi1093; X86-NEXT: addl %esi, %edi1094; X86-NEXT: adcl %ebx, %ecx1095; X86-NEXT: setb %bl1096; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload1097; X86-NEXT: mull %ebp1098; X86-NEXT: addl %ecx, %eax1099; X86-NEXT: movzbl %bl, %ecx1100; X86-NEXT: adcl %ecx, %edx1101; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1102; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload1103; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload1104; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload1105; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload1106; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1107; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload1108; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload1109; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1110; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload1111; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1112; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload1113; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload1114; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload1115; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload1116; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload1117; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1118; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload1119; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload1120; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload1121; X86-NEXT: movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1122; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload1123; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload1124; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload1125; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1126; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload1127; X86-NEXT: addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload1128; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1129; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload1130; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1131; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload1132; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill1133; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload1134; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload1135; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload1136; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload1137; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload1138; X86-NEXT: adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload1139; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx1140; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1141; X86-NEXT: movl %esi, (%ecx)1142; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1143; X86-NEXT: movl %esi, 4(%ecx)1144; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1145; X86-NEXT: movl %esi, 8(%ecx)1146; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1147; X86-NEXT: movl %esi, 12(%ecx)1148; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1149; X86-NEXT: movl %esi, 16(%ecx)1150; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1151; X86-NEXT: movl %esi, 20(%ecx)1152; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1153; X86-NEXT: movl %esi, 24(%ecx)1154; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1155; X86-NEXT: movl %esi, 28(%ecx)1156; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1157; X86-NEXT: movl %esi, 32(%ecx)1158; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1159; X86-NEXT: movl %esi, 36(%ecx)1160; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload1161; X86-NEXT: movl %esi, 40(%ecx)1162; X86-NEXT: movl %ebx, 44(%ecx)1163; X86-NEXT: movl %ebp, 48(%ecx)1164; X86-NEXT: movl %edi, 52(%ecx)1165; X86-NEXT: movl %eax, 56(%ecx)1166; X86-NEXT: movl %edx, 60(%ecx)1167; X86-NEXT: addl $180, %esp1168; X86-NEXT: popl %esi1169; X86-NEXT: popl %edi1170; X86-NEXT: popl %ebx1171; X86-NEXT: popl %ebp1172; X86-NEXT: retl1173;1174; X64-LABEL: test_512:1175; X64: # %bb.0:1176; X64-NEXT: pushq %rbp1177; X64-NEXT: pushq %r151178; X64-NEXT: pushq %r141179; X64-NEXT: pushq %r131180; X64-NEXT: pushq %r121181; X64-NEXT: pushq %rbx1182; X64-NEXT: pushq %rax1183; X64-NEXT: movq %rdx, (%rsp) # 8-byte Spill1184; X64-NEXT: movq %rdi, %rax1185; X64-NEXT: movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1186; X64-NEXT: movq (%rdi), %rbx1187; X64-NEXT: movq 8(%rdi), %rdi1188; X64-NEXT: movq 24(%rax), %r141189; X64-NEXT: movq 16(%rax), %rax1190; X64-NEXT: movq (%rsi), %r81191; X64-NEXT: movq 8(%rsi), %r111192; X64-NEXT: movq %rsi, %r131193; X64-NEXT: movq %rax, %rsi1194; X64-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1195; X64-NEXT: mulq %r81196; X64-NEXT: movq %rdx, %rcx1197; X64-NEXT: movq %rax, %rbp1198; X64-NEXT: movq %r14, %rax1199; X64-NEXT: movq %r14, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1200; X64-NEXT: mulq %r81201; X64-NEXT: movq %rdx, %r91202; X64-NEXT: movq %rax, %r101203; X64-NEXT: addq %rcx, %r101204; X64-NEXT: adcq $0, %r91205; X64-NEXT: movq %rsi, %rax1206; X64-NEXT: mulq %r111207; X64-NEXT: movq %rdx, %rcx1208; X64-NEXT: movq %rax, %r151209; X64-NEXT: addq %r10, %r151210; X64-NEXT: adcq %r9, %rcx1211; X64-NEXT: setb %al1212; X64-NEXT: movzbl %al, %esi1213; X64-NEXT: movq %r14, %rax1214; X64-NEXT: movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1215; X64-NEXT: mulq %r111216; X64-NEXT: movq %rax, %r91217; X64-NEXT: addq %rcx, %r91218; X64-NEXT: adcq %rsi, %rdx1219; X64-NEXT: movq %rdx, %r121220; X64-NEXT: movq %rbx, %rsi1221; X64-NEXT: movq %rbx, %rax1222; X64-NEXT: movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1223; X64-NEXT: mulq %r81224; X64-NEXT: movq %rdx, %rcx1225; X64-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1226; X64-NEXT: movq %rdi, %rax1227; X64-NEXT: mulq %r81228; X64-NEXT: movq %rdx, %rbx1229; X64-NEXT: movq %rax, %r141230; X64-NEXT: addq %rcx, %r141231; X64-NEXT: adcq $0, %rbx1232; X64-NEXT: movq %rsi, %rax1233; X64-NEXT: movq %rsi, %r81234; X64-NEXT: mulq %r111235; X64-NEXT: movq %rdx, %rcx1236; X64-NEXT: addq %r14, %rax1237; X64-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1238; X64-NEXT: adcq %rbx, %rcx1239; X64-NEXT: setb %sil1240; X64-NEXT: movq %rdi, %rax1241; X64-NEXT: mulq %r111242; X64-NEXT: movq %rdx, %r141243; X64-NEXT: movq %rax, %rbx1244; X64-NEXT: addq %rcx, %rbx1245; X64-NEXT: movzbl %sil, %eax1246; X64-NEXT: adcq %rax, %r141247; X64-NEXT: addq %rbp, %rbx1248; X64-NEXT: adcq %r15, %r141249; X64-NEXT: adcq $0, %r91250; X64-NEXT: adcq $0, %r121251; X64-NEXT: movq %r12, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1252; X64-NEXT: movq %r13, %rsi1253; X64-NEXT: movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1254; X64-NEXT: movq 16(%r13), %r101255; X64-NEXT: movq %r8, %rax1256; X64-NEXT: movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1257; X64-NEXT: mulq %r101258; X64-NEXT: movq %rdx, %rcx1259; X64-NEXT: movq %rax, %r131260; X64-NEXT: movq %rdi, %rax1261; X64-NEXT: movq %rdi, %r121262; X64-NEXT: movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1263; X64-NEXT: mulq %r101264; X64-NEXT: movq %rdx, %r151265; X64-NEXT: movq %rax, %rbp1266; X64-NEXT: addq %rcx, %rbp1267; X64-NEXT: adcq $0, %r151268; X64-NEXT: movq 24(%rsi), %rsi1269; X64-NEXT: movq %r8, %rax1270; X64-NEXT: mulq %rsi1271; X64-NEXT: movq %rdx, %rcx1272; X64-NEXT: movq %rax, %r111273; X64-NEXT: addq %rbp, %r111274; X64-NEXT: adcq %r15, %rcx1275; X64-NEXT: setb %dil1276; X64-NEXT: movq %r12, %rax1277; X64-NEXT: mulq %rsi1278; X64-NEXT: movq %rdx, %r151279; X64-NEXT: movq %rax, %rbp1280; X64-NEXT: addq %rcx, %rbp1281; X64-NEXT: movzbl %dil, %eax1282; X64-NEXT: adcq %rax, %r151283; X64-NEXT: addq %rbx, %r131284; X64-NEXT: movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1285; X64-NEXT: adcq %r14, %r111286; X64-NEXT: movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1287; X64-NEXT: adcq $0, %rbp1288; X64-NEXT: adcq $0, %r151289; X64-NEXT: addq %r9, %rbp1290; X64-NEXT: adcq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Folded Reload1291; X64-NEXT: setb %dil1292; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload1293; X64-NEXT: movq %r8, %rax1294; X64-NEXT: mulq %r101295; X64-NEXT: movq %rdx, %rcx1296; X64-NEXT: movq %rax, %r111297; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload1298; X64-NEXT: movq %r14, %rax1299; X64-NEXT: mulq %r101300; X64-NEXT: movq %rdx, %r91301; X64-NEXT: movq %rax, %rbx1302; X64-NEXT: addq %rcx, %rbx1303; X64-NEXT: adcq $0, %r91304; X64-NEXT: movq %r8, %rax1305; X64-NEXT: mulq %rsi1306; X64-NEXT: movq %rdx, %rcx1307; X64-NEXT: addq %rbx, %rax1308; X64-NEXT: movq %rax, %rbx1309; X64-NEXT: adcq %r9, %rcx1310; X64-NEXT: setb %r8b1311; X64-NEXT: movq %r14, %rax1312; X64-NEXT: mulq %rsi1313; X64-NEXT: addq %rcx, %rax1314; X64-NEXT: movq %rax, %rcx1315; X64-NEXT: movzbl %r8b, %eax1316; X64-NEXT: adcq %rax, %rdx1317; X64-NEXT: addq %rbp, %r111318; X64-NEXT: movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1319; X64-NEXT: adcq %r15, %rbx1320; X64-NEXT: movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1321; X64-NEXT: movzbl %dil, %eax1322; X64-NEXT: adcq %rax, %rcx1323; X64-NEXT: movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1324; X64-NEXT: adcq $0, %rdx1325; X64-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1326; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload1327; X64-NEXT: movq 32(%r8), %r151328; X64-NEXT: imulq %r15, %rsi1329; X64-NEXT: movq %r15, %rax1330; X64-NEXT: mulq %r101331; X64-NEXT: movq %rax, %rcx1332; X64-NEXT: addq %rsi, %rdx1333; X64-NEXT: movq 40(%r8), %rsi1334; X64-NEXT: imulq %rsi, %r101335; X64-NEXT: addq %rdx, %r101336; X64-NEXT: movq 48(%r8), %rax1337; X64-NEXT: movq %rax, %rdi1338; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload1339; X64-NEXT: imulq %r9, %rdi1340; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload1341; X64-NEXT: mulq %r111342; X64-NEXT: movq %rax, %rbx1343; X64-NEXT: addq %rdi, %rdx1344; X64-NEXT: movq 56(%r8), %r81345; X64-NEXT: imulq %r11, %r81346; X64-NEXT: addq %rdx, %r81347; X64-NEXT: addq %rcx, %rbx1348; X64-NEXT: adcq %r10, %r81349; X64-NEXT: movq %r11, %rax1350; X64-NEXT: mulq %r151351; X64-NEXT: movq %rdx, %rcx1352; X64-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1353; X64-NEXT: movq %r9, %rax1354; X64-NEXT: mulq %r151355; X64-NEXT: movq %rdx, %rdi1356; X64-NEXT: movq %rax, %r151357; X64-NEXT: addq %rcx, %r151358; X64-NEXT: adcq $0, %rdi1359; X64-NEXT: movq %r11, %rax1360; X64-NEXT: mulq %rsi1361; X64-NEXT: movq %rdx, %rcx1362; X64-NEXT: movq %rax, %r131363; X64-NEXT: addq %r15, %r131364; X64-NEXT: adcq %rdi, %rcx1365; X64-NEXT: setb %dil1366; X64-NEXT: movq %r9, %rax1367; X64-NEXT: mulq %rsi1368; X64-NEXT: movq %rdx, %r121369; X64-NEXT: movq %rax, %r101370; X64-NEXT: addq %rcx, %r101371; X64-NEXT: movzbl %dil, %eax1372; X64-NEXT: adcq %rax, %r121373; X64-NEXT: addq %rbx, %r101374; X64-NEXT: adcq %r8, %r121375; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload1376; X64-NEXT: movq 48(%r8), %rsi1377; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1378; X64-NEXT: movq %rdi, %rax1379; X64-NEXT: mulq %rsi1380; X64-NEXT: movq %rax, %rcx1381; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload1382; X64-NEXT: imulq %r14, %rsi1383; X64-NEXT: addq %rdx, %rsi1384; X64-NEXT: movq %r8, %rdx1385; X64-NEXT: movq 56(%r8), %rax1386; X64-NEXT: imulq %rdi, %rax1387; X64-NEXT: movq %rdi, %r81388; X64-NEXT: addq %rax, %rsi1389; X64-NEXT: movq 32(%rdx), %rbp1390; X64-NEXT: movq 40(%rdx), %r91391; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload1392; X64-NEXT: movq %rax, %rdi1393; X64-NEXT: imulq %r9, %rdi1394; X64-NEXT: mulq %rbp1395; X64-NEXT: movq %rax, %rbx1396; X64-NEXT: addq %rdi, %rdx1397; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload1398; X64-NEXT: imulq %rbp, %r111399; X64-NEXT: addq %rdx, %r111400; X64-NEXT: addq %rcx, %rbx1401; X64-NEXT: adcq %rsi, %r111402; X64-NEXT: movq %rbp, %rax1403; X64-NEXT: mulq %r81404; X64-NEXT: movq %rdx, %rcx1405; X64-NEXT: movq %rax, %rsi1406; X64-NEXT: movq %r9, %rax1407; X64-NEXT: mulq %r81408; X64-NEXT: movq %rdx, %r151409; X64-NEXT: movq %rax, %rdi1410; X64-NEXT: addq %rcx, %rdi1411; X64-NEXT: adcq $0, %r151412; X64-NEXT: movq %rbp, %rax1413; X64-NEXT: mulq %r141414; X64-NEXT: movq %rdx, %rcx1415; X64-NEXT: movq %rax, %r81416; X64-NEXT: addq %rdi, %r81417; X64-NEXT: adcq %r15, %rcx1418; X64-NEXT: setb %dil1419; X64-NEXT: movq %r9, %rax1420; X64-NEXT: mulq %r141421; X64-NEXT: addq %rcx, %rax1422; X64-NEXT: movzbl %dil, %ecx1423; X64-NEXT: adcq %rcx, %rdx1424; X64-NEXT: addq %rbx, %rax1425; X64-NEXT: adcq %r11, %rdx1426; X64-NEXT: addq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload1427; X64-NEXT: adcq %r13, %r81428; X64-NEXT: adcq %r10, %rax1429; X64-NEXT: adcq %r12, %rdx1430; X64-NEXT: addq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload1431; X64-NEXT: adcq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Folded Reload1432; X64-NEXT: adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload1433; X64-NEXT: adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload1434; X64-NEXT: movq (%rsp), %rcx # 8-byte Reload1435; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1436; X64-NEXT: movq %rdi, (%rcx)1437; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1438; X64-NEXT: movq %rdi, 8(%rcx)1439; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1440; X64-NEXT: movq %rdi, 16(%rcx)1441; X64-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1442; X64-NEXT: movq %rdi, 24(%rcx)1443; X64-NEXT: movq %rsi, 32(%rcx)1444; X64-NEXT: movq %r8, 40(%rcx)1445; X64-NEXT: movq %rax, 48(%rcx)1446; X64-NEXT: movq %rdx, 56(%rcx)1447; X64-NEXT: addq $8, %rsp1448; X64-NEXT: popq %rbx1449; X64-NEXT: popq %r121450; X64-NEXT: popq %r131451; X64-NEXT: popq %r141452; X64-NEXT: popq %r151453; X64-NEXT: popq %rbp1454; X64-NEXT: retq1455 %av = load i512, ptr %a1456 %bv = load i512, ptr %b1457 %r = mul i512 %av, %bv1458 store i512 %r, ptr %out1459 ret void1460}1461