305 lines · plain
1/* Original C (for context):2* __attribute__((noinline))3* double regs_fp_params(double a, double b, double c, double d, double e, double f) {4* asm volatile("" :: "x"(a), "x"(b), "x"(c), "x"(d), "x"(e), "x"(f));5* return a + b + c + d + e + f;6* }*/7 .file "regs_fp_params.c"8 .text9 .globl regs_fp_params # -- Begin function regs_fp_params10 .p2align 411 .type regs_fp_params,@function12regs_fp_params: # @regs_fp_params13.Lfunc_begin0:14 .file 0 "." "regs_fp_params.c" md5 0xdd883927454b0ea1cdce7b3c16c6a64315 .loc 0 2 0 # regs_fp_params.c:2:016 .cfi_startproc17# %bb.0: # %entry18 #DEBUG_VALUE: regs_fp_params:a <- $xmm019 #DEBUG_VALUE: regs_fp_params:b <- $xmm120 #DEBUG_VALUE: regs_fp_params:c <- $xmm221 #DEBUG_VALUE: regs_fp_params:d <- $xmm322 #DEBUG_VALUE: regs_fp_params:e <- $xmm423 #DEBUG_VALUE: regs_fp_params:f <- $xmm524 pushq %rbp25 .cfi_def_cfa_offset 1626 .cfi_offset %rbp, -1627 movq %rsp, %rbp28 .cfi_def_cfa_register %rbp29.Ltmp0:30 .loc 0 3 3 prologue_end # regs_fp_params.c:3:331 #APP32 #NO_APP33 .loc 0 4 12 # regs_fp_params.c:4:1234 addsd %xmm1, %xmm035.Ltmp1:36 #DEBUG_VALUE: regs_fp_params:a <- [DW_OP_LLVM_entry_value 1] $xmm037 .loc 0 4 16 is_stmt 0 # regs_fp_params.c:4:1638 addsd %xmm2, %xmm039 .loc 0 4 20 # regs_fp_params.c:4:2040 addsd %xmm3, %xmm041 .loc 0 4 24 # regs_fp_params.c:4:2442 addsd %xmm4, %xmm043 .loc 0 4 28 # regs_fp_params.c:4:2844 addsd %xmm5, %xmm045 .loc 0 4 3 epilogue_begin # regs_fp_params.c:4:346 popq %rbp47 .cfi_def_cfa %rsp, 848 retq49.Ltmp2:50.Lfunc_end0:51 .size regs_fp_params, .Lfunc_end0-regs_fp_params52 .cfi_endproc53 # -- End function54 .section .debug_loclists,"",@progbits55 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length56.Ldebug_list_header_start0:57 .short 5 # Version58 .byte 8 # Address size59 .byte 0 # Segment selector size60 .long 1 # Offset entry count61.Lloclists_table_base0:62 .long .Ldebug_loc0-.Lloclists_table_base063.Ldebug_loc0:64 .byte 4 # DW_LLE_offset_pair65 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset66 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset67 .byte 1 # Loc expr size68 .byte 97 # DW_OP_reg1769 .byte 4 # DW_LLE_offset_pair70 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset71 .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset72 .byte 4 # Loc expr size73 .byte 163 # DW_OP_entry_value74 .byte 1 # 175 .byte 97 # DW_OP_reg1776 .byte 159 # DW_OP_stack_value77 .byte 0 # DW_LLE_end_of_list78.Ldebug_list_header_end0:79 .section .debug_abbrev,"",@progbits80 .byte 1 # Abbreviation Code81 .byte 17 # DW_TAG_compile_unit82 .byte 1 # DW_CHILDREN_yes83 .byte 37 # DW_AT_producer84 .byte 37 # DW_FORM_strx185 .byte 19 # DW_AT_language86 .byte 5 # DW_FORM_data287 .byte 3 # DW_AT_name88 .byte 37 # DW_FORM_strx189 .byte 114 # DW_AT_str_offsets_base90 .byte 23 # DW_FORM_sec_offset91 .byte 16 # DW_AT_stmt_list92 .byte 23 # DW_FORM_sec_offset93 .byte 27 # DW_AT_comp_dir94 .byte 37 # DW_FORM_strx195 .byte 17 # DW_AT_low_pc96 .byte 27 # DW_FORM_addrx97 .byte 18 # DW_AT_high_pc98 .byte 6 # DW_FORM_data499 .byte 115 # DW_AT_addr_base100 .byte 23 # DW_FORM_sec_offset101 .ascii "\214\001" # DW_AT_loclists_base102 .byte 23 # DW_FORM_sec_offset103 .byte 0 # EOM(1)104 .byte 0 # EOM(2)105 .byte 2 # Abbreviation Code106 .byte 46 # DW_TAG_subprogram107 .byte 1 # DW_CHILDREN_yes108 .byte 17 # DW_AT_low_pc109 .byte 27 # DW_FORM_addrx110 .byte 18 # DW_AT_high_pc111 .byte 6 # DW_FORM_data4112 .byte 64 # DW_AT_frame_base113 .byte 24 # DW_FORM_exprloc114 .byte 122 # DW_AT_call_all_calls115 .byte 25 # DW_FORM_flag_present116 .byte 3 # DW_AT_name117 .byte 37 # DW_FORM_strx1118 .byte 58 # DW_AT_decl_file119 .byte 11 # DW_FORM_data1120 .byte 59 # DW_AT_decl_line121 .byte 11 # DW_FORM_data1122 .byte 39 # DW_AT_prototyped123 .byte 25 # DW_FORM_flag_present124 .byte 73 # DW_AT_type125 .byte 19 # DW_FORM_ref4126 .byte 63 # DW_AT_external127 .byte 25 # DW_FORM_flag_present128 .byte 0 # EOM(1)129 .byte 0 # EOM(2)130 .byte 3 # Abbreviation Code131 .byte 5 # DW_TAG_formal_parameter132 .byte 0 # DW_CHILDREN_no133 .byte 2 # DW_AT_location134 .byte 34 # DW_FORM_loclistx135 .byte 3 # DW_AT_name136 .byte 37 # DW_FORM_strx1137 .byte 58 # DW_AT_decl_file138 .byte 11 # DW_FORM_data1139 .byte 59 # DW_AT_decl_line140 .byte 11 # DW_FORM_data1141 .byte 73 # DW_AT_type142 .byte 19 # DW_FORM_ref4143 .byte 0 # EOM(1)144 .byte 0 # EOM(2)145 .byte 4 # Abbreviation Code146 .byte 5 # DW_TAG_formal_parameter147 .byte 0 # DW_CHILDREN_no148 .byte 2 # DW_AT_location149 .byte 24 # DW_FORM_exprloc150 .byte 3 # DW_AT_name151 .byte 37 # DW_FORM_strx1152 .byte 58 # DW_AT_decl_file153 .byte 11 # DW_FORM_data1154 .byte 59 # DW_AT_decl_line155 .byte 11 # DW_FORM_data1156 .byte 73 # DW_AT_type157 .byte 19 # DW_FORM_ref4158 .byte 0 # EOM(1)159 .byte 0 # EOM(2)160 .byte 5 # Abbreviation Code161 .byte 36 # DW_TAG_base_type162 .byte 0 # DW_CHILDREN_no163 .byte 3 # DW_AT_name164 .byte 37 # DW_FORM_strx1165 .byte 62 # DW_AT_encoding166 .byte 11 # DW_FORM_data1167 .byte 11 # DW_AT_byte_size168 .byte 11 # DW_FORM_data1169 .byte 0 # EOM(1)170 .byte 0 # EOM(2)171 .byte 0 # EOM(3)172 .section .debug_info,"",@progbits173.Lcu_begin0:174 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit175.Ldebug_info_start0:176 .short 5 # DWARF version number177 .byte 1 # DWARF Unit Type178 .byte 8 # Address Size (in bytes)179 .long .debug_abbrev # Offset Into Abbrev. Section180 .byte 1 # Abbrev [1] 0xc:0x6b DW_TAG_compile_unit181 .byte 0 # DW_AT_producer182 .short 29 # DW_AT_language183 .byte 1 # DW_AT_name184 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base185 .long .Lline_table_start0 # DW_AT_stmt_list186 .byte 2 # DW_AT_comp_dir187 .byte 0 # DW_AT_low_pc188 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc189 .long .Laddr_table_base0 # DW_AT_addr_base190 .long .Lloclists_table_base0 # DW_AT_loclists_base191 .byte 2 # Abbrev [2] 0x27:0x4b DW_TAG_subprogram192 .byte 0 # DW_AT_low_pc193 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc194 .byte 1 # DW_AT_frame_base195 .byte 86196 # DW_AT_call_all_calls197 .byte 3 # DW_AT_name198 .byte 0 # DW_AT_decl_file199 .byte 2 # DW_AT_decl_line200 # DW_AT_prototyped201 .long 114 # DW_AT_type202 # DW_AT_external203 .byte 3 # Abbrev [3] 0x36:0x9 DW_TAG_formal_parameter204 .byte 0 # DW_AT_location205 .byte 5 # DW_AT_name206 .byte 0 # DW_AT_decl_file207 .byte 2 # DW_AT_decl_line208 .long 114 # DW_AT_type209 .byte 4 # Abbrev [4] 0x3f:0xa DW_TAG_formal_parameter210 .byte 1 # DW_AT_location211 .byte 98212 .byte 6 # DW_AT_name213 .byte 0 # DW_AT_decl_file214 .byte 2 # DW_AT_decl_line215 .long 114 # DW_AT_type216 .byte 4 # Abbrev [4] 0x49:0xa DW_TAG_formal_parameter217 .byte 1 # DW_AT_location218 .byte 99219 .byte 7 # DW_AT_name220 .byte 0 # DW_AT_decl_file221 .byte 2 # DW_AT_decl_line222 .long 114 # DW_AT_type223 .byte 4 # Abbrev [4] 0x53:0xa DW_TAG_formal_parameter224 .byte 1 # DW_AT_location225 .byte 100226 .byte 8 # DW_AT_name227 .byte 0 # DW_AT_decl_file228 .byte 2 # DW_AT_decl_line229 .long 114 # DW_AT_type230 .byte 4 # Abbrev [4] 0x5d:0xa DW_TAG_formal_parameter231 .byte 1 # DW_AT_location232 .byte 101233 .byte 9 # DW_AT_name234 .byte 0 # DW_AT_decl_file235 .byte 2 # DW_AT_decl_line236 .long 114 # DW_AT_type237 .byte 4 # Abbrev [4] 0x67:0xa DW_TAG_formal_parameter238 .byte 1 # DW_AT_location239 .byte 102240 .byte 10 # DW_AT_name241 .byte 0 # DW_AT_decl_file242 .byte 2 # DW_AT_decl_line243 .long 114 # DW_AT_type244 .byte 0 # End Of Children Mark245 .byte 5 # Abbrev [5] 0x72:0x4 DW_TAG_base_type246 .byte 4 # DW_AT_name247 .byte 4 # DW_AT_encoding248 .byte 8 # DW_AT_byte_size249 .byte 0 # End Of Children Mark250.Ldebug_info_end0:251 .section .debug_str_offsets,"",@progbits252 .long 48 # Length of String Offsets Set253 .short 5254 .short 0255.Lstr_offsets_base0:256 .section .debug_str,"MS",@progbits,1257.Linfo_string0:258 .asciz "clang version 22.0.0git (https://github.com/UltimateForce21/llvm-project.git 79c0a9e1e7da0f727c41d27c9c6ff8a28bb7d06f)" # string offset=0259.Linfo_string1:260 .asciz "regs_fp_params.c" # string offset=119261.Linfo_string2:262 .asciz "." # string offset=136263.Linfo_string3:264 .asciz "regs_fp_params" # string offset=138265.Linfo_string4:266 .asciz "double" # string offset=153267.Linfo_string5:268 .asciz "a" # string offset=160269.Linfo_string6:270 .asciz "b" # string offset=162271.Linfo_string7:272 .asciz "c" # string offset=164273.Linfo_string8:274 .asciz "d" # string offset=166275.Linfo_string9:276 .asciz "e" # string offset=168277.Linfo_string10:278 .asciz "f" # string offset=170279 .section .debug_str_offsets,"",@progbits280 .long .Linfo_string0281 .long .Linfo_string1282 .long .Linfo_string2283 .long .Linfo_string3284 .long .Linfo_string4285 .long .Linfo_string5286 .long .Linfo_string6287 .long .Linfo_string7288 .long .Linfo_string8289 .long .Linfo_string9290 .long .Linfo_string10291 .section .debug_addr,"",@progbits292 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution293.Ldebug_addr_start0:294 .short 5 # DWARF version number295 .byte 8 # Address size296 .byte 0 # Segment selector size297.Laddr_table_base0:298 .quad .Lfunc_begin0299.Ldebug_addr_end0:300 .ident "clang version 22.0.0git (https://github.com/UltimateForce21/llvm-project.git 79c0a9e1e7da0f727c41d27c9c6ff8a28bb7d06f)"301 .section ".note.GNU-stack","",@progbits302 .addrsig303 .section .debug_line,"",@progbits304.Lline_table_start0:305