> > 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

Reply via email to