Fix tests

dev/git-series/gccdum
Matt Godbolt 7 years ago
parent b4581bd294
commit 5bf3f5bef3

File diff suppressed because it is too large Load Diff

@ -1,35 +1,35 @@
.Ltext0:
main:
.LFB31:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
.LVL0:
push {r3, lr}
push {r3, lr}
.LCFI0:
.LBB6:
.LBB7:
movs r0, #1
movw r1, #:lower16:.LC0
movt r1, #:upper16:.LC0
bl __printf_chk
movs r0, #1
movw r1, #:lower16:.LC0
movt r1, #:upper16:.LC0
bl __printf_chk
.LVL1:
.LBE7:
.LBE6:
.LBB8:
.LBB9:
movs r0, #1
movw r1, #:lower16:.LC1
movt r1, #:upper16:.LC1
bl __printf_chk
movs r0, #1
movw r1, #:lower16:.LC1
movt r1, #:upper16:.LC1
bl __printf_chk
.LBE9:
.LBE8:
movs r0, #0
pop {r3, pc}
movs r0, #0
pop {r3, pc}
.LFE31:
.LC0:
.ascii "Hello world\000"
.ascii "Hello world\000"
.LC1:
.ascii "moo\012\000"
.ascii "moo\012\000"
.Letext0:
.Ldebug_info0:
.Ldebug_abbrev0:

@ -1,18 +1,18 @@
main:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
push {r3, lr}
movs r0, #1
movw r1, #:lower16:.LC0
movt r1, #:upper16:.LC0
bl __printf_chk
movs r0, #1
movw r1, #:lower16:.LC1
movt r1, #:upper16:.LC1
bl __printf_chk
movs r0, #0
pop {r3, pc}
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
push {r3, lr}
movs r0, #1
movw r1, #:lower16:.LC0
movt r1, #:upper16:.LC0
bl __printf_chk
movs r0, #1
movw r1, #:lower16:.LC1
movt r1, #:upper16:.LC1
bl __printf_chk
movs r0, #0
pop {r3, pc}
.LC0:
.ascii "Hello world\000"
.ascii "Hello world\000"
.LC1:
.ascii "moo\012\000"
.ascii "moo\012\000"

@ -1,16 +1,16 @@
main:
push {r3, lr}
movs r0, #1
movw r1, #:lower16:.LC0
movt r1, #:upper16:.LC0
bl __printf_chk
movs r0, #1
movw r1, #:lower16:.LC1
movt r1, #:upper16:.LC1
bl __printf_chk
movs r0, #0
pop {r3, pc}
push {r3, lr}
movs r0, #1
movw r1, #:lower16:.LC0
movt r1, #:upper16:.LC0
bl __printf_chk
movs r0, #1
movw r1, #:lower16:.LC1
movt r1, #:upper16:.LC1
bl __printf_chk
movs r0, #0
pop {r3, pc}
.LC0:
.ascii "Hello world\000"
.ascii "Hello world\000"
.LC1:
.ascii "moo\012\000"
.ascii "moo\012\000"

@ -1,19 +1,19 @@
LongLong:
.word 123456
.word 0
.type Long, %object
.size Long, 4
.word 123456
.word 0
.type Long, %object
.size Long, 4
Long:
.word 2345
.type Int, %object
.size Int, 4
.word 2345
.type Int, %object
.size Int, 4
Int:
.word 123
.type Short, %object
.size Short, 2
.word 123
.type Short, %object
.size Short, 2
Short:
.short 4660
.type Char, %object
.size Char, 1
.short 4660
.type Char, %object
.size Char, 1
Char:
.byte -128
.byte -128

@ -1,11 +1,11 @@
LongLong:
.word 123456
.word 0
.word 123456
.word 0
Long:
.word 2345
.word 2345
Int:
.word 123
.word 123
Short:
.short 4660
.short 4660
Char:
.byte -128
.byte -128

@ -1,195 +1,195 @@
.file "-"
.file 1 "/home/mgodbolt/dev/gcc-explorer/-"
.file 2 "/home/mgodbolt/dev/gcc-explorer/<stdin>"
.section .debug_info,"",@progbits
.file "-"
.file 1 "/home/mgodbolt/dev/gcc-explorer/-"
.file 2 "/home/mgodbolt/dev/gcc-explorer/<stdin>"
.section .debug_info,"",@progbits
.Lsection_info:
.section .debug_abbrev,"",@progbits
.section .debug_abbrev,"",@progbits
.Lsection_abbrev:
.section .debug_aranges,"",@progbits
.section .debug_macinfo,"",@progbits
.section .debug_line,"",@progbits
.section .debug_aranges,"",@progbits
.section .debug_macinfo,"",@progbits
.section .debug_line,"",@progbits
.Lsection_line:
.section .debug_loc,"",@progbits
.section .debug_pubnames,"",@progbits
.section .debug_pubtypes,"",@progbits
.section .debug_str,"",@progbits
.section .debug_loc,"",@progbits
.section .debug_pubnames,"",@progbits
.section .debug_pubtypes,"",@progbits
.section .debug_str,"",@progbits
.Lsection_str:
.section .debug_ranges,"",@progbits
.section .debug_ranges,"",@progbits
.Ldebug_range:
.section .debug_loc,"",@progbits
.section .debug_loc,"",@progbits
.Lsection_debug_loc:
.text
.text
.Ltext_begin:
.data
.text
.globl main
.align 16, 0x90
.type main,@function
.data
.text
.globl main
.align 16, 0x90
.type main,@function
main: # @main
.Ltmp2:
.cfi_startproc
.cfi_startproc
.Lfunc_begin0:
.loc 2 2 0 # <stdin>:2:0
.loc 2 2 0 # <stdin>:2:0
# BB#0:
pushq %rbp
pushq %rbp
.Ltmp3:
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
.Ltmp4:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp5:
.cfi_def_cfa_register %rbp
.loc 2 3 1 prologue_end # <stdin>:3:1
.cfi_def_cfa_register %rbp
.loc 2 3 1 prologue_end # <stdin>:3:1
.Ltmp6:
movl $.L.str, %edi
xorb %al, %al
callq printf
.loc 2 4 3 # <stdin>:4:3
movl $str, %edi
callq puts
xorl %eax, %eax
.loc 2 5 1 # <stdin>:5:1
popq %rbp
ret
movl $.L.str, %edi
xorb %al, %al
callq printf
.loc 2 4 3 # <stdin>:4:3
movl $str, %edi
callq puts
xorl %eax, %eax
.loc 2 5 1 # <stdin>:5:1
popq %rbp
ret
.Ltmp7:
.Ltmp8:
.size main, .Ltmp8-main
.size main, .Ltmp8-main
.Lfunc_end0:
.Ltmp9:
.cfi_endproc
.cfi_endproc
.Leh_func_end0:
.type .L.str,@object # @.str
.section .rodata.str1.1,"aMS",@progbits,1
.type .L.str,@object # @.str
.section .rodata.str1.1,"aMS",@progbits,1
.L.str:
.asciz "Hello world"
.size .L.str, 12
.type str,@object # @str
.section .rodata,"a",@progbits
.asciz "Hello world"
.size .L.str, 12
.type str,@object # @str
.section .rodata,"a",@progbits
str:
.asciz "moo"
.size str, 4
.text
.asciz "moo"
.size str, 4
.text
.Ltext_end:
.data
.data
.Ldata_end:
.text
.text
.Lsection_end1:
.section .debug_info,"",@progbits
.section .debug_info,"",@progbits
.Linfo_begin1:
.long 175 # Length of Compilation Unit Info
.short 2 # DWARF version number
.long .Labbrev_begin # Offset Into Abbrev. Section
.byte 8 # Address Size (in bytes)
.byte 1 # Abbrev [1] 0xb:0xa8 DW_TAG_compile_unit
.ascii "Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)" # DW_AT_producer
.byte 0
.short 4 # DW_AT_language
.byte 45 # DW_AT_name
.byte 0
.quad 0 # DW_AT_entry_pc
.long .Lsection_line # DW_AT_stmt_list
.ascii "/home/mgodbolt/dev/gcc-explorer" # DW_AT_comp_dir
.byte 0
.byte 1 # DW_AT_APPLE_optimized
.byte 2 # Abbrev [2] 0x8b:0x20 DW_TAG_subprogram
.ascii "main" # DW_AT_name
.byte 0
.byte 2 # DW_AT_decl_file
.byte 2 # DW_AT_decl_line
.byte 1 # DW_AT_prototyped
.long 171 # DW_AT_type
.byte 1 # DW_AT_external
.quad .Lfunc_begin0 # DW_AT_low_pc
.quad .Lfunc_end0 # DW_AT_high_pc
.byte 1 # DW_AT_frame_base
.byte 86
.byte 3 # Abbrev [3] 0xab:0x7 DW_TAG_base_type
.ascii "int" # DW_AT_name
.byte 0
.byte 5 # DW_AT_encoding
.byte 4 # DW_AT_byte_size
.byte 0 # End Of Children Mark
.long 175 # Length of Compilation Unit Info
.short 2 # DWARF version number
.long .Labbrev_begin # Offset Into Abbrev. Section
.byte 8 # Address Size (in bytes)
.byte 1 # Abbrev [1] 0xb:0xa8 DW_TAG_compile_unit
.ascii "Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)" # DW_AT_producer
.byte 0
.short 4 # DW_AT_language
.byte 45 # DW_AT_name
.byte 0
.quad 0 # DW_AT_entry_pc
.long .Lsection_line # DW_AT_stmt_list
.ascii "/home/mgodbolt/dev/gcc-explorer" # DW_AT_comp_dir
.byte 0
.byte 1 # DW_AT_APPLE_optimized
.byte 2 # Abbrev [2] 0x8b:0x20 DW_TAG_subprogram
.ascii "main" # DW_AT_name
.byte 0
.byte 2 # DW_AT_decl_file
.byte 2 # DW_AT_decl_line
.byte 1 # DW_AT_prototyped
.long 171 # DW_AT_type
.byte 1 # DW_AT_external
.quad .Lfunc_begin0 # DW_AT_low_pc
.quad .Lfunc_end0 # DW_AT_high_pc
.byte 1 # DW_AT_frame_base
.byte 86
.byte 3 # Abbrev [3] 0xab:0x7 DW_TAG_base_type
.ascii "int" # DW_AT_name
.byte 0
.byte 5 # DW_AT_encoding
.byte 4 # DW_AT_byte_size
.byte 0 # End Of Children Mark
.Linfo_end1:
.section .debug_abbrev,"",@progbits
.section .debug_abbrev,"",@progbits
.Labbrev_begin:
.byte 1 # Abbreviation Code
.byte 17 # DW_TAG_compile_unit
.byte 1 # DW_CHILDREN_yes
.byte 37 # DW_AT_producer
.byte 8 # DW_FORM_string
.byte 19 # DW_AT_language
.byte 5 # DW_FORM_data2
.byte 3 # DW_AT_name
.byte 8 # DW_FORM_string
.byte 82 # DW_AT_entry_pc
.byte 1 # DW_FORM_addr
.byte 16 # DW_AT_stmt_list
.byte 6 # DW_FORM_data4
.byte 27 # DW_AT_comp_dir
.byte 8 # DW_FORM_string
.ascii "\341\177" # DW_AT_APPLE_optimized
.byte 12 # DW_FORM_flag
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 2 # Abbreviation Code
.byte 46 # DW_TAG_subprogram
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 8 # DW_FORM_string
.byte 58 # DW_AT_decl_file
.byte 11 # DW_FORM_data1
.byte 59 # DW_AT_decl_line
.byte 11 # DW_FORM_data1
.byte 39 # DW_AT_prototyped
.byte 12 # DW_FORM_flag
.byte 73 # DW_AT_type
.byte 19 # DW_FORM_ref4
.byte 63 # DW_AT_external
.byte 12 # DW_FORM_flag
.byte 17 # DW_AT_low_pc
.byte 1 # DW_FORM_addr
.byte 18 # DW_AT_high_pc
.byte 1 # DW_FORM_addr
.byte 64 # DW_AT_frame_base
.byte 10 # DW_FORM_block1
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 3 # Abbreviation Code
.byte 36 # DW_TAG_base_type
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 8 # DW_FORM_string
.byte 62 # DW_AT_encoding
.byte 11 # DW_FORM_data1
.byte 11 # DW_AT_byte_size
.byte 11 # DW_FORM_data1
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 0 # EOM(3)
.byte 1 # Abbreviation Code
.byte 17 # DW_TAG_compile_unit
.byte 1 # DW_CHILDREN_yes
.byte 37 # DW_AT_producer
.byte 8 # DW_FORM_string
.byte 19 # DW_AT_language
.byte 5 # DW_FORM_data2
.byte 3 # DW_AT_name
.byte 8 # DW_FORM_string
.byte 82 # DW_AT_entry_pc
.byte 1 # DW_FORM_addr
.byte 16 # DW_AT_stmt_list
.byte 6 # DW_FORM_data4
.byte 27 # DW_AT_comp_dir
.byte 8 # DW_FORM_string
.ascii "\341\177" # DW_AT_APPLE_optimized
.byte 12 # DW_FORM_flag
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 2 # Abbreviation Code
.byte 46 # DW_TAG_subprogram
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 8 # DW_FORM_string
.byte 58 # DW_AT_decl_file
.byte 11 # DW_FORM_data1
.byte 59 # DW_AT_decl_line
.byte 11 # DW_FORM_data1
.byte 39 # DW_AT_prototyped
.byte 12 # DW_FORM_flag
.byte 73 # DW_AT_type
.byte 19 # DW_FORM_ref4
.byte 63 # DW_AT_external
.byte 12 # DW_FORM_flag
.byte 17 # DW_AT_low_pc
.byte 1 # DW_FORM_addr
.byte 18 # DW_AT_high_pc
.byte 1 # DW_FORM_addr
.byte 64 # DW_AT_frame_base
.byte 10 # DW_FORM_block1
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 3 # Abbreviation Code
.byte 36 # DW_TAG_base_type
.byte 0 # DW_CHILDREN_no
.byte 3 # DW_AT_name
.byte 8 # DW_FORM_string
.byte 62 # DW_AT_encoding
.byte 11 # DW_FORM_data1
.byte 11 # DW_AT_byte_size
.byte 11 # DW_FORM_data1
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 0 # EOM(3)
.Labbrev_end:
.section .debug_pubnames,"",@progbits
.section .debug_pubnames,"",@progbits
.Lset0 = .Lpubnames_end1-.Lpubnames_begin1 # Length of Public Names Info
.long .Lset0
.long .Lset0
.Lpubnames_begin1:
.short 2 # DWARF Version
.long .Linfo_begin1 # Offset of Compilation Unit Info
.short 2 # DWARF Version
.long .Linfo_begin1 # Offset of Compilation Unit Info
.Lset1 = .Linfo_end1-.Linfo_begin1 # Compilation Unit Length
.long .Lset1
.long 139 # DIE offset
.asciz "main" # External Name
.long 0 # End Mark
.long .Lset1
.long 139 # DIE offset
.asciz "main" # External Name
.long 0 # End Mark
.Lpubnames_end1:
.section .debug_pubtypes,"",@progbits
.section .debug_pubtypes,"",@progbits
.Lset2 = .Lpubtypes_end1-.Lpubtypes_begin1 # Length of Public Types Info
.long .Lset2
.long .Lset2
.Lpubtypes_begin1:
.short 2 # DWARF Version
.long .Linfo_begin1 # Offset of Compilation Unit Info
.short 2 # DWARF Version
.long .Linfo_begin1 # Offset of Compilation Unit Info
.Lset3 = .Linfo_end1-.Linfo_begin1 # Compilation Unit Length
.long .Lset3
.long 0 # End Mark
.long .Lset3
.long 0 # End Mark
.Lpubtypes_end1:
.section .debug_aranges,"",@progbits
.section .debug_ranges,"",@progbits
.section .debug_macinfo,"",@progbits
.section ".note.GNU-stack","",@progbits
.section .debug_aranges,"",@progbits
.section .debug_ranges,"",@progbits
.section .debug_macinfo,"",@progbits
.section ".note.GNU-stack","",@progbits

@ -9,29 +9,29 @@ main: # @main
.Ltmp2:
.Lfunc_begin0:
# BB#0:
pushq %rbp
pushq %rbp
.Ltmp3:
.Ltmp4:
movq %rsp, %rbp
movq %rsp, %rbp
.Ltmp5:
.Ltmp6:
movl $.L.str, %edi
xorb %al, %al
callq printf
movl $str, %edi
callq puts
xorl %eax, %eax
popq %rbp
ret
movl $.L.str, %edi
xorb %al, %al
callq printf
movl $str, %edi
callq puts
xorl %eax, %eax
popq %rbp
ret
.Ltmp7:
.Ltmp8:
.Lfunc_end0:
.Ltmp9:
.Leh_func_end0:
.L.str:
.asciz "Hello world"
.asciz "Hello world"
str:
.asciz "moo"
.asciz "moo"
.Ltext_end:
.Ldata_end:
.Lsection_end1:

@ -1,16 +1,16 @@
main: # @main
# BB#0:
pushq %rbp
movq %rsp, %rbp
movl $.L.str, %edi
xorb %al, %al
callq printf
movl $str, %edi
callq puts
xorl %eax, %eax
popq %rbp
ret
pushq %rbp
movq %rsp, %rbp
movl $.L.str, %edi
xorb %al, %al
callq printf
movl $str, %edi
callq puts
xorl %eax, %eax
popq %rbp
ret
.L.str:
.asciz "Hello world"
.asciz "Hello world"
str:
.asciz "moo"
.asciz "moo"

@ -1,15 +1,15 @@
main: # @main
pushq %rbp
movq %rsp, %rbp
movl $.L.str, %edi
xorb %al, %al
callq printf
movl $str, %edi
callq puts
xorl %eax, %eax
popq %rbp
ret
pushq %rbp
movq %rsp, %rbp
movl $.L.str, %edi
xorb %al, %al
callq printf
movl $str, %edi
callq puts
xorl %eax, %eax
popq %rbp
ret
.L.str:
.asciz "Hello world"
.asciz "Hello world"
str:
.asciz "moo"
.asciz "moo"

@ -1,85 +1,85 @@
.text
.file "/tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp"
.section .debug_info,"",@progbits
.file "/tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp"
.section .debug_info,"",@progbits
.Lsection_info:
.section .debug_abbrev,"",@progbits
.section .debug_abbrev,"",@progbits
.Lsection_abbrev:
.section .debug_line,"",@progbits
.section .debug_line,"",@progbits
.Lsection_line:
.section .debug_pubnames,"",@progbits
.section .debug_pubtypes,"",@progbits
.section .debug_str,"MS",@progbits,1
.section .debug_pubnames,"",@progbits
.section .debug_pubtypes,"",@progbits
.section .debug_str,"MS",@progbits,1
.Linfo_string:
.section .debug_loc,"",@progbits
.section .debug_loc,"",@progbits
.Lsection_debug_loc:
.section .debug_ranges,"",@progbits
.section .debug_ranges,"",@progbits
.Ldebug_range:
.text
.globl maxArray(double*, double*)
.align 16, 0x90
.type maxArray(double*, double*),@function
.text
.globl maxArray(double*, double*)
.align 16, 0x90
.type maxArray(double*, double*),@function
maxArray(double*, double*): # @maxArray(double*, double*)
.Lfunc_begin0:
.file 1 "/tmp/gcc-explorer-compiler1151011-11958-1r6gk9o" "example.cpp"
.loc 1 1 0 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:1:0
.cfi_startproc
.file 1 "/tmp/gcc-explorer-compiler1151011-11958-1r6gk9o" "example.cpp"
.loc 1 1 0 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:1:0
.cfi_startproc
# BB#0:
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
xor eax, eax
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
xor eax, eax
.Ltmp0:
#DEBUG_VALUE: i <- 0
.align 16, 0x90
#DEBUG_VALUE: i <- 0
.align 16, 0x90
.LBB0_1: # =>This Inner Loop Header: Depth=1
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 3 13 prologue_end # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:13
movsd xmm0, qword ptr [rsi + 8*rax]
ucomisd xmm0, qword ptr [rdi + 8*rax]
jbe .LBB0_3
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 3 13 prologue_end # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:13
movsd xmm0, qword ptr [rsi + 8*rax]
ucomisd xmm0, qword ptr [rdi + 8*rax]
jbe .LBB0_3
# BB#2: # in Loop: Header=BB0_1 Depth=1
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 3 26 discriminator 1 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:26
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 3 26 discriminator 1 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:26
.Ltmp1:
movsd qword ptr [rdi + 8*rax], xmm0
movsd qword ptr [rdi + 8*rax], xmm0
.Ltmp2:
.LBB0_3: # in Loop: Header=BB0_1 Depth=1
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 2 10 discriminator 2 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:2:10
lea rcx, qword ptr [rax + 1]
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 2 10 discriminator 2 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:2:10
lea rcx, qword ptr [rax + 1]
.Ltmp3:
.loc 1 3 13 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:13
movsd xmm0, qword ptr [rsi + 8*rax + 8]
ucomisd xmm0, qword ptr [rdi + 8*rax + 8]
jbe .LBB0_5
.loc 1 3 13 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:13
movsd xmm0, qword ptr [rsi + 8*rax + 8]
ucomisd xmm0, qword ptr [rdi + 8*rax + 8]
jbe .LBB0_5
# BB#4: # in Loop: Header=BB0_1 Depth=1
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 3 26 discriminator 1 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:26
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 3 26 discriminator 1 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:3:26
.Ltmp4:
movsd qword ptr [rdi + 8*rax + 8], xmm0
movsd qword ptr [rdi + 8*rax + 8], xmm0
.Ltmp5:
.LBB0_5: # in Loop: Header=BB0_1 Depth=1
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 2 10 discriminator 2 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:2:10
inc rcx
cmp rcx, 65536
mov rax, rcx
jne .LBB0_1
#DEBUG_VALUE: maxArray:x <- RDI
#DEBUG_VALUE: maxArray:y <- RSI
#DEBUG_VALUE: i <- 0
.loc 1 2 10 discriminator 2 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:2:10
inc rcx
cmp rcx, 65536
mov rax, rcx
jne .LBB0_1
.Ltmp6:
# BB#6:
.loc 1 5 1 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:5:1
ret
.loc 1 5 1 # /tmp/gcc-explorer-compiler1151011-11958-1r6gk9o/example.cpp:5:1
ret
.Ltmp7:
.Ltmp8:
.size maxArray(double*, double*), .Ltmp8-maxArray(double*, double*)
.size maxArray(double*, double*), .Ltmp8-maxArray(double*, double*)
.Lfunc_end0:
.cfi_endproc
.cfi_endproc

@ -1,19 +1,19 @@
maxArray(double*, double*): # @maxArray(double*, double*)
xor eax, eax @ 1
xor eax, eax @ 1
.LBB0_1: # =>This Inner Loop Header: Depth=1
movsd xmm0, qword ptr [rsi + 8*rax] @ 3
ucomisd xmm0, qword ptr [rdi + 8*rax] @ 3
jbe .LBB0_3 @ 3
movsd qword ptr [rdi + 8*rax], xmm0 @ 3
movsd xmm0, qword ptr [rsi + 8*rax] @ 3
ucomisd xmm0, qword ptr [rdi + 8*rax] @ 3
jbe .LBB0_3 @ 3
movsd qword ptr [rdi + 8*rax], xmm0 @ 3
.LBB0_3: # in Loop: Header=BB0_1 Depth=1
lea rcx, qword ptr [rax + 1] @ 2
movsd xmm0, qword ptr [rsi + 8*rax + 8] @ 3
ucomisd xmm0, qword ptr [rdi + 8*rax + 8] @ 3
jbe .LBB0_5 @ 3
movsd qword ptr [rdi + 8*rax + 8], xmm0 @ 3
lea rcx, qword ptr [rax + 1] @ 2
movsd xmm0, qword ptr [rsi + 8*rax + 8] @ 3
ucomisd xmm0, qword ptr [rdi + 8*rax + 8] @ 3
jbe .LBB0_5 @ 3
movsd qword ptr [rdi + 8*rax + 8], xmm0 @ 3
.LBB0_5: # in Loop: Header=BB0_1 Depth=1
inc rcx @ 2
cmp rcx, 65536 @ 2
mov rax, rcx @ 2
jne .LBB0_1 @ 2
ret @ 5
inc rcx @ 2
cmp rcx, 65536 @ 2
mov rax, rcx @ 2
jne .LBB0_1 @ 2
ret @ 5

@ -1,24 +1,24 @@
Char:
.byte 128 # 0x80
.size Char, 1
.type Short,@object # @Short
.globl Short
.align 2
.byte 128 # 0x80
.size Char, 1
.type Short,@object # @Short
.globl Short
.align 2
Short:
.short 4660 # 0x1234
.size Short, 2
.type Int,@object # @Int
.globl Int
.align 4
.short 4660 # 0x1234
.size Short, 2
.type Int,@object # @Int
.globl Int
.align 4
Int:
.long 123 # 0x7b
.size Int, 4
.type Long,@object # @Long
.globl Long
.align 8
.long 123 # 0x7b
.size Int, 4
.type Long,@object # @Long
.globl Long
.align 8
Long:
.quad 2345 # 0x929
.size Long, 8
.type LongLong,@object # @LongLong
.globl LongLong
.align 8
.quad 2345 # 0x929
.size Long, 8
.type LongLong,@object # @LongLong
.globl LongLong
.align 8

@ -1,8 +1,8 @@
Char:
.byte 128 # 0x80
.byte 128 # 0x80
Short:
.short 4660 # 0x1234
.short 4660 # 0x1234
Int:
.long 123 # 0x7b
.long 123 # 0x7b
Long:
.quad 2345 # 0x929
.quad 2345 # 0x929

File diff suppressed because it is too large Load Diff

@ -1,34 +1,34 @@
.Ltext0:
.LC0:
.string "Hello world"
.string "Hello world"
.LC1:
.string "moo\n"
.string "moo\n"
main:
.LFB31:
.LVL0:
subq $8, %rsp
subq $8, %rsp
.LCFI0:
.LBB6:
.LBB7:
movl $.LC0, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
movl $.LC0, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
.LVL1:
.LBE7:
.LBE6:
.LBB8:
.LBB9:
movl $.LC1, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
movl $.LC1, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
.LBE9:
.LBE8:
xorl %eax, %eax
addq $8, %rsp
xorl %eax, %eax
addq $8, %rsp
.LCFI1:
ret
ret
.LFE31:
.Letext0:
.Ldebug_info0:

@ -1,17 +1,17 @@
.LC0:
.string "Hello world"
.string "Hello world"
.LC1:
.string "moo\n"
.string "moo\n"
main:
subq $8, %rsp
movl $.LC0, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
movl $.LC1, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
xorl %eax, %eax
addq $8, %rsp
ret
subq $8, %rsp
movl $.LC0, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
movl $.LC1, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
xorl %eax, %eax
addq $8, %rsp
ret

@ -1,17 +1,17 @@
.LC0:
.string "Hello world"
.string "Hello world"
.LC1:
.string "moo\n"
.string "moo\n"
main:
subq $8, %rsp
movl $.LC0, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
movl $.LC1, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
xorl %eax, %eax
addq $8, %rsp
ret
subq $8, %rsp
movl $.LC0, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
movl $.LC1, %esi
movl $1, %edi
xorl %eax, %eax
call __printf_chk
xorl %eax, %eax
addq $8, %rsp
ret

@ -1,25 +1,25 @@
LongLong:
.quad 123456
.globl Long
.align 8
.type Long, @object
.size Long, 8
.quad 123456
.globl Long
.align 8
.type Long, @object
.size Long, 8
Long:
.quad 2345
.globl Int
.align 4
.type Int, @object
.size Int, 4
.quad 2345
.globl Int
.align 4
.type Int, @object
.size Int, 4
Int:
.long 123
.globl Short
.align 2
.type Short, @object
.size Short, 2
.long 123
.globl Short
.align 2
.type Short, @object
.size Short, 2
Short:
.value 4660
.globl Char
.type Char, @object
.size Char, 1
.value 4660
.globl Char
.type Char, @object
.size Char, 1
Char:
.byte -128
.byte -128

@ -1,10 +1,10 @@
LongLong:
.quad 123456
.quad 123456
Long:
.quad 2345
.quad 2345
Int:
.long 123
.long 123
Short:
.value 4660
.value 4660
Char:
.byte -128
.byte -128

@ -1,23 +1,23 @@
LongLong:
.long 0x0001e240,0x00000000
.type LongLong,@object
.size LongLong,8
.align 4
.globl Int
.long 0x0001e240,0x00000000
.type LongLong,@object
.size LongLong,8
.align 4
.globl Int
Int:
.long 123
.type Int,@object
.size Int,4
.align 2
.globl Short
.long 123
.type Int,@object
.size Int,4
.align 2
.globl Short
Short:
.word 4660
.type Short,@object
.size Short,2
.align 1
.globl Char
.word 4660
.type Short,@object
.size Short,2
.align 1
.globl Char
Char:
.byte -128
.type Char,@object
.size Char,1
.data
.byte -128
.type Char,@object
.size Char,1
.data

@ -1,8 +1,8 @@
LongLong:
.long 0x0001e240,0x00000000
.long 0x0001e240,0x00000000
Int:
.long 123
.long 123
Short:
.word 4660
.word 4660
Char:
.byte -128
.byte -128

@ -1,13 +1,13 @@
.section .text
.section .text
.LNDBG_TX:
# mark_description "Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 12.1 Build 20120410";
.file "iccKTGaIssTdIn_"
.text
.file "iccKTGaIssTdIn_"
.text
..TXTST0:
# -- Begin main
# mark_begin;
.align 16,0x90
.globl main
.globl main
main:
..B1.1: # Preds ..B1.0
..___tag_value_main.2: #
@ -80,243 +80,243 @@ main:
# LOE
..LN23:
# mark_end;
.type main,@function
.size main,.-main
.type main,@function
.size main,.-main
..LNmain.24:
.LNmain:
.data
.data
# -- End main
.section .rodata.str1.4, "aMS",@progbits,1
.align 4
.align 4
.section .rodata.str1.4, "aMS",@progbits,1
.align 4
.align 4
.L_2__STRING.0:
.byte 72
.byte 101
.byte 108
.byte 108
.byte 111
.byte 32
.byte 119
.byte 111
.byte 114
.byte 108
.byte 100
.byte 0
.type .L_2__STRING.0,@object
.size .L_2__STRING.0,12
.align 4
.byte 72
.byte 101
.byte 108
.byte 108
.byte 111
.byte 32
.byte 119
.byte 111
.byte 114
.byte 108
.byte 100
.byte 0
.type .L_2__STRING.0,@object
.size .L_2__STRING.0,12
.align 4
.L_2__STRING.1:
.byte 109
.byte 111
.byte 111
.byte 10
.byte 0
.type .L_2__STRING.1,@object
.size .L_2__STRING.1,5
.data
.section .note.GNU-stack, ""
.byte 109
.byte 111
.byte 111
.byte 10
.byte 0
.type .L_2__STRING.1,@object
.size .L_2__STRING.1,5
.data
.section .note.GNU-stack, ""
// -- Begin DWARF2 SEGMENT .debug_info
.section .debug_info
.section .debug_info
.debug_info_seg:
.align 1
.4byte 0x000000fe
.2byte 0x0002
.4byte .debug_abbrev_seg
.byte 0x08
// DW_TAG_compile_unit:
.byte 0x01
// DW_AT_comp_dir:
.8byte 0x676d2f656d6f682f
.8byte 0x642f746c6f62646f
.8byte 0x652d6363672f7665
.8byte 0x007265726f6c7078
// DW_AT_language:
.byte 0x04
// DW_AT_producer:
.8byte 0x2952286c65746e49
.8byte 0x6c65746e49204320
.8byte 0x4320343620295228
.8byte 0x2072656c69706d6f
.8byte 0x6120726f66204558
.8byte 0x69746163696c7070
.8byte 0x6e6e757220736e6f
.8byte 0x49206e6f20676e69
.8byte 0x202952286c65746e
.8byte 0x73726556202c3436
.8byte 0x312e3231206e6f69
.8byte 0x3220646c69754220
.8byte 0x0a30313430323130
.8byte 0x5320736578694620
.8byte 0x616b6e694c656d61
.8byte 0x4d20656d614e6567
.8byte 0x696f507265626d65
.4byte 0x7265746e
.2byte 0x0a73
.byte 0x00
// DW_AT_stmt_list:
.4byte .debug_line_seg
// DW_TAG_namespace:
.byte 0x02
// DW_AT_name:
.4byte 0x00647473
// DW_TAG_namespace:
.byte 0x02
// DW_AT_name:
.8byte 0x6962617878635f5f
.2byte 0x3176
.byte 0x00
// DW_TAG_base_type:
.byte 0x03
// DW_AT_byte_size:
.byte 0x04
// DW_AT_encoding:
.byte 0x05
// DW_AT_name:
.4byte 0x00746e69
// DW_TAG_subprogram:
.byte 0x04
// DW_AT_decl_line:
.byte 0x02
// DW_AT_decl_column:
.byte 0x05
// DW_AT_decl_file:
.byte 0x01
// DW_AT_inline:
.byte 0x00
// DW_AT_accessibility:
.byte 0x01
// DW_AT_type:
.4byte 0x000000d1
// DW_AT_prototyped:
.byte 0x01
// DW_AT_name:
.4byte 0x6e69616d
.byte 0x00
.4byte 0x6e69616d
.byte 0x00
// DW_AT_low_pc:
.8byte main
// DW_AT_high_pc:
.8byte ..LNmain.24
// DW_AT_external:
.byte 0x01
.byte 0x00
.byte 0x00
.byte 0x00
.byte 0x00
.align 1
.4byte 0x000000fe
.2byte 0x0002
.4byte .debug_abbrev_seg
.byte 0x08
// DW_TAG_compile_unit:
.byte 0x01
// DW_AT_comp_dir:
.8byte 0x676d2f656d6f682f
.8byte 0x642f746c6f62646f
.8byte 0x652d6363672f7665
.8byte 0x007265726f6c7078
// DW_AT_language:
.byte 0x04
// DW_AT_producer:
.8byte 0x2952286c65746e49
.8byte 0x6c65746e49204320
.8byte 0x4320343620295228
.8byte 0x2072656c69706d6f
.8byte 0x6120726f66204558
.8byte 0x69746163696c7070
.8byte 0x6e6e757220736e6f
.8byte 0x49206e6f20676e69
.8byte 0x202952286c65746e
.8byte 0x73726556202c3436
.8byte 0x312e3231206e6f69
.8byte 0x3220646c69754220
.8byte 0x0a30313430323130
.8byte 0x5320736578694620
.8byte 0x616b6e694c656d61
.8byte 0x4d20656d614e6567
.8byte 0x696f507265626d65
.4byte 0x7265746e
.2byte 0x0a73
.byte 0x00
// DW_AT_stmt_list:
.4byte .debug_line_seg
// DW_TAG_namespace:
.byte 0x02
// DW_AT_name:
.4byte 0x00647473
// DW_TAG_namespace:
.byte 0x02
// DW_AT_name:
.8byte 0x6962617878635f5f
.2byte 0x3176
.byte 0x00
// DW_TAG_base_type:
.byte 0x03
// DW_AT_byte_size:
.byte 0x04
// DW_AT_encoding:
.byte 0x05
// DW_AT_name:
.4byte 0x00746e69
// DW_TAG_subprogram:
.byte 0x04
// DW_AT_decl_line:
.byte 0x02
// DW_AT_decl_column:
.byte 0x05
// DW_AT_decl_file:
.byte 0x01
// DW_AT_inline:
.byte 0x00
// DW_AT_accessibility:
.byte 0x01
// DW_AT_type:
.4byte 0x000000d1
// DW_AT_prototyped:
.byte 0x01
// DW_AT_name:
.4byte 0x6e69616d
.byte 0x00
.4byte 0x6e69616d
.byte 0x00
// DW_AT_low_pc:
.8byte main
// DW_AT_high_pc:
.8byte ..LNmain.24
// DW_AT_external:
.byte 0x01
.byte 0x00
.byte 0x00
.byte 0x00
.byte 0x00
// -- Begin DWARF2 SEGMENT .debug_line
.section .debug_line
.section .debug_line
.debug_line_seg:
.align 1
.align 1
// -- Begin DWARF2 SEGMENT .debug_abbrev
.section .debug_abbrev
.section .debug_abbrev
.debug_abbrev_seg:
.align 1
.byte 0x01
.byte 0x11
.byte 0x01
.byte 0x1b
.byte 0x08
.byte 0x13
.byte 0x0b
.byte 0x25
.byte 0x08
.byte 0x10
.byte 0x06
.2byte 0x0000
.byte 0x02
.byte 0x39
.byte 0x00
.byte 0x03
.byte 0x08
.2byte 0x0000
.byte 0x03
.byte 0x24
.byte 0x00
.byte 0x0b
.byte 0x0b
.byte 0x3e
.byte 0x0b
.byte 0x03
.byte 0x08
.2byte 0x0000
.byte 0x04
.byte 0x2e
.byte 0x00
.byte 0x3b
.byte 0x0b
.byte 0x39
.byte 0x0b
.byte 0x3a
.byte 0x0b
.byte 0x20
.byte 0x0b
.byte 0x32
.byte 0x0b
.byte 0x49
.byte 0x13
.byte 0x27
.byte 0x0c
.byte 0x03
.byte 0x08
.2byte 0x4087
.byte 0x08
.byte 0x11
.byte 0x01
.byte 0x12
.byte 0x01
.byte 0x3f
.byte 0x0c
.2byte 0x0000
.byte 0x00
.align 1
.byte 0x01
.byte 0x11
.byte 0x01
.byte 0x1b
.byte 0x08
.byte 0x13
.byte 0x0b
.byte 0x25
.byte 0x08
.byte 0x10
.byte 0x06
.2byte 0x0000
.byte 0x02
.byte 0x39
.byte 0x00
.byte 0x03
.byte 0x08
.2byte 0x0000
.byte 0x03
.byte 0x24
.byte 0x00
.byte 0x0b
.byte 0x0b
.byte 0x3e
.byte 0x0b
.byte 0x03
.byte 0x08
.2byte 0x0000
.byte 0x04
.byte 0x2e
.byte 0x00
.byte 0x3b
.byte 0x0b
.byte 0x39
.byte 0x0b
.byte 0x3a
.byte 0x0b
.byte 0x20
.byte 0x0b
.byte 0x32
.byte 0x0b
.byte 0x49
.byte 0x13
</