> > From: J. Gareth Moreton <gar...@moreton-family.com> > > To: <fpc-devel@lists.freepascal.org> > >> Are you able to dump the nodes as well with -an? (You'll need to define > >> -dEXTDEBUG though) That might give some clues behind the presence of > >> that movslq instruction. > >
> You will need to also add ALLOW_WARNINGS=1 to the make call. Ok, ALLOW_WARNINGS=1 did the job. in attachment testsh.pas and testsh.s
program defuu; function roo(lk:dword):byte; var k : dword; bit : dword; num : byte; one : dword; begin num:=0; one:=1; for k:=0 to 25 do begin bit:= one shl k; //--------- this is the line ----------------- if (lk and bit) <> 0 then begin lk:=lk xor bit; inc(num); end; end; roo:=num; end; function sh ( a, b: dword):longint; var z : dword; begin z:=a shl b; sh:= z+1; end; begin end.
.file "testsh.pas" # Begin asmlist al_begin .section .debug_line .type .Ldebug_linesection0,@object .Ldebug_linesection0: .type .Ldebug_line0,@object .Ldebug_line0: .section .debug_abbrev .type .Ldebug_abbrevsection0,@object .Ldebug_abbrevsection0: .type .Ldebug_abbrev0,@object .Ldebug_abbrev0: .section .text.b_DEBUGSTART_$P$DEFUU,"ax" .globl DEBUGSTART_$P$DEFUU .type DEBUGSTART_$P$DEFUU,@object DEBUGSTART_$P$DEFUU: # End asmlist al_begin # Begin asmlist al_procedures .section .text.n_p$defuu_$$_roo$longword$$byte,"ax" .globl P$DEFUU_$$_ROO$LONGWORD$$BYTE .type P$DEFUU_$$_ROO$LONGWORD$$BYTE,@function P$DEFUU_$$_ROO$LONGWORD$$BYTE: .Lc2: # Register rsp allocated # Var $result located in register al # Var k located in register eax # Var bit located in register esi # Var num located in register al # Var one located in register eax # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second asm (entry) # Register edi,edi allocated # Var lk located in register edi # second asm (exit) # second asm (entry) # second asm (exit) # second asm (entry) # [testsh.pas] # [9] begin # second asm (exit) # second asm (entry) # second asm (exit) # second blockn (entry) # second blockn (exit) # second blockn (entry) # second assignment (entry) # second load (entry) # second load (exit) # second ordconst (entry) # second ordconst (exit) # Var num located in register al # Register al allocated .Ll1: # [10] num:=0; xorb %al,%al # second assignment (exit) # second assignment (entry) # second load (entry) # second load (exit) # second ordconst (entry) # second ordconst (exit) # Var one located in register r8d # Register r8d allocated .Ll2: # [11] one:=1; movl $1,%r8d # second assignment (exit) # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second assignment (entry) # second load (entry) # second load (exit) # second ordconst (entry) # second ordconst (exit) # Var k located in register ecx # Register ecx allocated .Ll3: # [12] for k:=0 to 25 do xorl %ecx,%ecx # second assignment (exit) # second while_repeat (entry) # Register esi allocated .Lj5: # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second blockn (entry) # second assignment (entry) # second shlshr-shln (entry) # second load (entry) # second load (exit) # second typeconv (entry) # second load (entry) # second load (exit) # Register rdx allocated # Peephole Optimization: MovAnd2Mov 1 done .Ll4: # [14] bit:= one shl k; //--------- this is the line ----------------- movl %ecx,%edx # second typeconv (exit) # Register edx,edx allocated # Peephole Optimization: %edx = %ecx; changed to minimise pipeline stall (MovXXX2MovXXX) shlx %ecx,%r8d,%edx # second shlshr-shln (exit) # second load (entry) # second load (exit) movl %edx,%esi # second assignment (exit) # second ifn (entry) # second add-unequaln (entry) # second add-andn (entry) # second load (entry) # second load (exit) # second load (entry) # second load (exit) # Peephole Optimization: %esi = %edx; changed to minimise pipeline stall (MovXXX2MovXXX) # Peephole Optimization: Mov2Nop 4 done .Ll5: # [15] if (lk and bit) <> 0 then andl %edi,%edx # second add-andn (exit) # second ordconst (entry) # second ordconst (exit) # Register rflags allocated # Register edx released # second add-unequaln (exit) je .Lj9 # Register rflags released # second blockn (entry) # second inline (entry) # second load (entry) # second load (exit) # second load (entry) # second load (exit) .Ll6: # [17] lk:=lk xor bit; xorl %esi,%edi # second inline (exit) # second inline (entry) # second load (entry) # second load (exit) .Ll7: # [18] inc(num); incb %al # second inline (exit) # second blockn (exit) .Lj9: # second ifn (exit) # second blockn (exit) # second inline (entry) # second load (entry) # second load (exit) .Ll8: incl %ecx # second inline (exit) # second blockn (exit) # second add-gtn (entry) # second load (entry) # second load (exit) # second ordconst (entry) # second ordconst (exit) cmpl $25,%ecx # second add-gtn (exit) jna .Lj5 # Register rflags,ecx,esi,r8d,edi released # second while_repeat (exit) # second blockn (exit) # second blockn (exit) # second assignment (entry) # second typeconv (entry) # second load (entry) # second load (exit) # second typeconv (exit) # second load (entry) # second load (exit) # Var $result located in register al # Register al allocated # Var num located in register al # Register al allocated # second assignment (exit) # second blockn (exit) # second asm (entry) # second asm (exit) # second blockn (entry) # second blockn (exit) # second finalizetemps (entry) # second finalizetemps (exit) # second blockn (exit) # second blockn (entry) # second blockn (exit) # second blockn (exit) # Register eax allocated .Ll9: # [22] end; movzbl %al,%eax .Lc3: # Register rsp released ret # Register eax released .Lc1: .Lt2: .Le0: .size P$DEFUU_$$_ROO$LONGWORD$$BYTE, .Le0 - P$DEFUU_$$_ROO$LONGWORD$$BYTE .Ll10: .section .text.n_p$defuu_$$_sh$longword$longword$$longint,"ax" .globl P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT .type P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT,@function P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT: .Lc5: # Register rsp allocated # Var $result located in register eax # Var z located in register eax # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second asm (entry) # Register edi,esi,edi allocated # Var a located in register edi # Register esi allocated # Var b located in register esi # second asm (exit) # second asm (entry) # second asm (exit) # second asm (entry) # [26] begin # second asm (exit) # second asm (entry) # second asm (exit) # second blockn (entry) # second blockn (exit) # second blockn (entry) # second assignment (entry) # second shlshr-shln (entry) # second load (entry) # second load (exit) # second typeconv (entry) # second load (entry) # second load (exit) # Register rsi allocated .Ll11: # [27] z:=a shl b; andl %esi,%esi # second typeconv (exit) # Register esi,eax allocated shlx %esi,%edi,%eax # Register esi,edi released # second shlshr-shln (exit) # second load (entry) # second load (exit) # Var z located in register eax # Register eax allocated # second assignment (exit) # second assignment (entry) # second typeconv (entry) # second add-addn (entry) # second load (entry) # second load (exit) # second ordconst (entry) # second ordconst (exit) # Register eax allocated # Peephole Optimization: Lea2Inc done .Ll12: # [28] sh:= z+1; incl %eax # second add-addn (exit) # Register eax allocated # second typeconv (exit) # second typeconv (entry) # second load (entry) # second load (exit) # second typeconv (exit) # Var $result located in register eax # Register eax allocated # second assignment (exit) # second blockn (exit) # second asm (entry) # second asm (exit) # second blockn (entry) # second blockn (exit) # second finalizetemps (entry) # second finalizetemps (exit) # second blockn (exit) # second blockn (entry) # second blockn (exit) # second blockn (exit) # Register eax allocated .Lc6: # Register rsp released .Ll13: # [29] end; ret # Register eax released .Lc4: .Lt3: .Le1: .size P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT, .Le1 - P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT .Ll14: .section .text.n_main,"ax" .globl main .type main,@function main: .globl PASCALMAIN .type PASCALMAIN,@function PASCALMAIN: .Lc8: .Lc9: # Register rsp allocated .Ll15: # [31] begin leaq -8(%rsp),%rsp .Lc10: # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second blockn (entry) # second nothing-nothg (entry) # second nothing-nothg (exit) # second asm (entry) # second asm (exit) # second asm (entry) # second asm (exit) # second asm (entry) # Register rax,rcx,rdx,rsi,rdi,r8,r9,r10,r11 allocated call fpc_initializeunits # second asm (exit) # second asm (entry) # second asm (exit) # second blockn (entry) # second blockn (exit) # second blockn (entry) # second blockn (exit) # second asm (entry) # second asm (exit) # second blockn (entry) # second blockn (exit) # second finalizetemps (entry) # second finalizetemps (exit) # second blockn (exit) # second blockn (entry) # second blockn (exit) # second blockn (exit) # Register rax,rcx,rdx,rsi,rdi,r8,r9,r10,r11 allocated .Ll16: # [32] end. call fpc_do_exit # Register rax,rcx,rdx,rsi,rdi,r8,r9,r10,r11 released leaq 8(%rsp),%rsp .Lc11: # Register rsp released ret .Lc7: .Lt1: .Le2: .size main, .Le2 - main .Ll17: .section .text,"ax" .section .fpc.n_links,"aw" .quad DEBUGSTART_$P$DEFUU .quad DEBUGEND_$P$DEFUU # End asmlist al_procedures # Begin asmlist al_globals .section .data.n_INITFINAL .balign 8 .globl INITFINAL .type INITFINAL,@object INITFINAL: .quad 3,0 .quad INIT$_$SYSTEM .quad 0 .quad INIT$_$EXEINFO .quad 0 .quad INIT$_$LNFODWRF .quad FINALIZE$_$LNFODWRF .Le3: .size INITFINAL, .Le3 - INITFINAL .section .data.n_FPC_THREADVARTABLES .balign 8 .globl FPC_THREADVARTABLES .type FPC_THREADVARTABLES,@object FPC_THREADVARTABLES: .long 1 .quad THREADVARLIST_$SYSTEM$indirect .Le4: .size FPC_THREADVARTABLES, .Le4 - FPC_THREADVARTABLES .section .data.n_FPC_RESOURCESTRINGTABLES .balign 8 .globl FPC_RESOURCESTRINGTABLES .type FPC_RESOURCESTRINGTABLES,@object FPC_RESOURCESTRINGTABLES: .quad 0 .Le5: .size FPC_RESOURCESTRINGTABLES, .Le5 - FPC_RESOURCESTRINGTABLES .section .data.n_FPC_WIDEINITTABLES .balign 8 .globl FPC_WIDEINITTABLES .type FPC_WIDEINITTABLES,@object FPC_WIDEINITTABLES: .quad 0 .Le6: .size FPC_WIDEINITTABLES, .Le6 - FPC_WIDEINITTABLES .section .data.n_FPC_RESSTRINITTABLES .balign 8 .globl FPC_RESSTRINITTABLES .type FPC_RESSTRINITTABLES,@object FPC_RESSTRINITTABLES: .quad 0 .Le7: .size FPC_RESSTRINITTABLES, .Le7 - FPC_RESSTRINITTABLES .section .fpc.n_version,"aw" .type __fpc_ident,@object __fpc_ident: .ascii "FPC 3.3.1 [2020/02/05] for x86_64 - Linux" .Le8: .size __fpc_ident, .Le8 - __fpc_ident .section .data.n___stklen .balign 8 .globl __stklen .type __stklen,@object __stklen: .quad 8388608 .Le9: .size __stklen, .Le9 - __stklen .section .data.n___heapsize .balign 8 .globl __heapsize .type __heapsize,@object __heapsize: .quad 0 .Le10: .size __heapsize, .Le10 - __heapsize .section .data.n___fpc_valgrind .balign 8 .globl __fpc_valgrind .type __fpc_valgrind,@object __fpc_valgrind: .byte 0 .Le11: .size __fpc_valgrind, .Le11 - __fpc_valgrind .section .data.n_FPC_RESLOCATION .balign 8 .globl FPC_RESLOCATION .type FPC_RESLOCATION,@object FPC_RESLOCATION: .quad 0 .Le12: .size FPC_RESLOCATION, .Le12 - FPC_RESLOCATION # End asmlist al_globals # Begin asmlist al_dwarf_frame .section .debug_frame .Lc12: .long .Lc14-.Lc13 .Lc13: .long -1 .byte 1 .byte 0 .uleb128 1 .sleb128 -4 .byte 16 .byte 12 .uleb128 7 .uleb128 8 .byte 5 .uleb128 16 .uleb128 2 .balign 4,0 .Lc14: .long .Lc16-.Lc15 .Lc15: .quad .Lc12 .quad .Lc2 .quad .Lc1-.Lc2 .byte 4 .long .Lc3-.Lc2 .byte 14 .uleb128 8 .balign 4,0 .Lc16: .long .Lc19-.Lc18 .Lc18: .quad .Lc12 .quad .Lc5 .quad .Lc4-.Lc5 .byte 4 .long .Lc6-.Lc5 .byte 14 .uleb128 8 .balign 4,0 .Lc19: .long .Lc22-.Lc21 .Lc21: .quad .Lc12 .quad .Lc8 .quad .Lc7-.Lc8 .byte 4 .long .Lc9-.Lc8 .byte 7 .uleb128 16 .byte 4 .long .Lc10-.Lc9 .byte 14 .uleb128 16 .byte 4 .long .Lc11-.Lc10 .byte 14 .uleb128 8 .balign 4,0 .Lc22: # End asmlist al_dwarf_frame # Begin asmlist al_dwarf_info .section .debug_info .type .Ldebug_info0,@object .Ldebug_info0: .long .Ledebug_info0-.Lf2 .Lf2: .short 2 .long .Ldebug_abbrev0 .byte 8 .uleb128 1 .ascii "testsh.pas\000" .ascii "Free Pascal 3.3.1 2020/02/05\000" .ascii "/home/miers/dos/tp/OBJCONV/\000" .byte 9 .byte 3 .long .Ldebug_line0 .quad DEBUGSTART_$P$DEFUU .quad DEBUGEND_$P$DEFUU # Syms - Begin Staticsymtable # Symbol SYSTEM # Symbol LNFODWRF # Symbol FPINTRES # Symbol DEFUU # Symbol main # Symbol ROO # Symbol SH # Symbol SI_PRC # Syms - End Staticsymtable # Procdef $main; Register; .uleb128 2 .ascii "main\000" .byte 1 .byte 65 .byte 1 .quad main .quad .Lt1 .byte 0 # Procdef roo(LongWord):Byte; .uleb128 3 .ascii "ROO\000" .byte 1 .byte 65 .byte 1 .quad _$DEFUU$_Ld1 .quad P$DEFUU_$$_ROO$LONGWORD$$BYTE .quad .Lt2 # Symbol LK .uleb128 4 .ascii "LK\000" .byte 2 .byte 144 .uleb128 5 .quad _$DEFUU$_Ld3 # Symbol result .uleb128 5 .ascii "result\000" .byte 2 .byte 144 .uleb128 0 .quad _$DEFUU$_Ld1 # Symbol ROO .uleb128 5 .ascii "ROO\000" .byte 2 .byte 144 .uleb128 0 .quad _$DEFUU$_Ld1 # Symbol K .uleb128 5 .ascii "K\000" .byte 2 .byte 144 .uleb128 2 .quad _$DEFUU$_Ld3 # Symbol BIT .uleb128 5 .ascii "BIT\000" .byte 2 .byte 144 .uleb128 4 .quad _$DEFUU$_Ld3 # Symbol NUM .uleb128 5 .ascii "NUM\000" .byte 2 .byte 144 .uleb128 0 .quad _$DEFUU$_Ld1 # Symbol ONE .uleb128 5 .ascii "ONE\000" .byte 2 .byte 144 .uleb128 8 .quad _$DEFUU$_Ld3 .byte 0 # Procdef sh(LongWord;LongWord):LongInt; .uleb128 3 .ascii "SH\000" .byte 1 .byte 65 .byte 1 .quad _$DEFUU$_Ld5 .quad P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT .quad .Lt3 # Symbol A .uleb128 4 .ascii "A\000" .byte 2 .byte 144 .uleb128 5 .quad _$DEFUU$_Ld3 # Symbol B .uleb128 4 .ascii "B\000" .byte 2 .byte 144 .uleb128 4 .quad _$DEFUU$_Ld3 # Symbol result .uleb128 5 .ascii "result\000" .byte 2 .byte 144 .uleb128 0 .quad _$DEFUU$_Ld5 # Symbol SH .uleb128 5 .ascii "SH\000" .byte 2 .byte 144 .uleb128 0 .quad _$DEFUU$_Ld5 # Symbol Z .uleb128 5 .ascii "Z\000" .byte 2 .byte 144 .uleb128 0 .quad _$DEFUU$_Ld3 .byte 0 # Defs - Begin unit SYSTEM has index 1 # Definition Byte .globl _$DEFUU$_Ld1 .type _$DEFUU$_Ld1,@object _$DEFUU$_Ld1: .uleb128 6 .ascii "BYTE\000" .quad .La1 .type .La1,@object .La1: .uleb128 7 .ascii "BYTE\000" .byte 7 .byte 1 .globl _$DEFUU$_Ld2 .type _$DEFUU$_Ld2,@object _$DEFUU$_Ld2: .uleb128 8 .quad _$DEFUU$_Ld1 # Definition LongWord .globl _$DEFUU$_Ld3 .type _$DEFUU$_Ld3,@object _$DEFUU$_Ld3: .uleb128 6 .ascii "LONGWORD\000" .quad .La2 .type .La2,@object .La2: .uleb128 7 .ascii "LONGWORD\000" .byte 7 .byte 4 .globl _$DEFUU$_Ld4 .type _$DEFUU$_Ld4,@object _$DEFUU$_Ld4: .uleb128 8 .quad _$DEFUU$_Ld3 # Definition LongInt .globl _$DEFUU$_Ld5 .type _$DEFUU$_Ld5,@object _$DEFUU$_Ld5: .uleb128 6 .ascii "LONGINT\000" .quad .La3 .type .La3,@object .La3: .uleb128 7 .ascii "LONGINT\000" .byte 5 .byte 4 .globl _$DEFUU$_Ld6 .type _$DEFUU$_Ld6,@object _$DEFUU$_Ld6: .uleb128 8 .quad _$DEFUU$_Ld5 # Defs - End unit SYSTEM has index 1 # Defs - Begin unit STRINGS has index 4 # Defs - End unit STRINGS has index 4 # Defs - Begin unit EXEINFO has index 3 # Defs - End unit EXEINFO has index 3 # Defs - Begin unit LNFODWRF has index 2 # Defs - End unit LNFODWRF has index 2 # Defs - Begin unit FPINTRES has index 5 # Defs - End unit FPINTRES has index 5 # Defs - Begin unit SI_PRC has index 5 # Defs - End unit SI_PRC has index 5 # Defs - Begin Staticsymtable # Defs - End Staticsymtable .byte 0 .type .Ledebug_info0,@object .Ledebug_info0: # End asmlist al_dwarf_info # Begin asmlist al_dwarf_abbrev .section .debug_abbrev # Abbrev 1 .uleb128 1 .uleb128 17 .byte 1 .uleb128 3 .uleb128 8 .uleb128 37 .uleb128 8 .uleb128 27 .uleb128 8 .uleb128 19 .uleb128 11 .uleb128 66 .uleb128 11 .uleb128 16 .uleb128 6 .uleb128 17 .uleb128 1 .uleb128 18 .uleb128 1 .byte 0 .byte 0 # Abbrev 2 .uleb128 2 .uleb128 46 .byte 1 .uleb128 3 .uleb128 8 .uleb128 39 .uleb128 12 .uleb128 54 .uleb128 11 .uleb128 63 .uleb128 12 .uleb128 17 .uleb128 1 .uleb128 18 .uleb128 1 .byte 0 .byte 0 # Abbrev 3 .uleb128 3 .uleb128 46 .byte 1 .uleb128 3 .uleb128 8 .uleb128 39 .uleb128 12 .uleb128 54 .uleb128 11 .uleb128 63 .uleb128 12 .uleb128 73 .uleb128 16 .uleb128 17 .uleb128 1 .uleb128 18 .uleb128 1 .byte 0 .byte 0 # Abbrev 4 .uleb128 4 .uleb128 5 .byte 0 .uleb128 3 .uleb128 8 .uleb128 2 .uleb128 10 .uleb128 73 .uleb128 16 .byte 0 .byte 0 # Abbrev 5 .uleb128 5 .uleb128 52 .byte 0 .uleb128 3 .uleb128 8 .uleb128 2 .uleb128 10 .uleb128 73 .uleb128 16 .byte 0 .byte 0 # Abbrev 6 .uleb128 6 .uleb128 22 .byte 0 .uleb128 3 .uleb128 8 .uleb128 73 .uleb128 16 .byte 0 .byte 0 # Abbrev 7 .uleb128 7 .uleb128 36 .byte 0 .uleb128 3 .uleb128 8 .uleb128 62 .uleb128 11 .uleb128 11 .uleb128 11 .byte 0 .byte 0 # Abbrev 8 .uleb128 8 .uleb128 16 .byte 0 .uleb128 73 .uleb128 16 .byte 0 .byte 0 .byte 0 # End asmlist al_dwarf_abbrev # Begin asmlist al_dwarf_line .section .debug_line # === header start === .long .Ledebug_line0-.Lf3 .Lf3: .short 2 .long .Lehdebug_line0-.Lf4 .Lf4: .byte 1 .byte 1 .byte 1 .byte 255 .byte 13 .byte 0 .byte 1 .byte 1 .byte 1 .byte 1 .byte 0 .byte 0 .byte 0 .byte 1 .byte 0 .byte 0 .byte 1 # include_directories .byte 0 # file_names .ascii "testsh.pas\000" .uleb128 0 .uleb128 0 .uleb128 0 .byte 0 .type .Lehdebug_line0,@object .Lehdebug_line0: # === header end === # function: P$DEFUU_$$_ROO$LONGWORD$$BYTE # [10:6] .byte 0 .uleb128 9 .byte 2 .quad .Ll1 .byte 5 .uleb128 6 .byte 21 # [11:6] .byte 2 .uleb128 .Ll2-.Ll1 .byte 13 # [12:6] .byte 2 .uleb128 .Ll3-.Ll2 .byte 13 # [14:25] .byte 2 .uleb128 .Ll4-.Ll3 .byte 5 .uleb128 25 .byte 14 # [15:14] .byte 2 .uleb128 .Ll5-.Ll4 .byte 5 .uleb128 14 .byte 13 # [17:16] .byte 2 .uleb128 .Ll6-.Ll5 .byte 5 .uleb128 16 .byte 14 # [18:16] .byte 2 .uleb128 .Ll7-.Ll6 .byte 13 # [12:6] .byte 2 .uleb128 .Ll8-.Ll7 .byte 5 .uleb128 6 .byte 3 .sleb128 -6 .byte 1 # [22:1] .byte 2 .uleb128 .Ll9-.Ll8 .byte 5 .uleb128 1 .byte 22 .byte 0 .uleb128 9 .byte 2 .quad .Ll10 .byte 0 .byte 1 .byte 1 # ################### # function: P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT # [27:16] .byte 0 .uleb128 9 .byte 2 .quad .Ll11 .byte 5 .uleb128 16 .byte 38 # [28:12] .byte 2 .uleb128 .Ll12-.Ll11 .byte 5 .uleb128 12 .byte 13 # [29:1] .byte 2 .uleb128 .Ll13-.Ll12 .byte 5 .uleb128 1 .byte 13 .byte 0 .uleb128 9 .byte 2 .quad .Ll14 .byte 0 .byte 1 .byte 1 # ################### # function: main # function: PASCALMAIN # [31:1] .byte 0 .uleb128 9 .byte 2 .quad .Ll15 .byte 5 .uleb128 1 .byte 42 # [32:1] .byte 2 .uleb128 .Ll16-.Ll15 .byte 13 .byte 0 .uleb128 9 .byte 2 .quad .Ll17 .byte 0 .byte 1 .byte 1 # ################### .type .Ledebug_line0,@object .Ledebug_line0: # End asmlist al_dwarf_line # Begin asmlist al_dwarf_aranges .section .debug_aranges .long .Learanges0-.Lf1 .Lf1: .short 2 .long .Ldebug_info0 .byte 8 .byte 0 .long 0 .quad main .quad .Lt1-main .quad P$DEFUU_$$_ROO$LONGWORD$$BYTE .quad .Lt2-P$DEFUU_$$_ROO$LONGWORD$$BYTE .quad P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT .quad .Lt3-P$DEFUU_$$_SH$LONGWORD$LONGWORD$$LONGINT .quad 0 .quad 0 .type .Learanges0,@object .Learanges0: # End asmlist al_dwarf_aranges # Begin asmlist al_dwarf_ranges .section .debug_ranges # End asmlist al_dwarf_ranges # Begin asmlist al_end .section .text.z_DEBUGEND_$P$DEFUU,"ax" .globl DEBUGEND_$P$DEFUU .type DEBUGEND_$P$DEFUU,@object DEBUGEND_$P$DEFUU: # End asmlist al_end .section .note.GNU-stack,"",%progbits
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel