brintos

brintos / llvm-project-archived public Read only

0
0
Text · 65.6 KiB · 0bb3b17 Raw
1891 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+egpr | FileCheck %s --check-prefix=EGPR3; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+egpr,+ndd | FileCheck %s --check-prefix=EGPR-NDD4 5define void @test_1024(ptr %a, ptr %b, ptr %out) nounwind {6; EGPR-LABEL: test_1024:7; EGPR:       # %bb.0:8; EGPR-NEXT:    pushq %rbp9; EGPR-NEXT:    pushq %r1510; EGPR-NEXT:    pushq %r1411; EGPR-NEXT:    pushq %r1312; EGPR-NEXT:    pushq %r1213; EGPR-NEXT:    pushq %rbx14; EGPR-NEXT:    subq $104, %rsp15; EGPR-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill16; EGPR-NEXT:    movq %rdi, %r2617; EGPR-NEXT:    movq (%rdi), %r1318; EGPR-NEXT:    movq 8(%rdi), %r1819; EGPR-NEXT:    movq 24(%rdi), %r2120; EGPR-NEXT:    movq 16(%rdi), %r1721; EGPR-NEXT:    movq 40(%rdi), %rdi22; EGPR-NEXT:    movq 32(%r26), %r1023; EGPR-NEXT:    movq 56(%r26), %r1524; EGPR-NEXT:    movq 48(%r26), %r1225; EGPR-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill26; EGPR-NEXT:    movq 24(%rsi), %r2527; EGPR-NEXT:    movq 16(%rsi), %r1128; EGPR-NEXT:    movq (%rsi), %r3129; EGPR-NEXT:    movq 8(%rsi), %r1430; EGPR-NEXT:    movq %r12, %rax31; EGPR-NEXT:    mulq %r3132; EGPR-NEXT:    movq %rdx, %r833; EGPR-NEXT:    movq %rax, %r1934; EGPR-NEXT:    movq %r15, %rax35; EGPR-NEXT:    mulq %r3136; EGPR-NEXT:    movq %rdx, %r937; EGPR-NEXT:    movq %rax, %r1638; EGPR-NEXT:    addq %r8, %r1639; EGPR-NEXT:    adcq $0, %r940; EGPR-NEXT:    movq %r12, %rax41; EGPR-NEXT:    mulq %r1442; EGPR-NEXT:    movq %rdx, %r2243; EGPR-NEXT:    movq %rax, %r844; EGPR-NEXT:    addq %r16, %r845; EGPR-NEXT:    adcq %r9, %r2246; EGPR-NEXT:    setb %al47; EGPR-NEXT:    movzbl %al, %ecx48; EGPR-NEXT:    movq %r15, %rax49; EGPR-NEXT:    mulq %r1450; EGPR-NEXT:    movq %rdx, %r951; EGPR-NEXT:    movq %rax, %r1652; EGPR-NEXT:    addq %r22, %r1653; EGPR-NEXT:    adcq %rcx, %r954; EGPR-NEXT:    movq %r10, %rax55; EGPR-NEXT:    mulq %r3156; EGPR-NEXT:    movq %rdx, %r2257; EGPR-NEXT:    movq %rax, %r2758; EGPR-NEXT:    movq %rdi, %rax59; EGPR-NEXT:    mulq %r3160; EGPR-NEXT:    movq %rdx, %r2361; EGPR-NEXT:    movq %rax, %r2462; EGPR-NEXT:    addq %r22, %r2463; EGPR-NEXT:    adcq $0, %r2364; EGPR-NEXT:    movq %r10, %rax65; EGPR-NEXT:    mulq %r1466; EGPR-NEXT:    movq %rdx, %r2267; EGPR-NEXT:    movq %rax, %r2068; EGPR-NEXT:    addq %r24, %r2069; EGPR-NEXT:    adcq %r23, %r2270; EGPR-NEXT:    setb %al71; EGPR-NEXT:    movzbl %al, %ecx72; EGPR-NEXT:    movq %rdi, %rax73; EGPR-NEXT:    mulq %r1474; EGPR-NEXT:    movq %rdx, %r2375; EGPR-NEXT:    movq %rax, %r2476; EGPR-NEXT:    addq %r22, %r2477; EGPR-NEXT:    adcq %rcx, %r2378; EGPR-NEXT:    addq %r19, %r2479; EGPR-NEXT:    adcq %r8, %r2380; EGPR-NEXT:    adcq $0, %r1681; EGPR-NEXT:    adcq $0, %r982; EGPR-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill83; EGPR-NEXT:    movq %r10, %rax84; EGPR-NEXT:    mulq %r1185; EGPR-NEXT:    movq %rdx, %r886; EGPR-NEXT:    movq %rax, %r2887; EGPR-NEXT:    movq %rdi, %rax88; EGPR-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill89; EGPR-NEXT:    mulq %r1190; EGPR-NEXT:    movq %rdx, %r1991; EGPR-NEXT:    movq %rax, %r2292; EGPR-NEXT:    addq %r8, %r2293; EGPR-NEXT:    adcq $0, %r1994; EGPR-NEXT:    movq %r10, %rax95; EGPR-NEXT:    mulq %r2596; EGPR-NEXT:    movq %rdx, %rbx97; EGPR-NEXT:    movq %rax, %r2998; EGPR-NEXT:    addq %r22, %r2999; EGPR-NEXT:    adcq %r19, %rbx100; EGPR-NEXT:    setb %al101; EGPR-NEXT:    movzbl %al, %ecx102; EGPR-NEXT:    movq %rdi, %rax103; EGPR-NEXT:    mulq %r25104; EGPR-NEXT:    movq %rdx, %r30105; EGPR-NEXT:    movq %rax, %r8106; EGPR-NEXT:    addq %rbx, %r8107; EGPR-NEXT:    adcq %rcx, %r30108; EGPR-NEXT:    addq %r24, %r28109; EGPR-NEXT:    adcq %r23, %r29110; EGPR-NEXT:    adcq $0, %r8111; EGPR-NEXT:    adcq $0, %r30112; EGPR-NEXT:    addq %r16, %r8113; EGPR-NEXT:    adcq %r9, %r30114; EGPR-NEXT:    setb %al115; EGPR-NEXT:    movzbl %al, %ecx116; EGPR-NEXT:    movq %r12, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill117; EGPR-NEXT:    movq %r12, %rax118; EGPR-NEXT:    mulq %r11119; EGPR-NEXT:    movq %rdx, %r9120; EGPR-NEXT:    movq %rax, %rsi121; EGPR-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill122; EGPR-NEXT:    movq %r15, %rax123; EGPR-NEXT:    mulq %r11124; EGPR-NEXT:    movq %rdx, %r16125; EGPR-NEXT:    movq %rax, %r23126; EGPR-NEXT:    addq %r9, %r23127; EGPR-NEXT:    adcq $0, %r16128; EGPR-NEXT:    movq %r12, %rax129; EGPR-NEXT:    mulq %r25130; EGPR-NEXT:    movq %rdx, %r9131; EGPR-NEXT:    movq %rax, %rdi132; EGPR-NEXT:    addq %r23, %rdi133; EGPR-NEXT:    adcq %r16, %r9134; EGPR-NEXT:    setb %al135; EGPR-NEXT:    movzbl %al, %r10d136; EGPR-NEXT:    movq %r15, %rax137; EGPR-NEXT:    mulq %r25138; EGPR-NEXT:    movq %rdx, %r23139; EGPR-NEXT:    movq %rax, %r24140; EGPR-NEXT:    addq %r9, %r24141; EGPR-NEXT:    adcq %r10, %r23142; EGPR-NEXT:    addq %r8, %rsi143; EGPR-NEXT:    movq %rsi, %r19144; EGPR-NEXT:    adcq %r30, %rdi145; EGPR-NEXT:    adcq %rcx, %r24146; EGPR-NEXT:    adcq $0, %r23147; EGPR-NEXT:    movq %r17, %rax148; EGPR-NEXT:    mulq %r31149; EGPR-NEXT:    movq %rdx, %r8150; EGPR-NEXT:    movq %rax, %rbx151; EGPR-NEXT:    movq %r21, %rax152; EGPR-NEXT:    mulq %r31153; EGPR-NEXT:    movq %rdx, %r9154; EGPR-NEXT:    movq %rax, %r16155; EGPR-NEXT:    addq %r8, %r16156; EGPR-NEXT:    adcq $0, %r9157; EGPR-NEXT:    movq %r17, %rax158; EGPR-NEXT:    mulq %r14159; EGPR-NEXT:    movq %rdx, %r8160; EGPR-NEXT:    movq %rax, %r30161; EGPR-NEXT:    addq %r16, %r30162; EGPR-NEXT:    adcq %r9, %r8163; EGPR-NEXT:    setb %al164; EGPR-NEXT:    movzbl %al, %ecx165; EGPR-NEXT:    movq %r21, %rax166; EGPR-NEXT:    mulq %r14167; EGPR-NEXT:    movq %r14, %rsi168; EGPR-NEXT:    movq %rdx, %r9169; EGPR-NEXT:    movq %rax, %r16170; EGPR-NEXT:    addq %r8, %r16171; EGPR-NEXT:    adcq %rcx, %r9172; EGPR-NEXT:    movq %r13, %rax173; EGPR-NEXT:    mulq %r31174; EGPR-NEXT:    movq %rdx, %r8175; EGPR-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill176; EGPR-NEXT:    movq %r18, %rax177; EGPR-NEXT:    mulq %r31178; EGPR-NEXT:    movq %rdx, %r14179; EGPR-NEXT:    movq %rax, %r15180; EGPR-NEXT:    addq %r8, %r15181; EGPR-NEXT:    adcq $0, %r14182; EGPR-NEXT:    movq %r13, %rax183; EGPR-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill184; EGPR-NEXT:    mulq %rsi185; EGPR-NEXT:    movq %rdx, %r12186; EGPR-NEXT:    addq %r15, %rax187; EGPR-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill188; EGPR-NEXT:    adcq %r14, %r12189; EGPR-NEXT:    setb %cl190; EGPR-NEXT:    movq %r18, %rax191; EGPR-NEXT:    mulq %rsi192; EGPR-NEXT:    movq %rdx, %r8193; EGPR-NEXT:    movq %rax, %r15194; EGPR-NEXT:    addq %r12, %r15195; EGPR-NEXT:    movzbl %cl, %eax196; EGPR-NEXT:    adcq %rax, %r8197; EGPR-NEXT:    addq %rbx, %r15198; EGPR-NEXT:    adcq %r30, %r8199; EGPR-NEXT:    adcq $0, %r16200; EGPR-NEXT:    adcq $0, %r9201; EGPR-NEXT:    movq %r13, %rax202; EGPR-NEXT:    mulq %r11203; EGPR-NEXT:    movq %rdx, %r30204; EGPR-NEXT:    movq %rax, %rsi205; EGPR-NEXT:    movq %r18, %rax206; EGPR-NEXT:    mulq %r11207; EGPR-NEXT:    movq %rdx, %rbx208; EGPR-NEXT:    movq %rax, %r14209; EGPR-NEXT:    addq %r30, %r14210; EGPR-NEXT:    adcq $0, %rbx211; EGPR-NEXT:    movq %r13, %rax212; EGPR-NEXT:    mulq %r25213; EGPR-NEXT:    movq %rdx, %r12214; EGPR-NEXT:    addq %r14, %rax215; EGPR-NEXT:    movq %rax, %r10216; EGPR-NEXT:    adcq %rbx, %r12217; EGPR-NEXT:    setb %cl218; EGPR-NEXT:    movq %r18, %rax219; EGPR-NEXT:    mulq %r25220; EGPR-NEXT:    movq %rdx, %r14221; EGPR-NEXT:    movq %rax, %r30222; EGPR-NEXT:    addq %r12, %r30223; EGPR-NEXT:    movzbl %cl, %eax224; EGPR-NEXT:    adcq %rax, %r14225; EGPR-NEXT:    addq %r15, %rsi226; EGPR-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill227; EGPR-NEXT:    adcq %r8, %r10228; EGPR-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill229; EGPR-NEXT:    adcq $0, %r30230; EGPR-NEXT:    adcq $0, %r14231; EGPR-NEXT:    addq %r16, %r30232; EGPR-NEXT:    adcq %r9, %r14233; EGPR-NEXT:    setb %cl234; EGPR-NEXT:    movq %r17, %rax235; EGPR-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill236; EGPR-NEXT:    mulq %r11237; EGPR-NEXT:    movq %rdx, %r8238; EGPR-NEXT:    movq %rax, %rbx239; EGPR-NEXT:    movq %r21, %rax240; EGPR-NEXT:    mulq %r11241; EGPR-NEXT:    movq %rdx, %r9242; EGPR-NEXT:    movq %rax, %r16243; EGPR-NEXT:    addq %r8, %r16244; EGPR-NEXT:    adcq $0, %r9245; EGPR-NEXT:    movq %r17, %rax246; EGPR-NEXT:    mulq %r25247; EGPR-NEXT:    movq %rdx, %r8248; EGPR-NEXT:    movq %rax, %r15249; EGPR-NEXT:    addq %r16, %r15250; EGPR-NEXT:    adcq %r9, %r8251; EGPR-NEXT:    setb %r9b252; EGPR-NEXT:    movq %r21, %rax253; EGPR-NEXT:    mulq %r25254; EGPR-NEXT:    movq %rdx, %r12255; EGPR-NEXT:    movq %rax, %rbp256; EGPR-NEXT:    addq %r8, %rbp257; EGPR-NEXT:    movzbl %r9b, %eax258; EGPR-NEXT:    adcq %rax, %r12259; EGPR-NEXT:    addq %r30, %rbx260; EGPR-NEXT:    adcq %r14, %r15261; EGPR-NEXT:    movzbl %cl, %eax262; EGPR-NEXT:    adcq %rax, %rbp263; EGPR-NEXT:    adcq $0, %r12264; EGPR-NEXT:    addq %r27, %rbx265; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload266; EGPR-NEXT:    movq 32(%rsi), %r27267; EGPR-NEXT:    adcq %r20, %r15268; EGPR-NEXT:    adcq %r28, %rbp269; EGPR-NEXT:    adcq %r29, %r12270; EGPR-NEXT:    adcq $0, %r19271; EGPR-NEXT:    movq %r19, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill272; EGPR-NEXT:    adcq $0, %rdi273; EGPR-NEXT:    adcq $0, %r24274; EGPR-NEXT:    adcq $0, %r23275; EGPR-NEXT:    movq %r17, %rax276; EGPR-NEXT:    mulq %r27277; EGPR-NEXT:    movq %rdx, %r8278; EGPR-NEXT:    movq %rax, %r20279; EGPR-NEXT:    movq %r21, %rax280; EGPR-NEXT:    mulq %r27281; EGPR-NEXT:    movq %rdx, %r9282; EGPR-NEXT:    movq %rax, %r16283; EGPR-NEXT:    addq %r8, %r16284; EGPR-NEXT:    adcq $0, %r9285; EGPR-NEXT:    movq 40(%rsi), %rcx286; EGPR-NEXT:    movq %r17, %rax287; EGPR-NEXT:    mulq %rcx288; EGPR-NEXT:    movq %rdx, %r8289; EGPR-NEXT:    movq %rax, %r30290; EGPR-NEXT:    addq %r16, %r30291; EGPR-NEXT:    adcq %r9, %r8292; EGPR-NEXT:    setb %r10b293; EGPR-NEXT:    movq %r21, %rax294; EGPR-NEXT:    mulq %rcx295; EGPR-NEXT:    movq %rdx, %r9296; EGPR-NEXT:    movq %rax, %r16297; EGPR-NEXT:    addq %r8, %r16298; EGPR-NEXT:    movzbl %r10b, %eax299; EGPR-NEXT:    adcq %rax, %r9300; EGPR-NEXT:    movq %r13, %rax301; EGPR-NEXT:    mulq %r27302; EGPR-NEXT:    movq %rdx, %r8303; EGPR-NEXT:    movq %rax, %r19304; EGPR-NEXT:    movq %r18, %rax305; EGPR-NEXT:    mulq %r27306; EGPR-NEXT:    movq %rdx, %r28307; EGPR-NEXT:    movq %rax, %r29308; EGPR-NEXT:    addq %r8, %r29309; EGPR-NEXT:    adcq $0, %r28310; EGPR-NEXT:    movq %r13, %rax311; EGPR-NEXT:    mulq %rcx312; EGPR-NEXT:    movq %rdx, %r8313; EGPR-NEXT:    movq %rax, %r22314; EGPR-NEXT:    addq %r29, %r22315; EGPR-NEXT:    adcq %r28, %r8316; EGPR-NEXT:    setb %r10b317; EGPR-NEXT:    movq %r18, %rax318; EGPR-NEXT:    mulq %rcx319; EGPR-NEXT:    movq %rdx, %r28320; EGPR-NEXT:    movq %rax, %r29321; EGPR-NEXT:    addq %r8, %r29322; EGPR-NEXT:    movzbl %r10b, %eax323; EGPR-NEXT:    adcq %rax, %r28324; EGPR-NEXT:    addq %r20, %r29325; EGPR-NEXT:    adcq %r30, %r28326; EGPR-NEXT:    adcq $0, %r16327; EGPR-NEXT:    adcq $0, %r9328; EGPR-NEXT:    movq 48(%rsi), %r20329; EGPR-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill330; EGPR-NEXT:    movq %r13, %rax331; EGPR-NEXT:    mulq %r20332; EGPR-NEXT:    movq %rdx, %r8333; EGPR-NEXT:    movq %rax, %r11334; EGPR-NEXT:    movq %r18, %rax335; EGPR-NEXT:    movq %r18, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill336; EGPR-NEXT:    mulq %r20337; EGPR-NEXT:    movq %rdx, %r30338; EGPR-NEXT:    movq %rax, %r14339; EGPR-NEXT:    addq %r8, %r14340; EGPR-NEXT:    adcq $0, %r30341; EGPR-NEXT:    movq 56(%rsi), %r10342; EGPR-NEXT:    movq %r13, %rax343; EGPR-NEXT:    mulq %r10344; EGPR-NEXT:    movq %rdx, %r13345; EGPR-NEXT:    addq %r14, %rax346; EGPR-NEXT:    movq %rax, %r14347; EGPR-NEXT:    adcq %r30, %r13348; EGPR-NEXT:    setb %sil349; EGPR-NEXT:    movq %r18, %rax350; EGPR-NEXT:    mulq %r10351; EGPR-NEXT:    movq %rdx, %r30352; EGPR-NEXT:    movq %rax, %r8353; EGPR-NEXT:    addq %r13, %r8354; EGPR-NEXT:    movzbl %sil, %eax355; EGPR-NEXT:    adcq %rax, %r30356; EGPR-NEXT:    addq %r29, %r11357; EGPR-NEXT:    adcq %r28, %r14358; EGPR-NEXT:    adcq $0, %r8359; EGPR-NEXT:    adcq $0, %r30360; EGPR-NEXT:    addq %r16, %r8361; EGPR-NEXT:    adcq %r9, %r30362; EGPR-NEXT:    setb %r18b363; EGPR-NEXT:    movq %r17, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill364; EGPR-NEXT:    movq %r17, %rax365; EGPR-NEXT:    mulq %r20366; EGPR-NEXT:    movq %rdx, %r9367; EGPR-NEXT:    movq %rax, %r28368; EGPR-NEXT:    movq %r21, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill369; EGPR-NEXT:    movq %r21, %rax370; EGPR-NEXT:    mulq %r20371; EGPR-NEXT:    movq %rdx, %r16372; EGPR-NEXT:    movq %rax, %r29373; EGPR-NEXT:    addq %r9, %r29374; EGPR-NEXT:    adcq $0, %r16375; EGPR-NEXT:    movq %r17, %rax376; EGPR-NEXT:    mulq %r10377; EGPR-NEXT:    movq %rdx, %r9378; EGPR-NEXT:    movq %rax, %r17379; EGPR-NEXT:    addq %r29, %r17380; EGPR-NEXT:    adcq %r16, %r9381; EGPR-NEXT:    setb %r16b382; EGPR-NEXT:    movq %r21, %rax383; EGPR-NEXT:    mulq %r10384; EGPR-NEXT:    movq %rdx, %r13385; EGPR-NEXT:    movq %rax, %r29386; EGPR-NEXT:    addq %r9, %r29387; EGPR-NEXT:    movzbl %r16b, %eax388; EGPR-NEXT:    adcq %rax, %r13389; EGPR-NEXT:    addq %r8, %r28390; EGPR-NEXT:    adcq %r30, %r17391; EGPR-NEXT:    movzbl %r18b, %eax392; EGPR-NEXT:    adcq %rax, %r29393; EGPR-NEXT:    adcq $0, %r13394; EGPR-NEXT:    addq %rbx, %r19395; EGPR-NEXT:    movq %r19, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill396; EGPR-NEXT:    adcq %r15, %r22397; EGPR-NEXT:    movq %r22, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill398; EGPR-NEXT:    adcq %rbp, %r11399; EGPR-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill400; EGPR-NEXT:    adcq %r12, %r14401; EGPR-NEXT:    movq %r14, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill402; EGPR-NEXT:    adcq $0, %r28403; EGPR-NEXT:    adcq $0, %r17404; EGPR-NEXT:    adcq $0, %r29405; EGPR-NEXT:    adcq $0, %r13406; EGPR-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r28 # 8-byte Folded Reload407; EGPR-NEXT:    adcq %rdi, %r17408; EGPR-NEXT:    adcq %r24, %r29409; EGPR-NEXT:    adcq %r23, %r13410; EGPR-NEXT:    setb %r15b411; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload412; EGPR-NEXT:    movq %rsi, %rax413; EGPR-NEXT:    mulq %r27414; EGPR-NEXT:    movq %rdx, %r8415; EGPR-NEXT:    movq %rax, %r19416; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r23 # 8-byte Reload417; EGPR-NEXT:    movq %r23, %rax418; EGPR-NEXT:    mulq %r27419; EGPR-NEXT:    movq %rdx, %r9420; EGPR-NEXT:    movq %rax, %r16421; EGPR-NEXT:    addq %r8, %r16422; EGPR-NEXT:    adcq $0, %r9423; EGPR-NEXT:    movq %rsi, %rax424; EGPR-NEXT:    movq %rsi, %r21425; EGPR-NEXT:    mulq %rcx426; EGPR-NEXT:    movq %rdx, %r8427; EGPR-NEXT:    movq %rax, %r22428; EGPR-NEXT:    addq %r16, %r22429; EGPR-NEXT:    adcq %r9, %r8430; EGPR-NEXT:    setb %r18b431; EGPR-NEXT:    movq %r23, %rax432; EGPR-NEXT:    movq %r23, %r14433; EGPR-NEXT:    mulq %rcx434; EGPR-NEXT:    movq %rdx, %r9435; EGPR-NEXT:    movq %rax, %r16436; EGPR-NEXT:    addq %r8, %r16437; EGPR-NEXT:    movzbl %r18b, %eax438; EGPR-NEXT:    adcq %rax, %r9439; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Reload440; EGPR-NEXT:    movq %rbx, %rax441; EGPR-NEXT:    mulq %r27442; EGPR-NEXT:    movq %rdx, %r8443; EGPR-NEXT:    movq %rax, %rdi444; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload445; EGPR-NEXT:    movq %rsi, %rax446; EGPR-NEXT:    mulq %r27447; EGPR-NEXT:    movq %rdx, %r23448; EGPR-NEXT:    movq %rax, %r24449; EGPR-NEXT:    addq %r8, %r24450; EGPR-NEXT:    adcq $0, %r23451; EGPR-NEXT:    movq %rbx, %rax452; EGPR-NEXT:    mulq %rcx453; EGPR-NEXT:    movq %rdx, %r8454; EGPR-NEXT:    addq %r24, %rax455; EGPR-NEXT:    movq %rax, %r11456; EGPR-NEXT:    adcq %r23, %r8457; EGPR-NEXT:    setb %r18b458; EGPR-NEXT:    movq %rsi, %rax459; EGPR-NEXT:    movq %rsi, %r23460; EGPR-NEXT:    mulq %rcx461; EGPR-NEXT:    movq %rdx, %r24462; EGPR-NEXT:    movq %rax, %r30463; EGPR-NEXT:    addq %r8, %r30464; EGPR-NEXT:    movzbl %r18b, %eax465; EGPR-NEXT:    adcq %rax, %r24466; EGPR-NEXT:    addq %r19, %r30467; EGPR-NEXT:    adcq %r22, %r24468; EGPR-NEXT:    adcq $0, %r16469; EGPR-NEXT:    adcq $0, %r9470; EGPR-NEXT:    movq %rbx, %rax471; EGPR-NEXT:    mulq %r20472; EGPR-NEXT:    movq %rdx, %r8473; EGPR-NEXT:    movq %rax, %rsi474; EGPR-NEXT:    movq %r23, %rax475; EGPR-NEXT:    mulq %r20476; EGPR-NEXT:    movq %rdx, %r19477; EGPR-NEXT:    movq %rax, %r22478; EGPR-NEXT:    addq %r8, %r22479; EGPR-NEXT:    adcq $0, %r19480; EGPR-NEXT:    movq %rbx, %rax481; EGPR-NEXT:    mulq %r10482; EGPR-NEXT:    movq %rdx, %rbx483; EGPR-NEXT:    addq %r22, %rax484; EGPR-NEXT:    movq %rax, %r22485; EGPR-NEXT:    adcq %r19, %rbx486; EGPR-NEXT:    setb %r18b487; EGPR-NEXT:    movq %r23, %rax488; EGPR-NEXT:    mulq %r10489; EGPR-NEXT:    movq %rdx, %r23490; EGPR-NEXT:    movq %rax, %r8491; EGPR-NEXT:    addq %rbx, %r8492; EGPR-NEXT:    movzbl %r18b, %eax493; EGPR-NEXT:    adcq %rax, %r23494; EGPR-NEXT:    addq %r30, %rsi495; EGPR-NEXT:    adcq %r24, %r22496; EGPR-NEXT:    adcq $0, %r8497; EGPR-NEXT:    adcq $0, %r23498; EGPR-NEXT:    addq %r16, %r8499; EGPR-NEXT:    adcq %r9, %r23500; EGPR-NEXT:    setb %r18b501; EGPR-NEXT:    movq %r21, %rax502; EGPR-NEXT:    mulq %r20503; EGPR-NEXT:    movq %rdx, %r9504; EGPR-NEXT:    movq %rax, %r24505; EGPR-NEXT:    movq %r14, %rax506; EGPR-NEXT:    mulq %r20507; EGPR-NEXT:    movq %rdx, %r16508; EGPR-NEXT:    movq %rax, %r19509; EGPR-NEXT:    addq %r9, %r19510; EGPR-NEXT:    adcq $0, %r16511; EGPR-NEXT:    movq %r21, %rax512; EGPR-NEXT:    mulq %r10513; EGPR-NEXT:    movq %rdx, %r9514; EGPR-NEXT:    addq %r19, %rax515; EGPR-NEXT:    movq %rax, %r19516; EGPR-NEXT:    adcq %r16, %r9517; EGPR-NEXT:    setb %r16b518; EGPR-NEXT:    movq %r14, %rax519; EGPR-NEXT:    mulq %r10520; EGPR-NEXT:    movq %rdx, %rbp521; EGPR-NEXT:    movq %rax, %r12522; EGPR-NEXT:    addq %r9, %r12523; EGPR-NEXT:    movzbl %r16b, %eax524; EGPR-NEXT:    adcq %rax, %rbp525; EGPR-NEXT:    addq %r8, %r24526; EGPR-NEXT:    adcq %r23, %r19527; EGPR-NEXT:    movzbl %r18b, %eax528; EGPR-NEXT:    adcq %rax, %r12529; EGPR-NEXT:    adcq $0, %rbp530; EGPR-NEXT:    addq %r28, %rdi531; EGPR-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill532; EGPR-NEXT:    adcq %r17, %r11533; EGPR-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill534; EGPR-NEXT:    adcq %r29, %rsi535; EGPR-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill536; EGPR-NEXT:    adcq %r13, %r22537; EGPR-NEXT:    movq %r22, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill538; EGPR-NEXT:    movzbl %r15b, %eax539; EGPR-NEXT:    adcq %rax, %r24540; EGPR-NEXT:    movq %r24, (%rsp) # 8-byte Spill541; EGPR-NEXT:    adcq $0, %r19542; EGPR-NEXT:    movq %r19, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill543; EGPR-NEXT:    adcq $0, %r12544; EGPR-NEXT:    adcq $0, %rbp545; EGPR-NEXT:    movq 64(%r26), %r23546; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload547; EGPR-NEXT:    movq %rdi, %rax548; EGPR-NEXT:    mulq %r23549; EGPR-NEXT:    movq %rdx, %r8550; EGPR-NEXT:    movq %rax, %r24551; EGPR-NEXT:    movq %r25, %rax552; EGPR-NEXT:    mulq %r23553; EGPR-NEXT:    movq %rdx, %r9554; EGPR-NEXT:    movq %rax, %r16555; EGPR-NEXT:    addq %r8, %r16556; EGPR-NEXT:    adcq $0, %r9557; EGPR-NEXT:    movq 72(%r26), %r28558; EGPR-NEXT:    movq %rdi, %rax559; EGPR-NEXT:    mulq %r28560; EGPR-NEXT:    movq %rdx, %r8561; EGPR-NEXT:    movq %rax, %r30562; EGPR-NEXT:    addq %r16, %r30563; EGPR-NEXT:    adcq %r9, %r8564; EGPR-NEXT:    setb %r18b565; EGPR-NEXT:    movq %r25, %rax566; EGPR-NEXT:    mulq %r28567; EGPR-NEXT:    movq %rdx, %r9568; EGPR-NEXT:    movq %rax, %r16569; EGPR-NEXT:    addq %r8, %r16570; EGPR-NEXT:    movzbl %r18b, %eax571; EGPR-NEXT:    adcq %rax, %r9572; EGPR-NEXT:    movq %r31, %rax573; EGPR-NEXT:    mulq %r23574; EGPR-NEXT:    movq %rdx, %r8575; EGPR-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill576; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload577; EGPR-NEXT:    movq %r11, %rax578; EGPR-NEXT:    mulq %r23579; EGPR-NEXT:    movq %rdx, %r29580; EGPR-NEXT:    movq %rax, %rbx581; EGPR-NEXT:    addq %r8, %rbx582; EGPR-NEXT:    adcq $0, %r29583; EGPR-NEXT:    movq %r31, %rax584; EGPR-NEXT:    mulq %r28585; EGPR-NEXT:    movq %rdx, %r8586; EGPR-NEXT:    addq %rbx, %rax587; EGPR-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill588; EGPR-NEXT:    adcq %r29, %r8589; EGPR-NEXT:    setb %r18b590; EGPR-NEXT:    movq %r11, %rax591; EGPR-NEXT:    mulq %r28592; EGPR-NEXT:    movq %rdx, %r29593; EGPR-NEXT:    movq %rax, %rbx594; EGPR-NEXT:    addq %r8, %rbx595; EGPR-NEXT:    movzbl %r18b, %eax596; EGPR-NEXT:    adcq %rax, %r29597; EGPR-NEXT:    addq %r24, %rbx598; EGPR-NEXT:    adcq %r30, %r29599; EGPR-NEXT:    adcq $0, %r16600; EGPR-NEXT:    adcq $0, %r9601; EGPR-NEXT:    movq 80(%r26), %r13602; EGPR-NEXT:    movq %r31, %rax603; EGPR-NEXT:    mulq %r13604; EGPR-NEXT:    movq %rdx, %r8605; EGPR-NEXT:    movq %rax, %rsi606; EGPR-NEXT:    movq %r11, %rax607; EGPR-NEXT:    mulq %r13608; EGPR-NEXT:    movq %rdx, %r30609; EGPR-NEXT:    movq %rax, %r14610; EGPR-NEXT:    addq %r8, %r14611; EGPR-NEXT:    adcq $0, %r30612; EGPR-NEXT:    movq 88(%r26), %r18613; EGPR-NEXT:    movq %r31, %rax614; EGPR-NEXT:    mulq %r18615; EGPR-NEXT:    movq %rdx, %r15616; EGPR-NEXT:    movq %rax, %r24617; EGPR-NEXT:    addq %r14, %r24618; EGPR-NEXT:    adcq %r30, %r15619; EGPR-NEXT:    setb %r14b620; EGPR-NEXT:    movq %r11, %rax621; EGPR-NEXT:    mulq %r18622; EGPR-NEXT:    movq %rdx, %r30623; EGPR-NEXT:    movq %rax, %r8624; EGPR-NEXT:    addq %r15, %r8625; EGPR-NEXT:    movzbl %r14b, %eax626; EGPR-NEXT:    adcq %rax, %r30627; EGPR-NEXT:    addq %rbx, %rsi628; EGPR-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill629; EGPR-NEXT:    adcq %r29, %r24630; EGPR-NEXT:    adcq $0, %r8631; EGPR-NEXT:    adcq $0, %r30632; EGPR-NEXT:    addq %r16, %r8633; EGPR-NEXT:    adcq %r9, %r30634; EGPR-NEXT:    setb %r29b635; EGPR-NEXT:    movq %rdi, %rax636; EGPR-NEXT:    mulq %r13637; EGPR-NEXT:    movq %rdx, %r9638; EGPR-NEXT:    movq %rax, %rsi639; EGPR-NEXT:    movq %r25, %rax640; EGPR-NEXT:    mulq %r13641; EGPR-NEXT:    movq %rdx, %r16642; EGPR-NEXT:    movq %rax, %r14643; EGPR-NEXT:    addq %r9, %r14644; EGPR-NEXT:    adcq $0, %r16645; EGPR-NEXT:    movq %rdi, %rax646; EGPR-NEXT:    mulq %r18647; EGPR-NEXT:    movq %rdx, %r9648; EGPR-NEXT:    movq %rax, %rbx649; EGPR-NEXT:    addq %r14, %rbx650; EGPR-NEXT:    adcq %r16, %r9651; EGPR-NEXT:    setb %r16b652; EGPR-NEXT:    movq %r25, %rax653; EGPR-NEXT:    mulq %r18654; EGPR-NEXT:    movq %rdx, %r14655; EGPR-NEXT:    movq %rax, %r15656; EGPR-NEXT:    addq %r9, %r15657; EGPR-NEXT:    movzbl %r16b, %eax658; EGPR-NEXT:    adcq %rax, %r14659; EGPR-NEXT:    addq %r8, %rsi660; EGPR-NEXT:    adcq %r30, %rbx661; EGPR-NEXT:    movzbl %r29b, %eax662; EGPR-NEXT:    adcq %rax, %r15663; EGPR-NEXT:    adcq $0, %r14664; EGPR-NEXT:    imulq %r27, %r18665; EGPR-NEXT:    movq %r27, %rax666; EGPR-NEXT:    mulq %r13667; EGPR-NEXT:    movq %rax, %r8668; EGPR-NEXT:    addq %r18, %rdx669; EGPR-NEXT:    imulq %rcx, %r13670; EGPR-NEXT:    addq %rdx, %r13671; EGPR-NEXT:    movq %r20, %r9672; EGPR-NEXT:    imulq %r28, %r9673; EGPR-NEXT:    movq %r20, %rax674; EGPR-NEXT:    mulq %r23675; EGPR-NEXT:    movq %rax, %r30676; EGPR-NEXT:    addq %r9, %rdx677; EGPR-NEXT:    imulq %r23, %r10678; EGPR-NEXT:    addq %rdx, %r10679; EGPR-NEXT:    addq %r8, %r30680; EGPR-NEXT:    adcq %r13, %r10681; EGPR-NEXT:    movq %r23, %rax682; EGPR-NEXT:    mulq %r27683; EGPR-NEXT:    movq %rdx, %r8684; EGPR-NEXT:    movq %rax, %r9685; EGPR-NEXT:    movq %r28, %rax686; EGPR-NEXT:    mulq %r27687; EGPR-NEXT:    movq %rdx, %r27688; EGPR-NEXT:    movq %rax, %r20689; EGPR-NEXT:    addq %r8, %r20690; EGPR-NEXT:    adcq $0, %r27691; EGPR-NEXT:    movq %r23, %rax692; EGPR-NEXT:    mulq %rcx693; EGPR-NEXT:    movq %rdx, %r8694; EGPR-NEXT:    movq %rax, %r16695; EGPR-NEXT:    addq %r20, %r16696; EGPR-NEXT:    adcq %r27, %r8697; EGPR-NEXT:    setb %r18b698; EGPR-NEXT:    movq %r28, %rax699; EGPR-NEXT:    mulq %rcx700; EGPR-NEXT:    movq %rdx, %r23701; EGPR-NEXT:    movq %rax, %r20702; EGPR-NEXT:    addq %r8, %r20703; EGPR-NEXT:    movzbl %r18b, %eax704; EGPR-NEXT:    adcq %rax, %r23705; EGPR-NEXT:    addq %r30, %r20706; EGPR-NEXT:    adcq %r10, %r23707; EGPR-NEXT:    movq 112(%r26), %rcx708; EGPR-NEXT:    movq %r31, %rax709; EGPR-NEXT:    mulq %rcx710; EGPR-NEXT:    movq %rax, %r8711; EGPR-NEXT:    imulq %r11, %rcx712; EGPR-NEXT:    addq %rdx, %rcx713; EGPR-NEXT:    movq 120(%r26), %rax714; EGPR-NEXT:    imulq %r31, %rax715; EGPR-NEXT:    addq %rax, %rcx716; EGPR-NEXT:    movq 96(%r26), %r27717; EGPR-NEXT:    movq 104(%r26), %r30718; EGPR-NEXT:    movq %rdi, %rax719; EGPR-NEXT:    imulq %r30, %rdi720; EGPR-NEXT:    mulq %r27721; EGPR-NEXT:    movq %rax, %r21722; EGPR-NEXT:    addq %rdi, %rdx723; EGPR-NEXT:    imulq %r27, %r25724; EGPR-NEXT:    addq %rdx, %r25725; EGPR-NEXT:    addq %r8, %r21726; EGPR-NEXT:    adcq %rcx, %r25727; EGPR-NEXT:    movq %r27, %rax728; EGPR-NEXT:    mulq %r31729; EGPR-NEXT:    movq %rdx, %r8730; EGPR-NEXT:    movq %rax, %r22731; EGPR-NEXT:    movq %r30, %rax732; EGPR-NEXT:    mulq %r31733; EGPR-NEXT:    movq %rdx, %r31734; EGPR-NEXT:    movq %rax, %r28735; EGPR-NEXT:    addq %r8, %r28736; EGPR-NEXT:    adcq $0, %r31737; EGPR-NEXT:    movq %r27, %rax738; EGPR-NEXT:    mulq %r11739; EGPR-NEXT:    movq %rdx, %r8740; EGPR-NEXT:    movq %rax, %r27741; EGPR-NEXT:    addq %r28, %r27742; EGPR-NEXT:    adcq %r31, %r8743; EGPR-NEXT:    setb %cl744; EGPR-NEXT:    movq %r30, %rax745; EGPR-NEXT:    mulq %r11746; EGPR-NEXT:    movq %rdx, %r26747; EGPR-NEXT:    movq %rax, %r31748; EGPR-NEXT:    addq %r8, %r31749; EGPR-NEXT:    movzbl %cl, %eax750; EGPR-NEXT:    adcq %rax, %r26751; EGPR-NEXT:    addq %r21, %r31752; EGPR-NEXT:    adcq %r25, %r26753; EGPR-NEXT:    addq %r9, %r22754; EGPR-NEXT:    adcq %r16, %r27755; EGPR-NEXT:    adcq %r20, %r31756; EGPR-NEXT:    adcq %r23, %r26757; EGPR-NEXT:    addq %rsi, %r22758; EGPR-NEXT:    adcq %rbx, %r27759; EGPR-NEXT:    adcq %r15, %r31760; EGPR-NEXT:    adcq %r14, %r26761; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload762; EGPR-NEXT:    movq 80(%r11), %rbx763; EGPR-NEXT:    movq %rbx, %rax764; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r19 # 8-byte Reload765; EGPR-NEXT:    mulq %r19766; EGPR-NEXT:    movq %rax, %r23767; EGPR-NEXT:    movq %rdx, %r8768; EGPR-NEXT:    movq 88(%r11), %r20769; EGPR-NEXT:    movq %r20, %rax770; EGPR-NEXT:    mulq %r19771; EGPR-NEXT:    movq %rdx, %r9772; EGPR-NEXT:    movq %rax, %r16773; EGPR-NEXT:    addq %r8, %r16774; EGPR-NEXT:    adcq $0, %r9775; EGPR-NEXT:    movq %rbx, %rax776; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r17 # 8-byte Reload777; EGPR-NEXT:    mulq %r17778; EGPR-NEXT:    movq %rdx, %r8779; EGPR-NEXT:    movq %rax, %r30780; EGPR-NEXT:    addq %r16, %r30781; EGPR-NEXT:    adcq %r9, %r8782; EGPR-NEXT:    setb %cl783; EGPR-NEXT:    movq %r20, %rax784; EGPR-NEXT:    mulq %r17785; EGPR-NEXT:    movq %rdx, %r9786; EGPR-NEXT:    movq %rax, %r16787; EGPR-NEXT:    addq %r8, %r16788; EGPR-NEXT:    movzbl %cl, %eax789; EGPR-NEXT:    adcq %rax, %r9790; EGPR-NEXT:    movq 64(%r11), %r15791; EGPR-NEXT:    movq %r15, %rax792; EGPR-NEXT:    mulq %r19793; EGPR-NEXT:    movq %rax, %r25794; EGPR-NEXT:    movq %rdx, %r8795; EGPR-NEXT:    movq 72(%r11), %r14796; EGPR-NEXT:    movq %r14, %rax797; EGPR-NEXT:    mulq %r19798; EGPR-NEXT:    movq %rdx, %r28799; EGPR-NEXT:    movq %rax, %r29800; EGPR-NEXT:    addq %r8, %r29801; EGPR-NEXT:    adcq $0, %r28802; EGPR-NEXT:    movq %r15, %rax803; EGPR-NEXT:    mulq %r17804; EGPR-NEXT:    movq %rdx, %r8805; EGPR-NEXT:    movq %rax, %r21806; EGPR-NEXT:    addq %r29, %r21807; EGPR-NEXT:    adcq %r28, %r8808; EGPR-NEXT:    setb %cl809; EGPR-NEXT:    movq %r14, %rax810; EGPR-NEXT:    mulq %r17811; EGPR-NEXT:    movq %rdx, %r29812; EGPR-NEXT:    movq %rax, %r13813; EGPR-NEXT:    addq %r8, %r13814; EGPR-NEXT:    movzbl %cl, %eax815; EGPR-NEXT:    adcq %rax, %r29816; EGPR-NEXT:    addq %r23, %r13817; EGPR-NEXT:    adcq %r30, %r29818; EGPR-NEXT:    adcq $0, %r16819; EGPR-NEXT:    adcq $0, %r9820; EGPR-NEXT:    movq %r15, %rax821; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload822; EGPR-NEXT:    mulq %rdi823; EGPR-NEXT:    movq %rdx, %r8824; EGPR-NEXT:    movq %rax, %r28825; EGPR-NEXT:    movq %r14, %rax826; EGPR-NEXT:    mulq %rdi827; EGPR-NEXT:    movq %rdx, %r30828; EGPR-NEXT:    movq %rax, %rcx829; EGPR-NEXT:    addq %r8, %rcx830; EGPR-NEXT:    adcq $0, %r30831; EGPR-NEXT:    movq %r15, %rax832; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r18 # 8-byte Reload833; EGPR-NEXT:    mulq %r18834; EGPR-NEXT:    movq %rdx, %r10835; EGPR-NEXT:    movq %rax, %r23836; EGPR-NEXT:    addq %rcx, %r23837; EGPR-NEXT:    adcq %r30, %r10838; EGPR-NEXT:    setb %cl839; EGPR-NEXT:    movq %r14, %rax840; EGPR-NEXT:    mulq %r18841; EGPR-NEXT:    movq %rdx, %r30842; EGPR-NEXT:    movq %rax, %r8843; EGPR-NEXT:    addq %r10, %r8844; EGPR-NEXT:    movzbl %cl, %eax845; EGPR-NEXT:    adcq %rax, %r30846; EGPR-NEXT:    addq %r13, %r28847; EGPR-NEXT:    adcq %r29, %r23848; EGPR-NEXT:    adcq $0, %r8849; EGPR-NEXT:    adcq $0, %r30850; EGPR-NEXT:    addq %r16, %r8851; EGPR-NEXT:    adcq %r9, %r30852; EGPR-NEXT:    setb %sil853; EGPR-NEXT:    movq %rbx, %rax854; EGPR-NEXT:    mulq %rdi855; EGPR-NEXT:    movq %rdx, %rcx856; EGPR-NEXT:    movq %rax, %r29857; EGPR-NEXT:    movq %r20, %rax858; EGPR-NEXT:    mulq %rdi859; EGPR-NEXT:    movq %rdx, %r9860; EGPR-NEXT:    movq %rax, %r10861; EGPR-NEXT:    addq %rcx, %r10862; EGPR-NEXT:    adcq $0, %r9863; EGPR-NEXT:    movq %rbx, %rax864; EGPR-NEXT:    mulq %r18865; EGPR-NEXT:    movq %rdx, %rcx866; EGPR-NEXT:    movq %rax, %r13867; EGPR-NEXT:    addq %r10, %r13868; EGPR-NEXT:    adcq %r9, %rcx869; EGPR-NEXT:    setb %r10b870; EGPR-NEXT:    movq %r20, %rax871; EGPR-NEXT:    mulq %r18872; EGPR-NEXT:    movq %rdx, %r16873; EGPR-NEXT:    movq %rax, %r9874; EGPR-NEXT:    addq %rcx, %r9875; EGPR-NEXT:    movzbl %r10b, %eax876; EGPR-NEXT:    adcq %rax, %r16877; EGPR-NEXT:    addq %r8, %r29878; EGPR-NEXT:    adcq %r30, %r13879; EGPR-NEXT:    movzbl %sil, %eax880; EGPR-NEXT:    adcq %rax, %r9881; EGPR-NEXT:    adcq $0, %r16882; EGPR-NEXT:    movq 96(%r11), %rcx883; EGPR-NEXT:    imulq %rcx, %r18884; EGPR-NEXT:    movq %rcx, %rax885; EGPR-NEXT:    mulq %rdi886; EGPR-NEXT:    movq %rax, %r8887; EGPR-NEXT:    addq %r18, %rdx888; EGPR-NEXT:    movq 104(%r11), %r30889; EGPR-NEXT:    movq %rdi, %rax890; EGPR-NEXT:    imulq %r30, %rax891; EGPR-NEXT:    addq %rdx, %rax892; EGPR-NEXT:    movq %rax, %r10893; EGPR-NEXT:    movq 112(%r11), %rax894; EGPR-NEXT:    movq %rax, %rsi895; EGPR-NEXT:    imulq %r17, %rsi896; EGPR-NEXT:    mulq %r19897; EGPR-NEXT:    movq %rax, %rdi898; EGPR-NEXT:    addq %rsi, %rdx899; EGPR-NEXT:    movq 120(%r11), %r18900; EGPR-NEXT:    imulq %r19, %r18901; EGPR-NEXT:    addq %rdx, %r18902; EGPR-NEXT:    addq %r8, %rdi903; EGPR-NEXT:    adcq %r10, %r18904; EGPR-NEXT:    movq %r19, %rax905; EGPR-NEXT:    mulq %rcx906; EGPR-NEXT:    movq %rdx, %r8907; EGPR-NEXT:    movq %rax, %rsi908; EGPR-NEXT:    movq %r17, %rax909; EGPR-NEXT:    mulq %rcx910; EGPR-NEXT:    movq %rdx, %rcx911; EGPR-NEXT:    movq %rax, %r10912; EGPR-NEXT:    addq %r8, %r10913; EGPR-NEXT:    adcq $0, %rcx914; EGPR-NEXT:    movq %r19, %rax915; EGPR-NEXT:    mulq %r30916; EGPR-NEXT:    movq %rdx, %r8917; EGPR-NEXT:    movq %rax, %r11918; EGPR-NEXT:    addq %r10, %r11919; EGPR-NEXT:    adcq %rcx, %r8920; EGPR-NEXT:    setb %cl921; EGPR-NEXT:    movq %r17, %rax922; EGPR-NEXT:    mulq %r30923; EGPR-NEXT:    movq %rdx, %r10924; EGPR-NEXT:    movq %rax, %r17925; EGPR-NEXT:    addq %r8, %r17926; EGPR-NEXT:    movzbl %cl, %eax927; EGPR-NEXT:    adcq %rax, %r10928; EGPR-NEXT:    addq %rdi, %r17929; EGPR-NEXT:    adcq %r18, %r10930; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload931; EGPR-NEXT:    imulq %r15, %rdi932; EGPR-NEXT:    movq %r15, %rax933; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload934; EGPR-NEXT:    mulq %r8935; EGPR-NEXT:    movq %rax, %rcx936; EGPR-NEXT:    addq %rdi, %rdx937; EGPR-NEXT:    movq %r8, %rax938; EGPR-NEXT:    imulq %r14, %rax939; EGPR-NEXT:    addq %rdx, %rax940; EGPR-NEXT:    movq %rax, %r18941; EGPR-NEXT:    movq %rbx, %rdi942; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r19 # 8-byte Reload943; EGPR-NEXT:    imulq %r19, %rdi944; EGPR-NEXT:    movq %rbx, %rax945; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload946; EGPR-NEXT:    mulq %r8947; EGPR-NEXT:    movq %rax, %r30948; EGPR-NEXT:    addq %rdi, %rdx949; EGPR-NEXT:    imulq %r8, %r20950; EGPR-NEXT:    addq %rdx, %r20951; EGPR-NEXT:    addq %rcx, %r30952; EGPR-NEXT:    adcq %r18, %r20953; EGPR-NEXT:    movq %r8, %rax954; EGPR-NEXT:    movq %r8, %rdi955; EGPR-NEXT:    mulq %r15956; EGPR-NEXT:    movq %rdx, %rcx957; EGPR-NEXT:    movq %rax, %r8958; EGPR-NEXT:    movq %r19, %rax959; EGPR-NEXT:    mulq %r15960; EGPR-NEXT:    movq %rdx, %rbx961; EGPR-NEXT:    movq %rax, %r15962; EGPR-NEXT:    addq %rcx, %r15963; EGPR-NEXT:    adcq $0, %rbx964; EGPR-NEXT:    movq %rdi, %rax965; EGPR-NEXT:    mulq %r14966; EGPR-NEXT:    movq %rdx, %rcx967; EGPR-NEXT:    movq %rax, %r18968; EGPR-NEXT:    addq %r15, %r18969; EGPR-NEXT:    adcq %rbx, %rcx970; EGPR-NEXT:    setb %dil971; EGPR-NEXT:    movq %r19, %rax972; EGPR-NEXT:    mulq %r14973; EGPR-NEXT:    addq %rcx, %rax974; EGPR-NEXT:    movzbl %dil, %ecx975; EGPR-NEXT:    adcq %rcx, %rdx976; EGPR-NEXT:    addq %r30, %rax977; EGPR-NEXT:    adcq %r20, %rdx978; EGPR-NEXT:    addq %rsi, %r8979; EGPR-NEXT:    adcq %r11, %r18980; EGPR-NEXT:    adcq %r17, %rax981; EGPR-NEXT:    adcq %r10, %rdx982; EGPR-NEXT:    addq %r29, %r8983; EGPR-NEXT:    adcq %r13, %r18984; EGPR-NEXT:    adcq %r9, %rax985; EGPR-NEXT:    adcq %r16, %rdx986; EGPR-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r25 # 8-byte Folded Reload987; EGPR-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r21 # 8-byte Folded Reload988; EGPR-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r28 # 8-byte Folded Reload989; EGPR-NEXT:    adcq %r24, %r23990; EGPR-NEXT:    adcq %r22, %r8991; EGPR-NEXT:    adcq %r27, %r18992; EGPR-NEXT:    adcq %r31, %rax993; EGPR-NEXT:    adcq %r26, %rdx994; EGPR-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r25 # 8-byte Folded Reload995; EGPR-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r21 # 8-byte Folded Reload996; EGPR-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r28 # 8-byte Folded Reload997; EGPR-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r23 # 8-byte Folded Reload998; EGPR-NEXT:    adcq (%rsp), %r8 # 8-byte Folded Reload999; EGPR-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r18 # 8-byte Folded Reload1000; EGPR-NEXT:    adcq %r12, %rax1001; EGPR-NEXT:    adcq %rbp, %rdx1002; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload1003; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1004; EGPR-NEXT:    movq %rsi, (%rcx)1005; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1006; EGPR-NEXT:    movq %rsi, 8(%rcx)1007; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1008; EGPR-NEXT:    movq %rsi, 16(%rcx)1009; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1010; EGPR-NEXT:    movq %rsi, 24(%rcx)1011; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1012; EGPR-NEXT:    movq %rsi, 32(%rcx)1013; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1014; EGPR-NEXT:    movq %rsi, 40(%rcx)1015; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1016; EGPR-NEXT:    movq %rsi, 48(%rcx)1017; EGPR-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload1018; EGPR-NEXT:    movq %rsi, 56(%rcx)1019; EGPR-NEXT:    movq %r25, 64(%rcx)1020; EGPR-NEXT:    movq %r21, 72(%rcx)1021; EGPR-NEXT:    movq %r28, 80(%rcx)1022; EGPR-NEXT:    movq %r23, 88(%rcx)1023; EGPR-NEXT:    movq %r8, 96(%rcx)1024; EGPR-NEXT:    movq %r18, 104(%rcx)1025; EGPR-NEXT:    movq %rax, 112(%rcx)1026; EGPR-NEXT:    movq %rdx, 120(%rcx)1027; EGPR-NEXT:    addq $104, %rsp1028; EGPR-NEXT:    popq %rbx1029; EGPR-NEXT:    popq %r121030; EGPR-NEXT:    popq %r131031; EGPR-NEXT:    popq %r141032; EGPR-NEXT:    popq %r151033; EGPR-NEXT:    popq %rbp1034; EGPR-NEXT:    retq1035;1036; EGPR-NDD-LABEL: test_1024:1037; EGPR-NDD:       # %bb.0:1038; EGPR-NDD-NEXT:    pushq %rbp1039; EGPR-NDD-NEXT:    pushq %r151040; EGPR-NDD-NEXT:    pushq %r141041; EGPR-NDD-NEXT:    pushq %r131042; EGPR-NDD-NEXT:    pushq %r121043; EGPR-NDD-NEXT:    pushq %rbx1044; EGPR-NDD-NEXT:    subq $96, %rsp1045; EGPR-NDD-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1046; EGPR-NDD-NEXT:    movq %rsi, %r151047; EGPR-NDD-NEXT:    movq %rdi, %r221048; EGPR-NDD-NEXT:    movq (%rdi), %r171049; EGPR-NDD-NEXT:    movq 8(%rdi), %r111050; EGPR-NDD-NEXT:    movq 24(%rdi), %r91051; EGPR-NDD-NEXT:    movq 16(%rdi), %r101052; EGPR-NDD-NEXT:    movq 40(%rdi), %rdi1053; EGPR-NDD-NEXT:    movq 32(%r22), %r161054; EGPR-NDD-NEXT:    movq 56(%r22), %r181055; EGPR-NDD-NEXT:    movq 48(%r22), %r251056; EGPR-NDD-NEXT:    movq 24(%rsi), %r141057; EGPR-NDD-NEXT:    movq 16(%rsi), %r261058; EGPR-NDD-NEXT:    movq (%rsi), %r241059; EGPR-NDD-NEXT:    movq 8(%rsi), %r231060; EGPR-NDD-NEXT:    movq %r25, %rax1061; EGPR-NDD-NEXT:    mulq %r241062; EGPR-NDD-NEXT:    movq %rdx, %r271063; EGPR-NDD-NEXT:    movq %rax, %r191064; EGPR-NDD-NEXT:    movq %r18, %rax1065; EGPR-NDD-NEXT:    mulq %r241066; EGPR-NDD-NEXT:    addq %rax, %r271067; EGPR-NDD-NEXT:    adcq $0, %rdx, %rcx1068; EGPR-NDD-NEXT:    movq %r25, %rax1069; EGPR-NDD-NEXT:    mulq %r231070; EGPR-NDD-NEXT:    addq %r27, %rax, %rsi1071; EGPR-NDD-NEXT:    adcq %rdx, %rcx1072; EGPR-NDD-NEXT:    setb %al1073; EGPR-NDD-NEXT:    movzbl %al, %r8d1074; EGPR-NDD-NEXT:    movq %r18, %rax1075; EGPR-NDD-NEXT:    mulq %r231076; EGPR-NDD-NEXT:    addq %rcx, %rax, %r311077; EGPR-NDD-NEXT:    adcq %rdx, %r81078; EGPR-NDD-NEXT:    movq %r16, %rax1079; EGPR-NDD-NEXT:    mulq %r241080; EGPR-NDD-NEXT:    movq %rdx, %r301081; EGPR-NDD-NEXT:    movq %rax, %r271082; EGPR-NDD-NEXT:    movq %rdi, %rax1083; EGPR-NDD-NEXT:    mulq %r241084; EGPR-NDD-NEXT:    addq %r30, %rax, %rcx1085; EGPR-NDD-NEXT:    adcq $0, %rdx, %r301086; EGPR-NDD-NEXT:    movq %r16, %rax1087; EGPR-NDD-NEXT:    mulq %r231088; EGPR-NDD-NEXT:    addq %rax, %rcx1089; EGPR-NDD-NEXT:    adcq %rdx, %r301090; EGPR-NDD-NEXT:    setb %al1091; EGPR-NDD-NEXT:    movzbl %al, %r20d1092; EGPR-NDD-NEXT:    movq %rdi, %rax1093; EGPR-NDD-NEXT:    mulq %r231094; EGPR-NDD-NEXT:    addq %r30, %rax1095; EGPR-NDD-NEXT:    adcq %r20, %rdx1096; EGPR-NDD-NEXT:    addq %rax, %r19, %r201097; EGPR-NDD-NEXT:    adcq %rdx, %rsi, %r211098; EGPR-NDD-NEXT:    adcq $0, %r311099; EGPR-NDD-NEXT:    adcq $0, %r81100; EGPR-NDD-NEXT:    movq %r16, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1101; EGPR-NDD-NEXT:    movq %r16, %rax1102; EGPR-NDD-NEXT:    mulq %r261103; EGPR-NDD-NEXT:    movq %rdx, %r191104; EGPR-NDD-NEXT:    movq %rax, %r301105; EGPR-NDD-NEXT:    movq %rdi, %rax1106; EGPR-NDD-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1107; EGPR-NDD-NEXT:    mulq %r261108; EGPR-NDD-NEXT:    addq %rax, %r191109; EGPR-NDD-NEXT:    adcq $0, %rdx, %rsi1110; EGPR-NDD-NEXT:    movq %r16, %rax1111; EGPR-NDD-NEXT:    mulq %r141112; EGPR-NDD-NEXT:    addq %rax, %r191113; EGPR-NDD-NEXT:    adcq %rdx, %rsi1114; EGPR-NDD-NEXT:    setb %al1115; EGPR-NDD-NEXT:    movzbl %al, %r28d1116; EGPR-NDD-NEXT:    movq %rdi, %rax1117; EGPR-NDD-NEXT:    mulq %r141118; EGPR-NDD-NEXT:    addq %rsi, %rax1119; EGPR-NDD-NEXT:    adcq %r28, %rdx1120; EGPR-NDD-NEXT:    addq %r20, %r30, %rsi1121; EGPR-NDD-NEXT:    adcq %r21, %r19, %r201122; EGPR-NDD-NEXT:    adcq $0, %rax1123; EGPR-NDD-NEXT:    adcq $0, %rdx1124; EGPR-NDD-NEXT:    addq %rax, %r311125; EGPR-NDD-NEXT:    adcq %rdx, %r81126; EGPR-NDD-NEXT:    setb %al1127; EGPR-NDD-NEXT:    movzbl %al, %r29d1128; EGPR-NDD-NEXT:    movq %r25, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1129; EGPR-NDD-NEXT:    movq %r25, %rax1130; EGPR-NDD-NEXT:    mulq %r261131; EGPR-NDD-NEXT:    movq %rdx, %r191132; EGPR-NDD-NEXT:    movq %rax, %r301133; EGPR-NDD-NEXT:    movq %r18, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1134; EGPR-NDD-NEXT:    movq %r18, %rax1135; EGPR-NDD-NEXT:    mulq %r261136; EGPR-NDD-NEXT:    addq %rax, %r191137; EGPR-NDD-NEXT:    adcq $0, %rdx, %r211138; EGPR-NDD-NEXT:    movq %r25, %rax1139; EGPR-NDD-NEXT:    mulq %r141140; EGPR-NDD-NEXT:    addq %rax, %r191141; EGPR-NDD-NEXT:    adcq %rdx, %r211142; EGPR-NDD-NEXT:    setb %al1143; EGPR-NDD-NEXT:    movzbl %al, %r28d1144; EGPR-NDD-NEXT:    movq %r18, %rax1145; EGPR-NDD-NEXT:    mulq %r141146; EGPR-NDD-NEXT:    addq %r21, %rax1147; EGPR-NDD-NEXT:    adcq %r28, %rdx1148; EGPR-NDD-NEXT:    addq %r31, %r30, %r211149; EGPR-NDD-NEXT:    adcq %r8, %r19, %r281150; EGPR-NDD-NEXT:    adcq %rax, %r291151; EGPR-NDD-NEXT:    adcq $0, %rdx, %rdi1152; EGPR-NDD-NEXT:    movq %r10, %rax1153; EGPR-NDD-NEXT:    mulq %r241154; EGPR-NDD-NEXT:    movq %rdx, %r191155; EGPR-NDD-NEXT:    movq %rax, %r301156; EGPR-NDD-NEXT:    movq %r9, %rax1157; EGPR-NDD-NEXT:    mulq %r241158; EGPR-NDD-NEXT:    addq %rax, %r191159; EGPR-NDD-NEXT:    adcq $0, %rdx, %r81160; EGPR-NDD-NEXT:    movq %r10, %rax1161; EGPR-NDD-NEXT:    mulq %r231162; EGPR-NDD-NEXT:    addq %rax, %r191163; EGPR-NDD-NEXT:    adcq %rdx, %r81164; EGPR-NDD-NEXT:    setb %al1165; EGPR-NDD-NEXT:    movzbl %al, %r31d1166; EGPR-NDD-NEXT:    movq %r9, %rax1167; EGPR-NDD-NEXT:    mulq %r231168; EGPR-NDD-NEXT:    addq %rax, %r81169; EGPR-NDD-NEXT:    adcq %r31, %rdx, %rbx1170; EGPR-NDD-NEXT:    movq %r17, %rax1171; EGPR-NDD-NEXT:    mulq %r241172; EGPR-NDD-NEXT:    movq %rdx, %r311173; EGPR-NDD-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1174; EGPR-NDD-NEXT:    movq %r11, %rax1175; EGPR-NDD-NEXT:    mulq %r241176; EGPR-NDD-NEXT:    addq %rax, %r311177; EGPR-NDD-NEXT:    adcq $0, %rdx, %r121178; EGPR-NDD-NEXT:    movq %r17, %rax1179; EGPR-NDD-NEXT:    mulq %r231180; EGPR-NDD-NEXT:    addq %r31, %rax1181; EGPR-NDD-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1182; EGPR-NDD-NEXT:    adcq %rdx, %r121183; EGPR-NDD-NEXT:    setb %r31b1184; EGPR-NDD-NEXT:    movq %r11, %rax1185; EGPR-NDD-NEXT:    mulq %r231186; EGPR-NDD-NEXT:    addq %r12, %rax1187; EGPR-NDD-NEXT:    movzbl %r31b, %r31d1188; EGPR-NDD-NEXT:    adcq %r31, %rdx1189; EGPR-NDD-NEXT:    addq %rax, %r30, %r121190; EGPR-NDD-NEXT:    adcq %rdx, %r191191; EGPR-NDD-NEXT:    adcq $0, %r81192; EGPR-NDD-NEXT:    adcq $0, %rbx1193; EGPR-NDD-NEXT:    movq %r17, %rax1194; EGPR-NDD-NEXT:    mulq %r261195; EGPR-NDD-NEXT:    movq %rdx, %r301196; EGPR-NDD-NEXT:    movq %rax, %r311197; EGPR-NDD-NEXT:    movq %r11, %rax1198; EGPR-NDD-NEXT:    mulq %r261199; EGPR-NDD-NEXT:    addq %rax, %r301200; EGPR-NDD-NEXT:    adcq $0, %rdx, %r131201; EGPR-NDD-NEXT:    movq %r17, %rax1202; EGPR-NDD-NEXT:    mulq %r141203; EGPR-NDD-NEXT:    addq %rax, %r301204; EGPR-NDD-NEXT:    adcq %rdx, %r131205; EGPR-NDD-NEXT:    setb %bpl1206; EGPR-NDD-NEXT:    movq %r11, %rax1207; EGPR-NDD-NEXT:    mulq %r141208; EGPR-NDD-NEXT:    addq %r13, %rax1209; EGPR-NDD-NEXT:    movzbl %bpl, %r13d1210; EGPR-NDD-NEXT:    adcq %r13, %rdx1211; EGPR-NDD-NEXT:    addq %r12, %r311212; EGPR-NDD-NEXT:    movq %r31, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1213; EGPR-NDD-NEXT:    adcq %r30, %r191214; EGPR-NDD-NEXT:    movq %r19, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1215; EGPR-NDD-NEXT:    adcq $0, %rax1216; EGPR-NDD-NEXT:    adcq $0, %rdx1217; EGPR-NDD-NEXT:    addq %rax, %r81218; EGPR-NDD-NEXT:    adcq %rdx, %rbx1219; EGPR-NDD-NEXT:    setb %r19b1220; EGPR-NDD-NEXT:    movq %r10, %r161221; EGPR-NDD-NEXT:    movq %r10, %rax1222; EGPR-NDD-NEXT:    mulq %r261223; EGPR-NDD-NEXT:    movq %rdx, %r301224; EGPR-NDD-NEXT:    movq %rax, %r311225; EGPR-NDD-NEXT:    movq %r9, %rax1226; EGPR-NDD-NEXT:    mulq %r261227; EGPR-NDD-NEXT:    addq %rax, %r301228; EGPR-NDD-NEXT:    adcq $0, %rdx, %r121229; EGPR-NDD-NEXT:    movq %r10, %rax1230; EGPR-NDD-NEXT:    mulq %r141231; EGPR-NDD-NEXT:    addq %rax, %r301232; EGPR-NDD-NEXT:    adcq %rdx, %r121233; EGPR-NDD-NEXT:    setb %bpl1234; EGPR-NDD-NEXT:    movq %r9, %rax1235; EGPR-NDD-NEXT:    mulq %r141236; EGPR-NDD-NEXT:    addq %r12, %rax1237; EGPR-NDD-NEXT:    movzbl %bpl, %r12d1238; EGPR-NDD-NEXT:    adcq %r12, %rdx1239; EGPR-NDD-NEXT:    addq %r31, %r81240; EGPR-NDD-NEXT:    adcq %r30, %rbx1241; EGPR-NDD-NEXT:    movzbl %r19b, %r19d1242; EGPR-NDD-NEXT:    adcq %r19, %rax1243; EGPR-NDD-NEXT:    adcq $0, %rdx1244; EGPR-NDD-NEXT:    addq %r8, %r27, %r121245; EGPR-NDD-NEXT:    movq 32(%r15), %r301246; EGPR-NDD-NEXT:    adcq %rbx, %rcx, %r131247; EGPR-NDD-NEXT:    adcq %rax, %rsi, %rbp1248; EGPR-NDD-NEXT:    adcq %rdx, %r20, %rbx1249; EGPR-NDD-NEXT:    adcq $0, %r211250; EGPR-NDD-NEXT:    movq %r21, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1251; EGPR-NDD-NEXT:    adcq $0, %r281252; EGPR-NDD-NEXT:    adcq $0, %r291253; EGPR-NDD-NEXT:    adcq $0, %rdi1254; EGPR-NDD-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1255; EGPR-NDD-NEXT:    movq %r10, %rax1256; EGPR-NDD-NEXT:    mulq %r301257; EGPR-NDD-NEXT:    movq %rdx, %r271258; EGPR-NDD-NEXT:    movq %rax, %r311259; EGPR-NDD-NEXT:    movq %r9, %r191260; EGPR-NDD-NEXT:    movq %r9, %rax1261; EGPR-NDD-NEXT:    mulq %r301262; EGPR-NDD-NEXT:    addq %rax, %r271263; EGPR-NDD-NEXT:    adcq $0, %rdx, %rcx1264; EGPR-NDD-NEXT:    movq 40(%r15), %r181265; EGPR-NDD-NEXT:    movq %r10, %rax1266; EGPR-NDD-NEXT:    mulq %r181267; EGPR-NDD-NEXT:    addq %r27, %rax, %r211268; EGPR-NDD-NEXT:    adcq %rdx, %rcx1269; EGPR-NDD-NEXT:    setb %r8b1270; EGPR-NDD-NEXT:    movq %r9, %rax1271; EGPR-NDD-NEXT:    mulq %r181272; EGPR-NDD-NEXT:    addq %rcx, %rax, %rdi1273; EGPR-NDD-NEXT:    movzbl %r8b, %eax1274; EGPR-NDD-NEXT:    adcq %rax, %rdx, %rsi1275; EGPR-NDD-NEXT:    movq %r17, %rax1276; EGPR-NDD-NEXT:    mulq %r301277; EGPR-NDD-NEXT:    movq %rdx, %r201278; EGPR-NDD-NEXT:    movq %rax, %r271279; EGPR-NDD-NEXT:    movq %r11, %r101280; EGPR-NDD-NEXT:    movq %r11, %rax1281; EGPR-NDD-NEXT:    mulq %r301282; EGPR-NDD-NEXT:    addq %r20, %rax, %r81283; EGPR-NDD-NEXT:    adcq $0, %rdx, %r201284; EGPR-NDD-NEXT:    movq %r17, %rax1285; EGPR-NDD-NEXT:    mulq %r181286; EGPR-NDD-NEXT:    addq %r8, %rax, %r251287; EGPR-NDD-NEXT:    adcq %rdx, %r201288; EGPR-NDD-NEXT:    setb %cl1289; EGPR-NDD-NEXT:    movq %r11, %rax1290; EGPR-NDD-NEXT:    mulq %r181291; EGPR-NDD-NEXT:    addq %r20, %rax1292; EGPR-NDD-NEXT:    movzbl %cl, %ecx1293; EGPR-NDD-NEXT:    adcq %rdx, %rcx1294; EGPR-NDD-NEXT:    addq %rax, %r311295; EGPR-NDD-NEXT:    adcq %rcx, %r21, %r81296; EGPR-NDD-NEXT:    adcq $0, %rdi1297; EGPR-NDD-NEXT:    adcq $0, %rsi, %r91298; EGPR-NDD-NEXT:    movq 48(%r15), %r111299; EGPR-NDD-NEXT:    movq %r17, %rsi1300; EGPR-NDD-NEXT:    movq %r17, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1301; EGPR-NDD-NEXT:    movq %r17, %rax1302; EGPR-NDD-NEXT:    mulq %r111303; EGPR-NDD-NEXT:    movq %rdx, %r201304; EGPR-NDD-NEXT:    movq %rax, %r211305; EGPR-NDD-NEXT:    movq %r10, %rax1306; EGPR-NDD-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1307; EGPR-NDD-NEXT:    mulq %r111308; EGPR-NDD-NEXT:    addq %rax, %r201309; EGPR-NDD-NEXT:    adcq $0, %rdx, %rcx1310; EGPR-NDD-NEXT:    movq 56(%r15), %r171311; EGPR-NDD-NEXT:    movq %rsi, %rax1312; EGPR-NDD-NEXT:    mulq %r171313; EGPR-NDD-NEXT:    addq %rax, %r201314; EGPR-NDD-NEXT:    adcq %rdx, %rcx1315; EGPR-NDD-NEXT:    setb %sil1316; EGPR-NDD-NEXT:    movq %r10, %rax1317; EGPR-NDD-NEXT:    mulq %r171318; EGPR-NDD-NEXT:    addq %rcx, %rax1319; EGPR-NDD-NEXT:    movzbl %sil, %ecx1320; EGPR-NDD-NEXT:    adcq %rdx, %rcx1321; EGPR-NDD-NEXT:    addq %r21, %r311322; EGPR-NDD-NEXT:    adcq %r8, %r20, %r101323; EGPR-NDD-NEXT:    adcq $0, %rax1324; EGPR-NDD-NEXT:    adcq $0, %rcx1325; EGPR-NDD-NEXT:    addq %rax, %rdi1326; EGPR-NDD-NEXT:    adcq %rcx, %r9, %r81327; EGPR-NDD-NEXT:    setb %sil1328; EGPR-NDD-NEXT:    movq %r16, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1329; EGPR-NDD-NEXT:    movq %r16, %rax1330; EGPR-NDD-NEXT:    mulq %r111331; EGPR-NDD-NEXT:    movq %rdx, %r201332; EGPR-NDD-NEXT:    movq %rax, %r211333; EGPR-NDD-NEXT:    movq %r19, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1334; EGPR-NDD-NEXT:    movq %r19, %rax1335; EGPR-NDD-NEXT:    mulq %r111336; EGPR-NDD-NEXT:    addq %rax, %r201337; EGPR-NDD-NEXT:    adcq $0, %rdx, %r91338; EGPR-NDD-NEXT:    movq %r16, %rax1339; EGPR-NDD-NEXT:    mulq %r171340; EGPR-NDD-NEXT:    addq %rax, %r201341; EGPR-NDD-NEXT:    adcq %rdx, %r91342; EGPR-NDD-NEXT:    setb %cl1343; EGPR-NDD-NEXT:    movq %r19, %rax1344; EGPR-NDD-NEXT:    mulq %r171345; EGPR-NDD-NEXT:    addq %r9, %rax1346; EGPR-NDD-NEXT:    movzbl %cl, %ecx1347; EGPR-NDD-NEXT:    adcq %rdx, %rcx1348; EGPR-NDD-NEXT:    addq %r21, %rdi1349; EGPR-NDD-NEXT:    adcq %r20, %r81350; EGPR-NDD-NEXT:    movzbl %sil, %edx1351; EGPR-NDD-NEXT:    adcq %rdx, %rax1352; EGPR-NDD-NEXT:    adcq $0, %rcx1353; EGPR-NDD-NEXT:    addq %r12, %r271354; EGPR-NDD-NEXT:    movq %r27, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1355; EGPR-NDD-NEXT:    adcq %r13, %r25, %r191356; EGPR-NDD-NEXT:    movq %r19, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1357; EGPR-NDD-NEXT:    adcq %rbp, %r311358; EGPR-NDD-NEXT:    movq %r31, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1359; EGPR-NDD-NEXT:    adcq %rbx, %r101360; EGPR-NDD-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1361; EGPR-NDD-NEXT:    adcq $0, %rdi1362; EGPR-NDD-NEXT:    adcq $0, %r81363; EGPR-NDD-NEXT:    adcq $0, %rax1364; EGPR-NDD-NEXT:    adcq $0, %rcx1365; EGPR-NDD-NEXT:    addq %rdi, {{[-0-9]+}}(%r{{[sb]}}p), %r19 # 8-byte Folded Reload1366; EGPR-NDD-NEXT:    adcq %r8, %r281367; EGPR-NDD-NEXT:    adcq %rax, %r291368; EGPR-NDD-NEXT:    adcq %rcx, {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload1369; EGPR-NDD-NEXT:    setb %r8b1370; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Reload1371; EGPR-NDD-NEXT:    movq %r13, %rax1372; EGPR-NDD-NEXT:    mulq %r301373; EGPR-NDD-NEXT:    movq %rdx, %r271374; EGPR-NDD-NEXT:    movq %rax, %r201375; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload1376; EGPR-NDD-NEXT:    movq %r10, %rax1377; EGPR-NDD-NEXT:    mulq %r301378; EGPR-NDD-NEXT:    addq %rax, %r271379; EGPR-NDD-NEXT:    adcq $0, %rdx, %rsi1380; EGPR-NDD-NEXT:    movq %r13, %rax1381; EGPR-NDD-NEXT:    mulq %r181382; EGPR-NDD-NEXT:    addq %r27, %rax, %rdi1383; EGPR-NDD-NEXT:    adcq %rdx, %rsi1384; EGPR-NDD-NEXT:    setb %r9b1385; EGPR-NDD-NEXT:    movq %r10, %rax1386; EGPR-NDD-NEXT:    movq %r10, %r161387; EGPR-NDD-NEXT:    mulq %r181388; EGPR-NDD-NEXT:    addq %rax, %rsi1389; EGPR-NDD-NEXT:    movzbl %r9b, %eax1390; EGPR-NDD-NEXT:    adcq %rax, %rdx, %r91391; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r25 # 8-byte Reload1392; EGPR-NDD-NEXT:    movq %r25, %rax1393; EGPR-NDD-NEXT:    mulq %r301394; EGPR-NDD-NEXT:    movq %rdx, %r211395; EGPR-NDD-NEXT:    movq %rax, %r271396; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r12 # 8-byte Reload1397; EGPR-NDD-NEXT:    movq %r12, %rax1398; EGPR-NDD-NEXT:    mulq %r301399; EGPR-NDD-NEXT:    addq %rax, %r211400; EGPR-NDD-NEXT:    adcq $0, %rdx, %r101401; EGPR-NDD-NEXT:    movq %r25, %rax1402; EGPR-NDD-NEXT:    mulq %r181403; EGPR-NDD-NEXT:    addq %r21, %rax, %rbx1404; EGPR-NDD-NEXT:    adcq %rdx, %r101405; EGPR-NDD-NEXT:    setb %r31b1406; EGPR-NDD-NEXT:    movq %r12, %rax1407; EGPR-NDD-NEXT:    mulq %r181408; EGPR-NDD-NEXT:    addq %r10, %rax1409; EGPR-NDD-NEXT:    movzbl %r31b, %r10d1410; EGPR-NDD-NEXT:    adcq %r10, %rdx1411; EGPR-NDD-NEXT:    addq %rax, %r20, %r101412; EGPR-NDD-NEXT:    adcq %rdx, %rdi1413; EGPR-NDD-NEXT:    adcq $0, %rsi1414; EGPR-NDD-NEXT:    adcq $0, %r91415; EGPR-NDD-NEXT:    movq %r25, %rax1416; EGPR-NDD-NEXT:    mulq %r111417; EGPR-NDD-NEXT:    movq %rdx, %r201418; EGPR-NDD-NEXT:    movq %rax, %r211419; EGPR-NDD-NEXT:    movq %r12, %rax1420; EGPR-NDD-NEXT:    mulq %r111421; EGPR-NDD-NEXT:    addq %rax, %r201422; EGPR-NDD-NEXT:    adcq $0, %rdx, %r311423; EGPR-NDD-NEXT:    movq %r25, %rax1424; EGPR-NDD-NEXT:    mulq %r171425; EGPR-NDD-NEXT:    addq %rax, %r201426; EGPR-NDD-NEXT:    adcq %rdx, %r311427; EGPR-NDD-NEXT:    setb %bpl1428; EGPR-NDD-NEXT:    movq %r12, %rax1429; EGPR-NDD-NEXT:    mulq %r171430; EGPR-NDD-NEXT:    addq %r31, %rax1431; EGPR-NDD-NEXT:    movzbl %bpl, %r31d1432; EGPR-NDD-NEXT:    adcq %r31, %rdx1433; EGPR-NDD-NEXT:    addq %r21, %r101434; EGPR-NDD-NEXT:    adcq %r20, %rdi1435; EGPR-NDD-NEXT:    adcq $0, %rax1436; EGPR-NDD-NEXT:    adcq $0, %rdx1437; EGPR-NDD-NEXT:    addq %rax, %rsi1438; EGPR-NDD-NEXT:    adcq %rdx, %r91439; EGPR-NDD-NEXT:    setb %r31b1440; EGPR-NDD-NEXT:    movq %r13, %rax1441; EGPR-NDD-NEXT:    mulq %r111442; EGPR-NDD-NEXT:    movq %rdx, %r201443; EGPR-NDD-NEXT:    movq %rax, %r211444; EGPR-NDD-NEXT:    movq %r16, %rax1445; EGPR-NDD-NEXT:    mulq %r111446; EGPR-NDD-NEXT:    addq %rax, %r201447; EGPR-NDD-NEXT:    adcq $0, %rdx, %r121448; EGPR-NDD-NEXT:    movq %r13, %rax1449; EGPR-NDD-NEXT:    mulq %r171450; EGPR-NDD-NEXT:    addq %rax, %r201451; EGPR-NDD-NEXT:    adcq %rdx, %r121452; EGPR-NDD-NEXT:    setb %bpl1453; EGPR-NDD-NEXT:    movq %r16, %rax1454; EGPR-NDD-NEXT:    mulq %r171455; EGPR-NDD-NEXT:    addq %r12, %rax1456; EGPR-NDD-NEXT:    movzbl %bpl, %r12d1457; EGPR-NDD-NEXT:    adcq %r12, %rdx1458; EGPR-NDD-NEXT:    addq %r21, %rsi1459; EGPR-NDD-NEXT:    adcq %r20, %r91460; EGPR-NDD-NEXT:    movzbl %r31b, %r31d1461; EGPR-NDD-NEXT:    adcq %r31, %rax1462; EGPR-NDD-NEXT:    adcq $0, %rdx1463; EGPR-NDD-NEXT:    addq %r27, %r191464; EGPR-NDD-NEXT:    movq %r19, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1465; EGPR-NDD-NEXT:    adcq %rbx, %r281466; EGPR-NDD-NEXT:    movq %r28, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1467; EGPR-NDD-NEXT:    adcq %r29, %r101468; EGPR-NDD-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1469; EGPR-NDD-NEXT:    adcq %rdi, %rcx1470; EGPR-NDD-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1471; EGPR-NDD-NEXT:    movzbl %r8b, %ecx1472; EGPR-NDD-NEXT:    adcq %rsi, %rcx1473; EGPR-NDD-NEXT:    movq %rcx, (%rsp) # 8-byte Spill1474; EGPR-NDD-NEXT:    adcq $0, %r91475; EGPR-NDD-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1476; EGPR-NDD-NEXT:    adcq $0, %rax1477; EGPR-NDD-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1478; EGPR-NDD-NEXT:    adcq $0, %rdx1479; EGPR-NDD-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1480; EGPR-NDD-NEXT:    movq 64(%r22), %r201481; EGPR-NDD-NEXT:    movq %r26, %rax1482; EGPR-NDD-NEXT:    mulq %r201483; EGPR-NDD-NEXT:    movq %rdx, %r271484; EGPR-NDD-NEXT:    movq %rax, %r281485; EGPR-NDD-NEXT:    movq %r14, %rax1486; EGPR-NDD-NEXT:    mulq %r201487; EGPR-NDD-NEXT:    addq %rax, %r271488; EGPR-NDD-NEXT:    adcq $0, %rdx, %rcx1489; EGPR-NDD-NEXT:    movq 72(%r22), %r211490; EGPR-NDD-NEXT:    movq %r26, %rax1491; EGPR-NDD-NEXT:    mulq %r211492; EGPR-NDD-NEXT:    addq %rax, %r271493; EGPR-NDD-NEXT:    adcq %rdx, %rcx1494; EGPR-NDD-NEXT:    setb %sil1495; EGPR-NDD-NEXT:    movq %r14, %rax1496; EGPR-NDD-NEXT:    mulq %r211497; EGPR-NDD-NEXT:    addq %rax, %rcx1498; EGPR-NDD-NEXT:    movzbl %sil, %eax1499; EGPR-NDD-NEXT:    adcq %rax, %rdx, %rsi1500; EGPR-NDD-NEXT:    movq %r24, %rax1501; EGPR-NDD-NEXT:    mulq %r201502; EGPR-NDD-NEXT:    movq %rdx, %r291503; EGPR-NDD-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1504; EGPR-NDD-NEXT:    movq %r23, %rax1505; EGPR-NDD-NEXT:    mulq %r201506; EGPR-NDD-NEXT:    addq %rax, %r291507; EGPR-NDD-NEXT:    adcq $0, %rdx, %rdi1508; EGPR-NDD-NEXT:    movq %r24, %rax1509; EGPR-NDD-NEXT:    mulq %r211510; EGPR-NDD-NEXT:    addq %r29, %rax1511; EGPR-NDD-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1512; EGPR-NDD-NEXT:    adcq %rdx, %rdi1513; EGPR-NDD-NEXT:    setb %r8b1514; EGPR-NDD-NEXT:    movq %r23, %rax1515; EGPR-NDD-NEXT:    mulq %r211516; EGPR-NDD-NEXT:    addq %rdi, %rax1517; EGPR-NDD-NEXT:    movzbl %r8b, %edi1518; EGPR-NDD-NEXT:    adcq %rdi, %rdx1519; EGPR-NDD-NEXT:    addq %rax, %r28, %rdi1520; EGPR-NDD-NEXT:    adcq %rdx, %r271521; EGPR-NDD-NEXT:    adcq $0, %rcx1522; EGPR-NDD-NEXT:    adcq $0, %rsi1523; EGPR-NDD-NEXT:    movq 80(%r22), %r81524; EGPR-NDD-NEXT:    movq %r24, %rax1525; EGPR-NDD-NEXT:    mulq %r81526; EGPR-NDD-NEXT:    movq %rdx, %r281527; EGPR-NDD-NEXT:    movq %rax, %r291528; EGPR-NDD-NEXT:    movq %r23, %rax1529; EGPR-NDD-NEXT:    mulq %r81530; EGPR-NDD-NEXT:    addq %rax, %r281531; EGPR-NDD-NEXT:    adcq $0, %rdx, %r91532; EGPR-NDD-NEXT:    movq 88(%r22), %rbx1533; EGPR-NDD-NEXT:    movq %r24, %rax1534; EGPR-NDD-NEXT:    mulq %rbx1535; EGPR-NDD-NEXT:    addq %rax, %r281536; EGPR-NDD-NEXT:    adcq %rdx, %r91537; EGPR-NDD-NEXT:    setb %r10b1538; EGPR-NDD-NEXT:    movq %r23, %rax1539; EGPR-NDD-NEXT:    mulq %rbx1540; EGPR-NDD-NEXT:    addq %r9, %rax1541; EGPR-NDD-NEXT:    movzbl %r10b, %r9d1542; EGPR-NDD-NEXT:    adcq %r9, %rdx1543; EGPR-NDD-NEXT:    addq %r29, %rdi1544; EGPR-NDD-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill1545; EGPR-NDD-NEXT:    adcq %r27, %r28, %rbp1546; EGPR-NDD-NEXT:    adcq $0, %rax1547; EGPR-NDD-NEXT:    adcq $0, %rdx1548; EGPR-NDD-NEXT:    addq %rax, %rcx1549; EGPR-NDD-NEXT:    adcq %rdx, %rsi1550; EGPR-NDD-NEXT:    setb %dil1551; EGPR-NDD-NEXT:    movq %r26, %rax1552; EGPR-NDD-NEXT:    mulq %r81553; EGPR-NDD-NEXT:    movq %rdx, %r281554; EGPR-NDD-NEXT:    movq %rax, %r291555; EGPR-NDD-NEXT:    movq %r14, %rax1556; EGPR-NDD-NEXT:    mulq %r81557; EGPR-NDD-NEXT:    addq %rax, %r281558; EGPR-NDD-NEXT:    adcq $0, %rdx, %r91559; EGPR-NDD-NEXT:    movq %r26, %rax1560; EGPR-NDD-NEXT:    mulq %rbx1561; EGPR-NDD-NEXT:    addq %rax, %r281562; EGPR-NDD-NEXT:    adcq %rdx, %r91563; EGPR-NDD-NEXT:    setb %r10b1564; EGPR-NDD-NEXT:    movq %r14, %rax1565; EGPR-NDD-NEXT:    mulq %rbx1566; EGPR-NDD-NEXT:    addq %r9, %rax1567; EGPR-NDD-NEXT:    movzbl %r10b, %r9d1568; EGPR-NDD-NEXT:    adcq %r9, %rdx1569; EGPR-NDD-NEXT:    addq %rcx, %r29, %r271570; EGPR-NDD-NEXT:    adcq %rsi, %r28, %r121571; EGPR-NDD-NEXT:    movzbl %dil, %r19d1572; EGPR-NDD-NEXT:    adcq %rax, %r191573; EGPR-NDD-NEXT:    adcq $0, %rdx, %r291574; EGPR-NDD-NEXT:    imulq %r30, %rbx1575; EGPR-NDD-NEXT:    movq %r30, %rax1576; EGPR-NDD-NEXT:    mulq %r81577; EGPR-NDD-NEXT:    movq %rax, %r281578; EGPR-NDD-NEXT:    addq %rbx, %rdx1579; EGPR-NDD-NEXT:    imulq %r18, %r81580; EGPR-NDD-NEXT:    addq %rdx, %r81581; EGPR-NDD-NEXT:    imulq %r21, %r11, %rcx1582; EGPR-NDD-NEXT:    movq %r11, %rax1583; EGPR-NDD-NEXT:    mulq %r201584; EGPR-NDD-NEXT:    addq %rdx, %rcx1585; EGPR-NDD-NEXT:    imulq %r20, %r17, %r161586; EGPR-NDD-NEXT:    addq %r16, %rcx1587; EGPR-NDD-NEXT:    addq %r28, %rax, %rsi1588; EGPR-NDD-NEXT:    adcq %rcx, %r81589; EGPR-NDD-NEXT:    movq %r20, %rax1590; EGPR-NDD-NEXT:    mulq %r301591; EGPR-NDD-NEXT:    movq %rdx, %r281592; EGPR-NDD-NEXT:    movq %rax, %r311593; EGPR-NDD-NEXT:    movq %r21, %rax1594; EGPR-NDD-NEXT:    mulq %r301595; EGPR-NDD-NEXT:    addq %r28, %rax, %rcx1596; EGPR-NDD-NEXT:    adcq $0, %rdx, %rdi1597; EGPR-NDD-NEXT:    movq %r20, %rax1598; EGPR-NDD-NEXT:    mulq %r181599; EGPR-NDD-NEXT:    addq %rax, %rcx1600; EGPR-NDD-NEXT:    adcq %rdx, %rdi1601; EGPR-NDD-NEXT:    setb %r9b1602; EGPR-NDD-NEXT:    movq %r21, %rax1603; EGPR-NDD-NEXT:    mulq %r181604; EGPR-NDD-NEXT:    addq %rdi, %rax1605; EGPR-NDD-NEXT:    movzbl %r9b, %edi1606; EGPR-NDD-NEXT:    adcq %rdi, %rdx1607; EGPR-NDD-NEXT:    addq %rax, %rsi1608; EGPR-NDD-NEXT:    adcq %rdx, %r81609; EGPR-NDD-NEXT:    movq 112(%r22), %rdi1610; EGPR-NDD-NEXT:    movq %r24, %rax1611; EGPR-NDD-NEXT:    mulq %rdi1612; EGPR-NDD-NEXT:    movq %rax, %r301613; EGPR-NDD-NEXT:    imulq %r23, %rdi1614; EGPR-NDD-NEXT:    addq %rdi, %rdx1615; EGPR-NDD-NEXT:    imulq 120(%r22), %r24, %rax1616; EGPR-NDD-NEXT:    leaq (%rdx,%rax), %r91617; EGPR-NDD-NEXT:    movq 96(%r22), %r201618; EGPR-NDD-NEXT:    movq 104(%r22), %rdi1619; EGPR-NDD-NEXT:    imulq %rdi, %r26, %r101620; EGPR-NDD-NEXT:    movq %r26, %rax1621; EGPR-NDD-NEXT:    mulq %r201622; EGPR-NDD-NEXT:    addq %r10, %rdx1623; EGPR-NDD-NEXT:    imulq %r20, %r14, %r251624; EGPR-NDD-NEXT:    addq %r25, %rdx1625; EGPR-NDD-NEXT:    addq %rax, %r301626; EGPR-NDD-NEXT:    adcq %rdx, %r91627; EGPR-NDD-NEXT:    movq %r20, %rax1628; EGPR-NDD-NEXT:    mulq %r241629; EGPR-NDD-NEXT:    movq %rdx, %r251630; EGPR-NDD-NEXT:    movq %rax, %r261631; EGPR-NDD-NEXT:    movq %rdi, %rax1632; EGPR-NDD-NEXT:    mulq %r241633; EGPR-NDD-NEXT:    addq %rax, %r251634; EGPR-NDD-NEXT:    adcq $0, %rdx, %r101635; EGPR-NDD-NEXT:    movq %r20, %rax1636; EGPR-NDD-NEXT:    mulq %r231637; EGPR-NDD-NEXT:    addq %rax, %r251638; EGPR-NDD-NEXT:    adcq %rdx, %r101639; EGPR-NDD-NEXT:    setb %r11b1640; EGPR-NDD-NEXT:    movq %rdi, %rax1641; EGPR-NDD-NEXT:    mulq %r231642; EGPR-NDD-NEXT:    addq %r10, %rax1643; EGPR-NDD-NEXT:    movzbl %r11b, %edi1644; EGPR-NDD-NEXT:    adcq %rdi, %rdx1645; EGPR-NDD-NEXT:    addq %r30, %rax1646; EGPR-NDD-NEXT:    adcq %r9, %rdx1647; EGPR-NDD-NEXT:    addq %r31, %r261648; EGPR-NDD-NEXT:    adcq %r25, %rcx1649; EGPR-NDD-NEXT:    adcq %rsi, %rax1650; EGPR-NDD-NEXT:    adcq %r8, %rdx1651; EGPR-NDD-NEXT:    addq %r26, %r27, %rbx1652; EGPR-NDD-NEXT:    adcq %rcx, %r121653; EGPR-NDD-NEXT:    adcq %rax, %r19, %r131654; EGPR-NDD-NEXT:    adcq %rdx, %r29, %r281655; EGPR-NDD-NEXT:    movq 80(%r15), %r241656; EGPR-NDD-NEXT:    movq %r24, %rax1657; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r16 # 8-byte Reload1658; EGPR-NDD-NEXT:    mulq %r161659; EGPR-NDD-NEXT:    movq %rax, %r301660; EGPR-NDD-NEXT:    movq %rdx, %rdi1661; EGPR-NDD-NEXT:    movq 88(%r15), %r221662; EGPR-NDD-NEXT:    movq %r22, %rax1663; EGPR-NDD-NEXT:    mulq %r161664; EGPR-NDD-NEXT:    addq %rax, %rdi1665; EGPR-NDD-NEXT:    adcq $0, %rdx, %rcx1666; EGPR-NDD-NEXT:    movq %r24, %rax1667; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r23 # 8-byte Reload1668; EGPR-NDD-NEXT:    mulq %r231669; EGPR-NDD-NEXT:    addq %rax, %rdi1670; EGPR-NDD-NEXT:    adcq %rdx, %rcx1671; EGPR-NDD-NEXT:    setb %sil1672; EGPR-NDD-NEXT:    movq %r22, %rax1673; EGPR-NDD-NEXT:    mulq %r231674; EGPR-NDD-NEXT:    addq %rax, %rcx1675; EGPR-NDD-NEXT:    movzbl %sil, %eax1676; EGPR-NDD-NEXT:    adcq %rax, %rdx, %rsi1677; EGPR-NDD-NEXT:    movq 64(%r15), %r261678; EGPR-NDD-NEXT:    movq %r26, %rax1679; EGPR-NDD-NEXT:    mulq %r161680; EGPR-NDD-NEXT:    movq %rax, %r211681; EGPR-NDD-NEXT:    movq %rdx, %r311682; EGPR-NDD-NEXT:    movq 72(%r15), %r251683; EGPR-NDD-NEXT:    movq %r25, %rax1684; EGPR-NDD-NEXT:    mulq %r161685; EGPR-NDD-NEXT:    addq %rax, %r311686; EGPR-NDD-NEXT:    adcq $0, %rdx, %r81687; EGPR-NDD-NEXT:    movq %r26, %rax1688; EGPR-NDD-NEXT:    mulq %r231689; EGPR-NDD-NEXT:    addq %r31, %rax, %r291690; EGPR-NDD-NEXT:    adcq %rdx, %r81691; EGPR-NDD-NEXT:    setb %r9b1692; EGPR-NDD-NEXT:    movq %r25, %rax1693; EGPR-NDD-NEXT:    mulq %r231694; EGPR-NDD-NEXT:    addq %r8, %rax1695; EGPR-NDD-NEXT:    movzbl %r9b, %r8d1696; EGPR-NDD-NEXT:    adcq %r8, %rdx1697; EGPR-NDD-NEXT:    addq %rax, %r30, %r201698; EGPR-NDD-NEXT:    adcq %rdx, %rdi1699; EGPR-NDD-NEXT:    adcq $0, %rcx1700; EGPR-NDD-NEXT:    adcq $0, %rsi1701; EGPR-NDD-NEXT:    movq %r26, %rax1702; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload1703; EGPR-NDD-NEXT:    mulq %r101704; EGPR-NDD-NEXT:    movq %rdx, %r301705; EGPR-NDD-NEXT:    movq %rax, %r311706; EGPR-NDD-NEXT:    movq %r25, %rax1707; EGPR-NDD-NEXT:    mulq %r101708; EGPR-NDD-NEXT:    addq %rax, %r301709; EGPR-NDD-NEXT:    adcq $0, %rdx, %r81710; EGPR-NDD-NEXT:    movq %r26, %rax1711; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload1712; EGPR-NDD-NEXT:    mulq %r111713; EGPR-NDD-NEXT:    addq %r30, %rax, %r271714; EGPR-NDD-NEXT:    adcq %rdx, %r81715; EGPR-NDD-NEXT:    setb %r9b1716; EGPR-NDD-NEXT:    movq %r25, %rax1717; EGPR-NDD-NEXT:    mulq %r111718; EGPR-NDD-NEXT:    addq %r8, %rax1719; EGPR-NDD-NEXT:    movzbl %r9b, %r8d1720; EGPR-NDD-NEXT:    adcq %r8, %rdx1721; EGPR-NDD-NEXT:    addq %r31, %r201722; EGPR-NDD-NEXT:    adcq %rdi, %r271723; EGPR-NDD-NEXT:    adcq $0, %rax1724; EGPR-NDD-NEXT:    adcq $0, %rdx1725; EGPR-NDD-NEXT:    addq %rax, %rcx1726; EGPR-NDD-NEXT:    adcq %rdx, %rsi1727; EGPR-NDD-NEXT:    setb %dil1728; EGPR-NDD-NEXT:    movq %r24, %rax1729; EGPR-NDD-NEXT:    mulq %r101730; EGPR-NDD-NEXT:    movq %rdx, %r301731; EGPR-NDD-NEXT:    movq %rax, %r311732; EGPR-NDD-NEXT:    movq %r22, %rax1733; EGPR-NDD-NEXT:    mulq %r101734; EGPR-NDD-NEXT:    addq %rax, %r301735; EGPR-NDD-NEXT:    adcq $0, %rdx, %r81736; EGPR-NDD-NEXT:    movq %r24, %rax1737; EGPR-NDD-NEXT:    mulq %r111738; EGPR-NDD-NEXT:    addq %r30, %rax, %r191739; EGPR-NDD-NEXT:    adcq %rdx, %r81740; EGPR-NDD-NEXT:    setb %r9b1741; EGPR-NDD-NEXT:    movq %r22, %rax1742; EGPR-NDD-NEXT:    mulq %r111743; EGPR-NDD-NEXT:    addq %r8, %rax1744; EGPR-NDD-NEXT:    movzbl %r9b, %r8d1745; EGPR-NDD-NEXT:    adcq %r8, %rdx1746; EGPR-NDD-NEXT:    addq %rcx, %r311747; EGPR-NDD-NEXT:    adcq %rsi, %r191748; EGPR-NDD-NEXT:    movzbl %dil, %ecx1749; EGPR-NDD-NEXT:    adcq %rax, %rcx1750; EGPR-NDD-NEXT:    adcq $0, %rdx, %rdi1751; EGPR-NDD-NEXT:    movq 96(%r15), %r301752; EGPR-NDD-NEXT:    imulq %r11, %r30, %rsi1753; EGPR-NDD-NEXT:    movq %r30, %rax1754; EGPR-NDD-NEXT:    mulq %r101755; EGPR-NDD-NEXT:    movq %rax, %r181756; EGPR-NDD-NEXT:    addq %rsi, %rdx1757; EGPR-NDD-NEXT:    movq 104(%r15), %r81758; EGPR-NDD-NEXT:    imulq %r10, %r8, %rax1759; EGPR-NDD-NEXT:    leaq (%rdx,%rax), %rsi1760; EGPR-NDD-NEXT:    movq 112(%r15), %rax1761; EGPR-NDD-NEXT:    imulq %r23, %rax, %r91762; EGPR-NDD-NEXT:    mulq %r161763; EGPR-NDD-NEXT:    addq %r9, %rdx1764; EGPR-NDD-NEXT:    imulq 120(%r15), %r16, %r91765; EGPR-NDD-NEXT:    addq %r9, %rdx1766; EGPR-NDD-NEXT:    addq %r18, %rax, %r101767; EGPR-NDD-NEXT:    adcq %rsi, %rdx, %r91768; EGPR-NDD-NEXT:    movq %r16, %rax1769; EGPR-NDD-NEXT:    movq %r16, %r181770; EGPR-NDD-NEXT:    mulq %r301771; EGPR-NDD-NEXT:    movq %rdx, %r171772; EGPR-NDD-NEXT:    movq %rax, %rsi1773; EGPR-NDD-NEXT:    movq %r23, %rax1774; EGPR-NDD-NEXT:    mulq %r301775; EGPR-NDD-NEXT:    addq %r17, %rax, %r111776; EGPR-NDD-NEXT:    adcq $0, %rdx, %r161777; EGPR-NDD-NEXT:    movq %r18, %rax1778; EGPR-NDD-NEXT:    mulq %r81779; EGPR-NDD-NEXT:    addq %rax, %r111780; EGPR-NDD-NEXT:    adcq %rdx, %r161781; EGPR-NDD-NEXT:    setb %r17b1782; EGPR-NDD-NEXT:    movq %r23, %rax1783; EGPR-NDD-NEXT:    mulq %r81784; EGPR-NDD-NEXT:    addq %r16, %rax1785; EGPR-NDD-NEXT:    movzbl %r17b, %r8d1786; EGPR-NDD-NEXT:    adcq %r8, %rdx1787; EGPR-NDD-NEXT:    addq %rax, %r101788; EGPR-NDD-NEXT:    adcq %r9, %rdx, %r171789; EGPR-NDD-NEXT:    imulq {{[-0-9]+}}(%r{{[sb]}}p), %r26, %r8 # 8-byte Folded Reload1790; EGPR-NDD-NEXT:    movq %r26, %rax1791; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r16 # 8-byte Reload1792; EGPR-NDD-NEXT:    mulq %r161793; EGPR-NDD-NEXT:    movq %rax, %r91794; EGPR-NDD-NEXT:    addq %r8, %rdx1795; EGPR-NDD-NEXT:    imulq %r16, %r25, %rax1796; EGPR-NDD-NEXT:    leaq (%rdx,%rax), %r81797; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r23 # 8-byte Reload1798; EGPR-NDD-NEXT:    imulq %r23, %r24, %r161799; EGPR-NDD-NEXT:    movq %r24, %rax1800; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r30 # 8-byte Reload1801; EGPR-NDD-NEXT:    mulq %r301802; EGPR-NDD-NEXT:    addq %r16, %rdx1803; EGPR-NDD-NEXT:    imulq %r30, %r221804; EGPR-NDD-NEXT:    addq %r22, %rdx1805; EGPR-NDD-NEXT:    addq %r9, %rax, %r161806; EGPR-NDD-NEXT:    adcq %r8, %rdx, %r181807; EGPR-NDD-NEXT:    movq %r30, %rax1808; EGPR-NDD-NEXT:    mulq %r261809; EGPR-NDD-NEXT:    movq %rdx, %r81810; EGPR-NDD-NEXT:    movq %rax, %r91811; EGPR-NDD-NEXT:    movq %r23, %rax1812; EGPR-NDD-NEXT:    movq %r23, %r241813; EGPR-NDD-NEXT:    mulq %r261814; EGPR-NDD-NEXT:    addq %rax, %r81815; EGPR-NDD-NEXT:    adcq $0, %rdx, %r221816; EGPR-NDD-NEXT:    movq %r30, %rax1817; EGPR-NDD-NEXT:    mulq %r251818; EGPR-NDD-NEXT:    addq %rax, %r81819; EGPR-NDD-NEXT:    adcq %rdx, %r221820; EGPR-NDD-NEXT:    setb %r23b1821; EGPR-NDD-NEXT:    movq %r24, %rax1822; EGPR-NDD-NEXT:    mulq %r251823; EGPR-NDD-NEXT:    addq %r22, %rax1824; EGPR-NDD-NEXT:    movzbl %r23b, %r22d1825; EGPR-NDD-NEXT:    adcq %r22, %rdx1826; EGPR-NDD-NEXT:    addq %r16, %rax1827; EGPR-NDD-NEXT:    adcq %r18, %rdx1828; EGPR-NDD-NEXT:    addq %r9, %rsi1829; EGPR-NDD-NEXT:    adcq %r11, %r81830; EGPR-NDD-NEXT:    adcq %r10, %rax1831; EGPR-NDD-NEXT:    adcq %r17, %rdx1832; EGPR-NDD-NEXT:    addq %r31, %rsi1833; EGPR-NDD-NEXT:    adcq %r19, %r81834; EGPR-NDD-NEXT:    adcq %rcx, %rax1835; EGPR-NDD-NEXT:    adcq %rdi, %rdx1836; EGPR-NDD-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r21 # 8-byte Folded Reload1837; EGPR-NDD-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r29 # 8-byte Folded Reload1838; EGPR-NDD-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r20 # 8-byte Folded Reload1839; EGPR-NDD-NEXT:    adcq %rbp, %r271840; EGPR-NDD-NEXT:    adcq %rbx, %rsi1841; EGPR-NDD-NEXT:    adcq %r12, %r81842; EGPR-NDD-NEXT:    adcq %r13, %rax1843; EGPR-NDD-NEXT:    adcq %r28, %rdx1844; EGPR-NDD-NEXT:    addq %r21, {{[-0-9]+}}(%r{{[sb]}}p), %r21 # 8-byte Folded Reload1845; EGPR-NDD-NEXT:    adcq %r29, {{[-0-9]+}}(%r{{[sb]}}p), %r29 # 8-byte Folded Reload1846; EGPR-NDD-NEXT:    adcq %r20, {{[-0-9]+}}(%r{{[sb]}}p), %r20 # 8-byte Folded Reload1847; EGPR-NDD-NEXT:    adcq %r27, {{[-0-9]+}}(%r{{[sb]}}p), %r27 # 8-byte Folded Reload1848; EGPR-NDD-NEXT:    adcq %rsi, (%rsp), %rsi # 8-byte Folded Reload1849; EGPR-NDD-NEXT:    adcq %r8, {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Folded Reload1850; EGPR-NDD-NEXT:    adcq %rax, {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload1851; EGPR-NDD-NEXT:    adcq %rdx, {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload1852; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload1853; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1854; EGPR-NDD-NEXT:    movq %rdi, (%rcx)1855; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1856; EGPR-NDD-NEXT:    movq %rdi, 8(%rcx)1857; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1858; EGPR-NDD-NEXT:    movq %rdi, 16(%rcx)1859; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1860; EGPR-NDD-NEXT:    movq %rdi, 24(%rcx)1861; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1862; EGPR-NDD-NEXT:    movq %rdi, 32(%rcx)1863; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1864; EGPR-NDD-NEXT:    movq %rdi, 40(%rcx)1865; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1866; EGPR-NDD-NEXT:    movq %rdi, 48(%rcx)1867; EGPR-NDD-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload1868; EGPR-NDD-NEXT:    movq %rdi, 56(%rcx)1869; EGPR-NDD-NEXT:    movq %r21, 64(%rcx)1870; EGPR-NDD-NEXT:    movq %r29, 72(%rcx)1871; EGPR-NDD-NEXT:    movq %r20, 80(%rcx)1872; EGPR-NDD-NEXT:    movq %r27, 88(%rcx)1873; EGPR-NDD-NEXT:    movq %rsi, 96(%rcx)1874; EGPR-NDD-NEXT:    movq %r8, 104(%rcx)1875; EGPR-NDD-NEXT:    movq %rax, 112(%rcx)1876; EGPR-NDD-NEXT:    movq %rdx, 120(%rcx)1877; EGPR-NDD-NEXT:    addq $96, %rsp1878; EGPR-NDD-NEXT:    popq %rbx1879; EGPR-NDD-NEXT:    popq %r121880; EGPR-NDD-NEXT:    popq %r131881; EGPR-NDD-NEXT:    popq %r141882; EGPR-NDD-NEXT:    popq %r151883; EGPR-NDD-NEXT:    popq %rbp1884; EGPR-NDD-NEXT:    retq1885  %av = load i1024, ptr %a1886  %bv = load i1024, ptr %b1887  %r = mul i1024 %av, %bv1888  store i1024 %r, ptr %out1889  ret void1890}1891