aboutsummaryrefslogtreecommitdiffstats
path: root/lcc/alpha/osf/tst/fields.sbk
diff options
context:
space:
mode:
Diffstat (limited to 'lcc/alpha/osf/tst/fields.sbk')
-rwxr-xr-xlcc/alpha/osf/tst/fields.sbk325
1 files changed, 325 insertions, 0 deletions
diff --git a/lcc/alpha/osf/tst/fields.sbk b/lcc/alpha/osf/tst/fields.sbk
new file mode 100755
index 0000000..0c8f38c
--- /dev/null
+++ b/lcc/alpha/osf/tst/fields.sbk
@@ -0,0 +1,325 @@
+.sdata
+.globl x
+.align 2
+x:
+.long 0x1
+.byte 0x2
+.space 3
+.byte 0x3
+.byte 0x40
+.space 2
+.byte 0x50
+.byte 0x6
+.space 2
+.globl i
+.align 2
+i:
+.long 0x10
+.globl y
+.align 2
+y:
+.byte 0x23
+.space 3
+.byte 0x9
+.byte 0x0
+.byte 0x0
+.byte 0x0
+.globl main
+.text
+.text
+.ent main
+main:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4000000,-72
+.frame $sp,80,$26,48
+stq $26,8($sp)
+.prologue 1
+lda $16,L.4
+ldl $17,x
+lda $27,x+4
+ldb $18,($27)
+ldl $27,x+8
+sll $27,20,$27
+addl $27,0,$27
+sra $27,20,$19
+addl $19,0,$19
+ldl $27,x+8
+sll $27,16,$27
+addl $27,0,$27
+sra $27,28,$20
+addl $20,0,$20
+ldl $27,x+12
+sll $27,25,$27
+addl $27,0,$27
+sra $27,29,$21
+addl $21,0,$21
+lda $27,x+13
+ldb $27,($27)
+stq $27,0($sp)
+jsr $26,printf
+ldgp $gp,0($26)
+lda $16,L.10
+ldl $27,y
+zap $27,240,$27
+and $27,3,$17
+srl $27,2,$27
+and $27,15,$18
+ldl $19,y+4
+zap $19,240,$19
+jsr $26,printf
+ldgp $gp,0($26)
+ldl $27,x+8
+and $27,0xffff0fff,$27
+ldl $25,i
+sll $25,28,$25
+addl $25,0,$25
+sra $25,28,$25
+addl $25,0,$25
+sll $25,12,$25
+zap $25,240,$25
+and $25,0xf000,$25
+or $27,$25,$27
+stl $27,x+8
+ldl $27,x+12
+and $27,0xffffff8f,$27
+stl $27,x+12
+lda $16,L.4
+ldl $17,x
+lda $27,x+4
+ldb $18,($27)
+ldl $27,x+8
+sll $27,20,$27
+addl $27,0,$27
+sra $27,20,$19
+addl $19,0,$19
+ldl $27,x+8
+sll $27,16,$27
+addl $27,0,$27
+sra $27,28,$20
+addl $20,0,$20
+ldl $27,x+12
+sll $27,25,$27
+addl $27,0,$27
+sra $27,29,$21
+addl $21,0,$21
+lda $27,x+13
+ldb $27,($27)
+stq $27,0($sp)
+jsr $26,printf
+ldgp $gp,0($26)
+ldl $27,y
+zap $27,240,$27
+and $27,0xfffffffc,$27
+or $27,2,$27
+stl $27,y
+ldl $27,i
+stl $27,y+4
+lda $16,L.10
+ldl $27,y
+zap $27,240,$27
+and $27,3,$17
+srl $27,2,$27
+and $27,15,$18
+ldl $19,y+4
+zap $19,240,$19
+jsr $26,printf
+ldgp $gp,0($26)
+lda $16,x
+jsr $26,f2
+ldgp $gp,0($26)
+mov $31,$0
+L.3:
+ldq $26,8($sp)
+lda $sp,80($sp)
+ret
+.end main
+.globl f1
+.text
+.ent f1
+f1:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4004000,-72
+.frame $sp,80,$26,48
+stq $14,0($sp)
+stq $26,8($sp)
+mov $16,$14
+.prologue 1
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xffffffc3,$27
+stl $27,($14)
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xfffffffc,$27
+and $31,3,$25
+and $25,3,$25
+or $27,$25,$27
+stl $27,($14)
+ldl $27,($14)
+zap $27,240,$27
+and $27,60,$27
+cmpeq $27,$31,$23
+bne $23,L.22
+lda $16,L.24
+jsr $26,printf
+ldgp $gp,0($26)
+L.22:
+ldl $27,($14)
+zap $27,240,$27
+or $27,3,$27
+stl $27,($14)
+ldl $27,($14)
+zap $27,240,$27
+or $27,60,$27
+stl $27,($14)
+lda $16,L.25
+ldl $27,($14)
+zap $27,240,$27
+and $27,3,$17
+srl $27,2,$27
+and $27,15,$18
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$0
+L.21:
+ldq $14,0($sp)
+ldq $26,8($sp)
+lda $sp,80($sp)
+ret
+.end f1
+.globl f2
+.text
+.ent f2
+f2:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4006000,-64
+.frame $sp,80,$26,48
+stq $13,0($sp)
+stq $14,8($sp)
+stq $26,16($sp)
+mov $16,$14
+.prologue 1
+ldl $27,i
+cmpeq $27,$31,$23
+beq $23,L.28
+lda $13,1
+br L.29
+L.28:
+mov $31,$13
+L.29:
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xfffffffc,$27
+mov $13,$25
+and $25,3,$25
+and $25,3,$25
+or $27,$25,$27
+stl $27,($14)
+mov $14,$16
+jsr $26,f1
+ldgp $gp,0($26)
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xffffffc3,$27
+mov $31,$25
+and $25,15,$25
+sll $25,2,$25
+zap $25,240,$25
+and $25,60,$25
+or $27,$25,$27
+stl $27,($14)
+mov $31,$0
+L.26:
+ldq $13,0($sp)
+ldq $14,8($sp)
+ldq $26,16($sp)
+lda $sp,80($sp)
+ret
+.end f2
+.rdata
+.align 0
+L.25:
+.byte 112
+.byte 45
+.byte 62
+.byte 97
+.byte 32
+.byte 61
+.byte 32
+.byte 48
+.byte 120
+.byte 37
+.byte 120
+.byte 44
+.byte 32
+.byte 112
+.byte 45
+.byte 62
+.byte 98
+.byte 32
+.byte 61
+.byte 32
+.byte 48
+.byte 120
+.byte 37
+.byte 120
+.byte 10
+.byte 0
+.align 0
+L.24:
+.byte 112
+.byte 45
+.byte 62
+.byte 98
+.byte 32
+.byte 33
+.byte 61
+.byte 32
+.byte 48
+.byte 33
+.byte 10
+.byte 0
+.align 0
+L.10:
+.byte 121
+.byte 32
+.byte 61
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 0
+L.4:
+.byte 120
+.byte 32
+.byte 61
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0