brintos

brintos / llvm-project-archived public Read only

0
0
Text · 14.4 KiB · bc4b8a7 Raw
363 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc --mtriple=loongarch64 --mattr=+d --target-abi=lp64d < %s \3; RUN:   | FileCheck --check-prefix=LA64-FPELIM %s4; RUN: llc --mtriple=loongarch64 --mattr=+d --target-abi=lp64d < %s \5; RUN:     --frame-pointer=all < %s \6; RUN:   | FileCheck --check-prefix=LA64-WITHFP %s7 8declare void @llvm.va_start(ptr)9declare void @llvm.va_end(ptr)10 11declare void @notdead(ptr)12 13define i64 @va1(ptr %fmt, ...) {14; LA64-FPELIM-LABEL: va1:15; LA64-FPELIM:       # %bb.0:16; LA64-FPELIM-NEXT:    addi.d $sp, $sp, -8017; LA64-FPELIM-NEXT:    .cfi_def_cfa_offset 8018; LA64-FPELIM-NEXT:    move $a0, $a119; LA64-FPELIM-NEXT:    st.d $a7, $sp, 7220; LA64-FPELIM-NEXT:    st.d $a6, $sp, 6421; LA64-FPELIM-NEXT:    st.d $a5, $sp, 5622; LA64-FPELIM-NEXT:    st.d $a4, $sp, 4823; LA64-FPELIM-NEXT:    st.d $a3, $sp, 4024; LA64-FPELIM-NEXT:    st.d $a2, $sp, 3225; LA64-FPELIM-NEXT:    st.d $a1, $sp, 2426; LA64-FPELIM-NEXT:    addi.d $a1, $sp, 3227; LA64-FPELIM-NEXT:    st.d $a1, $sp, 828; LA64-FPELIM-NEXT:    addi.d $sp, $sp, 8029; LA64-FPELIM-NEXT:    ret30;31; LA64-WITHFP-LABEL: va1:32; LA64-WITHFP:       # %bb.0:33; LA64-WITHFP-NEXT:    addi.d $sp, $sp, -9634; LA64-WITHFP-NEXT:    .cfi_def_cfa_offset 9635; LA64-WITHFP-NEXT:    st.d $ra, $sp, 24 # 8-byte Folded Spill36; LA64-WITHFP-NEXT:    st.d $fp, $sp, 16 # 8-byte Folded Spill37; LA64-WITHFP-NEXT:    .cfi_offset 1, -7238; LA64-WITHFP-NEXT:    .cfi_offset 22, -8039; LA64-WITHFP-NEXT:    addi.d $fp, $sp, 3240; LA64-WITHFP-NEXT:    .cfi_def_cfa 22, 6441; LA64-WITHFP-NEXT:    move $a0, $a142; LA64-WITHFP-NEXT:    st.d $a7, $fp, 5643; LA64-WITHFP-NEXT:    st.d $a6, $fp, 4844; LA64-WITHFP-NEXT:    st.d $a5, $fp, 4045; LA64-WITHFP-NEXT:    st.d $a4, $fp, 3246; LA64-WITHFP-NEXT:    st.d $a3, $fp, 2447; LA64-WITHFP-NEXT:    st.d $a2, $fp, 1648; LA64-WITHFP-NEXT:    st.d $a1, $fp, 849; LA64-WITHFP-NEXT:    addi.d $a1, $fp, 1650; LA64-WITHFP-NEXT:    st.d $a1, $fp, -3251; LA64-WITHFP-NEXT:    ld.d $fp, $sp, 16 # 8-byte Folded Reload52; LA64-WITHFP-NEXT:    ld.d $ra, $sp, 24 # 8-byte Folded Reload53; LA64-WITHFP-NEXT:    addi.d $sp, $sp, 9654; LA64-WITHFP-NEXT:    ret55  %va = alloca ptr, align 856  call void @llvm.va_start(ptr %va)57  %argp.cur = load ptr, ptr %va, align 858  %argp.next = getelementptr inbounds i64, ptr %argp.cur, i32 159  store ptr %argp.next, ptr %va, align 860  %1 = load i64, ptr %argp.cur, align 861  call void @llvm.va_end(ptr %va)62  ret i64 %163}64 65define i64 @va1_va_arg(ptr %fmt, ...) nounwind {66; LA64-FPELIM-LABEL: va1_va_arg:67; LA64-FPELIM:       # %bb.0:68; LA64-FPELIM-NEXT:    addi.d $sp, $sp, -8069; LA64-FPELIM-NEXT:    move $a0, $a170; LA64-FPELIM-NEXT:    st.d $a7, $sp, 7271; LA64-FPELIM-NEXT:    st.d $a6, $sp, 6472; LA64-FPELIM-NEXT:    st.d $a5, $sp, 5673; LA64-FPELIM-NEXT:    st.d $a4, $sp, 4874; LA64-FPELIM-NEXT:    st.d $a3, $sp, 4075; LA64-FPELIM-NEXT:    st.d $a2, $sp, 3276; LA64-FPELIM-NEXT:    st.d $a1, $sp, 2477; LA64-FPELIM-NEXT:    addi.d $a1, $sp, 3278; LA64-FPELIM-NEXT:    st.d $a1, $sp, 879; LA64-FPELIM-NEXT:    addi.d $sp, $sp, 8080; LA64-FPELIM-NEXT:    ret81;82; LA64-WITHFP-LABEL: va1_va_arg:83; LA64-WITHFP:       # %bb.0:84; LA64-WITHFP-NEXT:    addi.d $sp, $sp, -9685; LA64-WITHFP-NEXT:    st.d $ra, $sp, 24 # 8-byte Folded Spill86; LA64-WITHFP-NEXT:    st.d $fp, $sp, 16 # 8-byte Folded Spill87; LA64-WITHFP-NEXT:    addi.d $fp, $sp, 3288; LA64-WITHFP-NEXT:    move $a0, $a189; LA64-WITHFP-NEXT:    st.d $a7, $fp, 5690; LA64-WITHFP-NEXT:    st.d $a6, $fp, 4891; LA64-WITHFP-NEXT:    st.d $a5, $fp, 4092; LA64-WITHFP-NEXT:    st.d $a4, $fp, 3293; LA64-WITHFP-NEXT:    st.d $a3, $fp, 2494; LA64-WITHFP-NEXT:    st.d $a2, $fp, 1695; LA64-WITHFP-NEXT:    st.d $a1, $fp, 896; LA64-WITHFP-NEXT:    addi.d $a1, $fp, 1697; LA64-WITHFP-NEXT:    st.d $a1, $fp, -3298; LA64-WITHFP-NEXT:    ld.d $fp, $sp, 16 # 8-byte Folded Reload99; LA64-WITHFP-NEXT:    ld.d $ra, $sp, 24 # 8-byte Folded Reload100; LA64-WITHFP-NEXT:    addi.d $sp, $sp, 96101; LA64-WITHFP-NEXT:    ret102  %va = alloca ptr, align 8103  call void @llvm.va_start(ptr %va)104  %1 = va_arg ptr %va, i64105  call void @llvm.va_end(ptr %va)106  ret i64 %1107}108 109;; Ensure the adjustment when restoring the stack pointer using the frame110;; pointer is correct111 112define i64 @va1_va_arg_alloca(ptr %fmt, ...) nounwind {113; LA64-FPELIM-LABEL: va1_va_arg_alloca:114; LA64-FPELIM:       # %bb.0:115; LA64-FPELIM-NEXT:    addi.d $sp, $sp, -112116; LA64-FPELIM-NEXT:    st.d $ra, $sp, 40 # 8-byte Folded Spill117; LA64-FPELIM-NEXT:    st.d $fp, $sp, 32 # 8-byte Folded Spill118; LA64-FPELIM-NEXT:    st.d $s0, $sp, 24 # 8-byte Folded Spill119; LA64-FPELIM-NEXT:    addi.d $fp, $sp, 48120; LA64-FPELIM-NEXT:    move $s0, $a1121; LA64-FPELIM-NEXT:    st.d $a7, $fp, 56122; LA64-FPELIM-NEXT:    st.d $a6, $fp, 48123; LA64-FPELIM-NEXT:    st.d $a5, $fp, 40124; LA64-FPELIM-NEXT:    st.d $a4, $fp, 32125; LA64-FPELIM-NEXT:    st.d $a3, $fp, 24126; LA64-FPELIM-NEXT:    st.d $a2, $fp, 16127; LA64-FPELIM-NEXT:    st.d $a1, $fp, 8128; LA64-FPELIM-NEXT:    addi.d $a0, $fp, 16129; LA64-FPELIM-NEXT:    st.d $a0, $fp, -40130; LA64-FPELIM-NEXT:    addi.d $a0, $a1, 15131; LA64-FPELIM-NEXT:    bstrins.d $a0, $zero, 3, 0132; LA64-FPELIM-NEXT:    sub.d $a0, $sp, $a0133; LA64-FPELIM-NEXT:    move $sp, $a0134; LA64-FPELIM-NEXT:    pcaddu18i $ra, %call36(notdead)135; LA64-FPELIM-NEXT:    jirl $ra, $ra, 0136; LA64-FPELIM-NEXT:    move $a0, $s0137; LA64-FPELIM-NEXT:    addi.d $sp, $fp, -48138; LA64-FPELIM-NEXT:    ld.d $s0, $sp, 24 # 8-byte Folded Reload139; LA64-FPELIM-NEXT:    ld.d $fp, $sp, 32 # 8-byte Folded Reload140; LA64-FPELIM-NEXT:    ld.d $ra, $sp, 40 # 8-byte Folded Reload141; LA64-FPELIM-NEXT:    addi.d $sp, $sp, 112142; LA64-FPELIM-NEXT:    ret143;144; LA64-WITHFP-LABEL: va1_va_arg_alloca:145; LA64-WITHFP:       # %bb.0:146; LA64-WITHFP-NEXT:    addi.d $sp, $sp, -112147; LA64-WITHFP-NEXT:    st.d $ra, $sp, 40 # 8-byte Folded Spill148; LA64-WITHFP-NEXT:    st.d $fp, $sp, 32 # 8-byte Folded Spill149; LA64-WITHFP-NEXT:    st.d $s0, $sp, 24 # 8-byte Folded Spill150; LA64-WITHFP-NEXT:    addi.d $fp, $sp, 48151; LA64-WITHFP-NEXT:    move $s0, $a1152; LA64-WITHFP-NEXT:    st.d $a7, $fp, 56153; LA64-WITHFP-NEXT:    st.d $a6, $fp, 48154; LA64-WITHFP-NEXT:    st.d $a5, $fp, 40155; LA64-WITHFP-NEXT:    st.d $a4, $fp, 32156; LA64-WITHFP-NEXT:    st.d $a3, $fp, 24157; LA64-WITHFP-NEXT:    st.d $a2, $fp, 16158; LA64-WITHFP-NEXT:    st.d $a1, $fp, 8159; LA64-WITHFP-NEXT:    addi.d $a0, $fp, 16160; LA64-WITHFP-NEXT:    st.d $a0, $fp, -40161; LA64-WITHFP-NEXT:    addi.d $a0, $a1, 15162; LA64-WITHFP-NEXT:    bstrins.d $a0, $zero, 3, 0163; LA64-WITHFP-NEXT:    sub.d $a0, $sp, $a0164; LA64-WITHFP-NEXT:    move $sp, $a0165; LA64-WITHFP-NEXT:    pcaddu18i $ra, %call36(notdead)166; LA64-WITHFP-NEXT:    jirl $ra, $ra, 0167; LA64-WITHFP-NEXT:    move $a0, $s0168; LA64-WITHFP-NEXT:    addi.d $sp, $fp, -48169; LA64-WITHFP-NEXT:    ld.d $s0, $sp, 24 # 8-byte Folded Reload170; LA64-WITHFP-NEXT:    ld.d $fp, $sp, 32 # 8-byte Folded Reload171; LA64-WITHFP-NEXT:    ld.d $ra, $sp, 40 # 8-byte Folded Reload172; LA64-WITHFP-NEXT:    addi.d $sp, $sp, 112173; LA64-WITHFP-NEXT:    ret174  %va = alloca ptr, align 8175  call void @llvm.va_start(ptr %va)176  %1 = va_arg ptr %va, i64177  %2 = alloca i8, i64 %1178  call void @notdead(ptr %2)179  call void @llvm.va_end(ptr %va)180  ret i64 %1181}182 183define void @va1_caller() nounwind {184; LA64-FPELIM-LABEL: va1_caller:185; LA64-FPELIM:       # %bb.0:186; LA64-FPELIM-NEXT:    addi.d $sp, $sp, -16187; LA64-FPELIM-NEXT:    st.d $ra, $sp, 8 # 8-byte Folded Spill188; LA64-FPELIM-NEXT:    lu52i.d $a1, $zero, 1023189; LA64-FPELIM-NEXT:    ori $a2, $zero, 2190; LA64-FPELIM-NEXT:    pcaddu18i $ra, %call36(va1)191; LA64-FPELIM-NEXT:    jirl $ra, $ra, 0192; LA64-FPELIM-NEXT:    ld.d $ra, $sp, 8 # 8-byte Folded Reload193; LA64-FPELIM-NEXT:    addi.d $sp, $sp, 16194; LA64-FPELIM-NEXT:    ret195;196; LA64-WITHFP-LABEL: va1_caller:197; LA64-WITHFP:       # %bb.0:198; LA64-WITHFP-NEXT:    addi.d $sp, $sp, -16199; LA64-WITHFP-NEXT:    st.d $ra, $sp, 8 # 8-byte Folded Spill200; LA64-WITHFP-NEXT:    st.d $fp, $sp, 0 # 8-byte Folded Spill201; LA64-WITHFP-NEXT:    addi.d $fp, $sp, 16202; LA64-WITHFP-NEXT:    lu52i.d $a1, $zero, 1023203; LA64-WITHFP-NEXT:    ori $a2, $zero, 2204; LA64-WITHFP-NEXT:    pcaddu18i $ra, %call36(va1)205; LA64-WITHFP-NEXT:    jirl $ra, $ra, 0206; LA64-WITHFP-NEXT:    ld.d $fp, $sp, 0 # 8-byte Folded Reload207; LA64-WITHFP-NEXT:    ld.d $ra, $sp, 8 # 8-byte Folded Reload208; LA64-WITHFP-NEXT:    addi.d $sp, $sp, 16209; LA64-WITHFP-NEXT:    ret210  %1 = call i64 (ptr, ...) @va1(ptr undef, double 1.0, i64 2)211  ret void212}213 214;; Ensure a named 2*GRLen argument is passed in a1 and a2, while the215;; vararg long double is passed in a4 and a5 (rather than a3 and a4)216 217declare i64 @va_aligned_register(i64 %a, i128 %b, ...)218 219define void @va_aligned_register_caller() nounwind {220; LA64-FPELIM-LABEL: va_aligned_register_caller:221; LA64-FPELIM:       # %bb.0:222; LA64-FPELIM-NEXT:    addi.d $sp, $sp, -16223; LA64-FPELIM-NEXT:    st.d $ra, $sp, 8 # 8-byte Folded Spill224; LA64-FPELIM-NEXT:    lu12i.w $a0, 335544225; LA64-FPELIM-NEXT:    ori $a0, $a0, 1311226; LA64-FPELIM-NEXT:    lu32i.d $a0, 335544227; LA64-FPELIM-NEXT:    lu52i.d $a4, $a0, -328228; LA64-FPELIM-NEXT:    lu12i.w $a0, -503317229; LA64-FPELIM-NEXT:    ori $a0, $a0, 2129230; LA64-FPELIM-NEXT:    lu32i.d $a0, 37355231; LA64-FPELIM-NEXT:    lu52i.d $a5, $a0, 1024232; LA64-FPELIM-NEXT:    ori $a0, $zero, 2233; LA64-FPELIM-NEXT:    ori $a1, $zero, 1111234; LA64-FPELIM-NEXT:    move $a2, $zero235; LA64-FPELIM-NEXT:    pcaddu18i $ra, %call36(va_aligned_register)236; LA64-FPELIM-NEXT:    jirl $ra, $ra, 0237; LA64-FPELIM-NEXT:    ld.d $ra, $sp, 8 # 8-byte Folded Reload238; LA64-FPELIM-NEXT:    addi.d $sp, $sp, 16239; LA64-FPELIM-NEXT:    ret240;241; LA64-WITHFP-LABEL: va_aligned_register_caller:242; LA64-WITHFP:       # %bb.0:243; LA64-WITHFP-NEXT:    addi.d $sp, $sp, -16244; LA64-WITHFP-NEXT:    st.d $ra, $sp, 8 # 8-byte Folded Spill245; LA64-WITHFP-NEXT:    st.d $fp, $sp, 0 # 8-byte Folded Spill246; LA64-WITHFP-NEXT:    addi.d $fp, $sp, 16247; LA64-WITHFP-NEXT:    lu12i.w $a0, 335544248; LA64-WITHFP-NEXT:    ori $a0, $a0, 1311249; LA64-WITHFP-NEXT:    lu32i.d $a0, 335544250; LA64-WITHFP-NEXT:    lu52i.d $a4, $a0, -328251; LA64-WITHFP-NEXT:    lu12i.w $a0, -503317252; LA64-WITHFP-NEXT:    ori $a0, $a0, 2129253; LA64-WITHFP-NEXT:    lu32i.d $a0, 37355254; LA64-WITHFP-NEXT:    lu52i.d $a5, $a0, 1024255; LA64-WITHFP-NEXT:    ori $a0, $zero, 2256; LA64-WITHFP-NEXT:    ori $a1, $zero, 1111257; LA64-WITHFP-NEXT:    move $a2, $zero258; LA64-WITHFP-NEXT:    pcaddu18i $ra, %call36(va_aligned_register)259; LA64-WITHFP-NEXT:    jirl $ra, $ra, 0260; LA64-WITHFP-NEXT:    ld.d $fp, $sp, 0 # 8-byte Folded Reload261; LA64-WITHFP-NEXT:    ld.d $ra, $sp, 8 # 8-byte Folded Reload262; LA64-WITHFP-NEXT:    addi.d $sp, $sp, 16263; LA64-WITHFP-NEXT:    ret264 %1 = call i64 (i64, i128, ...) @va_aligned_register(i64 2, i128 1111,265   fp128 0xLEB851EB851EB851F400091EB851EB851)266 ret void267}268 269;; Check 2*GRLen values are aligned appropriately when passed on the stack270;; in a vararg call271 272declare i32 @va_aligned_stack_callee(i32, ...)273 274define void @va_aligned_stack_caller() nounwind {275; LA64-FPELIM-LABEL: va_aligned_stack_caller:276; LA64-FPELIM:       # %bb.0:277; LA64-FPELIM-NEXT:    addi.d $sp, $sp, -112278; LA64-FPELIM-NEXT:    st.d $ra, $sp, 104 # 8-byte Folded Spill279; LA64-FPELIM-NEXT:    ori $a0, $zero, 17280; LA64-FPELIM-NEXT:    st.d $a0, $sp, 48281; LA64-FPELIM-NEXT:    ori $a0, $zero, 16282; LA64-FPELIM-NEXT:    st.d $a0, $sp, 40283; LA64-FPELIM-NEXT:    ori $a0, $zero, 15284; LA64-FPELIM-NEXT:    st.d $a0, $sp, 32285; LA64-FPELIM-NEXT:    ori $a0, $zero, 14286; LA64-FPELIM-NEXT:    st.d $a0, $sp, 0287; LA64-FPELIM-NEXT:    lu12i.w $a0, -503317288; LA64-FPELIM-NEXT:    ori $a0, $a0, 2129289; LA64-FPELIM-NEXT:    lu32i.d $a0, 37355290; LA64-FPELIM-NEXT:    lu52i.d $a0, $a0, 1024291; LA64-FPELIM-NEXT:    st.d $a0, $sp, 24292; LA64-FPELIM-NEXT:    lu12i.w $a0, 335544293; LA64-FPELIM-NEXT:    ori $a0, $a0, 1311294; LA64-FPELIM-NEXT:    lu32i.d $a0, 335544295; LA64-FPELIM-NEXT:    lu52i.d $a0, $a0, -328296; LA64-FPELIM-NEXT:    st.d $a0, $sp, 16297; LA64-FPELIM-NEXT:    st.d $zero, $sp, 88298; LA64-FPELIM-NEXT:    vrepli.b $vr0, 0299; LA64-FPELIM-NEXT:    vst $vr0, $sp, 72300; LA64-FPELIM-NEXT:    ori $a5, $zero, 1000301; LA64-FPELIM-NEXT:    ori $a0, $zero, 1302; LA64-FPELIM-NEXT:    ori $a1, $zero, 11303; LA64-FPELIM-NEXT:    addi.d $a2, $sp, 64304; LA64-FPELIM-NEXT:    ori $a3, $zero, 12305; LA64-FPELIM-NEXT:    ori $a4, $zero, 13306; LA64-FPELIM-NEXT:    ori $a7, $zero, 1307; LA64-FPELIM-NEXT:    st.d $a5, $sp, 64308; LA64-FPELIM-NEXT:    move $a6, $zero309; LA64-FPELIM-NEXT:    pcaddu18i $ra, %call36(va_aligned_stack_callee)310; LA64-FPELIM-NEXT:    jirl $ra, $ra, 0311; LA64-FPELIM-NEXT:    ld.d $ra, $sp, 104 # 8-byte Folded Reload312; LA64-FPELIM-NEXT:    addi.d $sp, $sp, 112313; LA64-FPELIM-NEXT:    ret314;315; LA64-WITHFP-LABEL: va_aligned_stack_caller:316; LA64-WITHFP:       # %bb.0:317; LA64-WITHFP-NEXT:    addi.d $sp, $sp, -128318; LA64-WITHFP-NEXT:    st.d $ra, $sp, 120 # 8-byte Folded Spill319; LA64-WITHFP-NEXT:    st.d $fp, $sp, 112 # 8-byte Folded Spill320; LA64-WITHFP-NEXT:    addi.d $fp, $sp, 128321; LA64-WITHFP-NEXT:    ori $a0, $zero, 17322; LA64-WITHFP-NEXT:    st.d $a0, $sp, 48323; LA64-WITHFP-NEXT:    ori $a0, $zero, 16324; LA64-WITHFP-NEXT:    st.d $a0, $sp, 40325; LA64-WITHFP-NEXT:    ori $a0, $zero, 15326; LA64-WITHFP-NEXT:    st.d $a0, $sp, 32327; LA64-WITHFP-NEXT:    ori $a0, $zero, 14328; LA64-WITHFP-NEXT:    st.d $a0, $sp, 0329; LA64-WITHFP-NEXT:    lu12i.w $a0, -503317330; LA64-WITHFP-NEXT:    ori $a0, $a0, 2129331; LA64-WITHFP-NEXT:    lu32i.d $a0, 37355332; LA64-WITHFP-NEXT:    lu52i.d $a0, $a0, 1024333; LA64-WITHFP-NEXT:    st.d $a0, $sp, 24334; LA64-WITHFP-NEXT:    lu12i.w $a0, 335544335; LA64-WITHFP-NEXT:    ori $a0, $a0, 1311336; LA64-WITHFP-NEXT:    lu32i.d $a0, 335544337; LA64-WITHFP-NEXT:    lu52i.d $a0, $a0, -328338; LA64-WITHFP-NEXT:    st.d $a0, $sp, 16339; LA64-WITHFP-NEXT:    st.d $zero, $fp, -40340; LA64-WITHFP-NEXT:    vrepli.b $vr0, 0341; LA64-WITHFP-NEXT:    vst $vr0, $fp, -56342; LA64-WITHFP-NEXT:    ori $a5, $zero, 1000343; LA64-WITHFP-NEXT:    ori $a0, $zero, 1344; LA64-WITHFP-NEXT:    ori $a1, $zero, 11345; LA64-WITHFP-NEXT:    addi.d $a2, $fp, -64346; LA64-WITHFP-NEXT:    ori $a3, $zero, 12347; LA64-WITHFP-NEXT:    ori $a4, $zero, 13348; LA64-WITHFP-NEXT:    ori $a7, $zero, 1349; LA64-WITHFP-NEXT:    st.d $a5, $fp, -64350; LA64-WITHFP-NEXT:    move $a6, $zero351; LA64-WITHFP-NEXT:    pcaddu18i $ra, %call36(va_aligned_stack_callee)352; LA64-WITHFP-NEXT:    jirl $ra, $ra, 0353; LA64-WITHFP-NEXT:    ld.d $fp, $sp, 112 # 8-byte Folded Reload354; LA64-WITHFP-NEXT:    ld.d $ra, $sp, 120 # 8-byte Folded Reload355; LA64-WITHFP-NEXT:    addi.d $sp, $sp, 128356; LA64-WITHFP-NEXT:    ret357  %1 = call i32 (i32, ...) @va_aligned_stack_callee(i32 1, i32 11,358    i256 1000, i32 12, i32 13, i128 18446744073709551616, i32 14,359    fp128 0xLEB851EB851EB851F400091EB851EB851, i64 15,360    [2 x i64] [i64 16, i64 17])361  ret void362}363