URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-src/binutils-2.18.50/gas/testsuite/gas/hppa
- from Rev 38 to Rev 156
- ↔ Reverse comparison
Rev 38 → Rev 156
/basic/branch2.s
0,0 → 1,32
.LEVEL 2.0 |
.code |
.align 4 |
; More branching instructions than you ever knew what to do with. |
; PA 2.0 versions and new syntax. |
|
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
|
bb_tests: |
bb,< %r4,%sar,bb_tests |
bb,>= %r4,%sar,bb_tests |
bb,<,n %r4,%cr11,bb_tests |
bb,>=,n %r4,%cr11,bb_tests |
bb,*< %r4,%sar,bb_tests |
bb,*>= %r4,%sar,bb_tests |
bb,*<,n %r4,%cr11,bb_tests |
bb,*>=,n %r4,%cr11,bb_tests |
bb,*< %r4,5,bb_tests |
bb,*>= %r4,5,bb_tests |
bb,*<,n %r4,5,bb_tests |
bb,*>=,n %r4,5,bb_tests |
|
branch_stack: |
clrbts |
popbts 1 |
popbts 499 |
pushnom |
pushbts %r4 |
|
/basic/fp_misc.s
0,0 → 1,9
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
fpu_misc_tests: |
ftest |
/basic/fmemLRbug.s
0,0 → 1,76
.code |
.export f |
f: |
.proc |
.callinfo frame=0,no_calls |
.entry |
|
fstws %fr6R,0(%r26) |
fstws %fr6L,4(%r26) |
fstws %fr6,8(%r26) |
|
fstds %fr6R,0(%r26) |
fstds %fr6L,4(%r26) |
fstds %fr6,8(%r26) |
|
fldws 0(%r26),%fr6R |
fldws 4(%r26),%fr6L |
fldws 8(%r26),%fr6 |
|
fldds 0(%r26),%fr6R |
fldds 4(%r26),%fr6L |
fldds 8(%r26),%fr6 |
|
fstws %fr6R,0(%sr0,%r26) |
fstws %fr6L,4(%sr0,%r26) |
fstws %fr6,8(%sr0,%r26) |
|
fstds %fr6R,0(%sr0,%r26) |
fstds %fr6L,4(%sr0,%r26) |
fstds %fr6,8(%sr0,%r26) |
|
fldws 0(%sr0,%r26),%fr6R |
fldws 4(%sr0,%r26),%fr6L |
fldws 8(%sr0,%r26),%fr6 |
|
fldds 0(%sr0,%r26),%fr6R |
fldds 4(%sr0,%r26),%fr6L |
fldds 8(%sr0,%r26),%fr6 |
|
fstwx %fr6R,%r25(%r26) |
fstwx %fr6L,%r25(%r26) |
fstwx %fr6,%r25(%r26) |
|
fstdx %fr6R,%r25(%r26) |
fstdx %fr6L,%r25(%r26) |
fstdx %fr6,%r25(%r26) |
|
fldwx %r25(%r26),%fr6R |
fldwx %r25(%r26),%fr6L |
fldwx %r25(%r26),%fr6 |
|
flddx %r25(%r26),%fr6R |
flddx %r25(%r26),%fr6L |
flddx %r25(%r26),%fr6 |
|
fstwx %fr6R,%r25(%sr0,%r26) |
fstwx %fr6L,%r25(%sr0,%r26) |
fstwx %fr6,%r25(%sr0,%r26) |
|
fstdx %fr6R,%r25(%sr0,%r26) |
fstdx %fr6L,%r25(%sr0,%r26) |
fstdx %fr6,%r25(%sr0,%r26) |
|
fldwx %r25(%sr0,%r26),%fr6R |
fldwx %r25(%sr0,%r26),%fr6L |
fldwx %r25(%sr0,%r26),%fr6 |
|
flddx %r25(%sr0,%r26),%fr6R |
flddx %r25(%sr0,%r26),%fr6L |
flddx %r25(%sr0,%r26),%fr6 |
|
bv %r0(%r2) |
nop |
|
.exit |
.procend |
/basic/special.s
0,0 → 1,7
.level 1.1 |
.code |
.align 4 |
gfw %r4(%sr0,%r5) |
gfw,m %r4(%sr0,%r5) |
gfr %r4(%sr0,%r5) |
gfr,m %r4(%sr0,%r5) |
/basic/purge.s
0,0 → 1,26
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
pdtlb %r4(%sr0,%r5) |
pdtlb,m %r4(%sr0,%r5) |
pitlb %r4(%sr4,%r5) |
pitlb,m %r4(%sr4,%r5) |
pdtlbe %r4(%sr0,%r5) |
pdtlbe,m %r4(%sr0,%r5) |
pitlbe %r4(%sr4,%r5) |
pitlbe,m %r4(%sr4,%r5) |
pdc %r4(%sr0,%r5) |
pdc,m %r4(%sr0,%r5) |
fdc %r4(%sr0,%r5) |
fdc,m %r4(%sr0,%r5) |
fic %r4(%sr4,%r5) |
fic,m %r4(%sr4,%r5) |
fdce %r4(%sr0,%r5) |
fdce,m %r4(%sr0,%r5) |
fice %r4(%sr4,%r5) |
fice,m %r4(%sr4,%r5) |
|
/basic/fp_comp.s
0,0 → 1,73
.level 1.1 |
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
fcpy,sgl %fr5,%fr10 |
fcpy,dbl %fr5,%fr10 |
fcpy,quad %fr5,%fr10 |
fcpy,sgl %fr20,%fr24 |
fcpy,dbl %fr20,%fr24 |
|
fabs,sgl %fr5,%fr10 |
fabs,dbl %fr5,%fr10 |
fabs,quad %fr5,%fr10 |
fabs,sgl %fr20,%fr24 |
fabs,dbl %fr20,%fr24 |
|
fsqrt,sgl %fr5,%fr10 |
fsqrt,dbl %fr5,%fr10 |
fsqrt,quad %fr5,%fr10 |
fsqrt,sgl %fr20,%fr24 |
fsqrt,dbl %fr20,%fr24 |
|
frnd,sgl %fr5,%fr10 |
frnd,dbl %fr5,%fr10 |
frnd,quad %fr5,%fr10 |
frnd,sgl %fr20,%fr24 |
frnd,dbl %fr20,%fr24 |
|
fadd,sgl %fr4,%fr8,%fr12 |
fadd,dbl %fr4,%fr8,%fr12 |
fadd,quad %fr4,%fr8,%fr12 |
fadd,sgl %fr20,%fr24,%fr28 |
fadd,dbl %fr20,%fr24,%fr28 |
fadd,quad %fr20,%fr24,%fr28 |
|
fsub,sgl %fr4,%fr8,%fr12 |
fsub,dbl %fr4,%fr8,%fr12 |
fsub,quad %fr4,%fr8,%fr12 |
fsub,sgl %fr20,%fr24,%fr28 |
fsub,dbl %fr20,%fr24,%fr28 |
fsub,quad %fr20,%fr24,%fr28 |
|
fmpy,sgl %fr4,%fr8,%fr12 |
fmpy,dbl %fr4,%fr8,%fr12 |
fmpy,quad %fr4,%fr8,%fr12 |
fmpy,sgl %fr20,%fr24,%fr28 |
fmpy,dbl %fr20,%fr24,%fr28 |
fmpy,quad %fr20,%fr24,%fr28 |
|
fdiv,sgl %fr4,%fr8,%fr12 |
fdiv,dbl %fr4,%fr8,%fr12 |
fdiv,quad %fr4,%fr8,%fr12 |
fdiv,sgl %fr20,%fr24,%fr28 |
fdiv,dbl %fr20,%fr24,%fr28 |
fdiv,quad %fr20,%fr24,%fr28 |
|
frem,sgl %fr4,%fr8,%fr12 |
frem,dbl %fr4,%fr8,%fr12 |
frem,quad %fr4,%fr8,%fr12 |
frem,sgl %fr20,%fr24,%fr28 |
frem,dbl %fr20,%fr24,%fr28 |
frem,quad %fr20,%fr24,%fr28 |
|
fmpyadd,sgl %fr16,%fr17,%fr18,%fr19,%fr20 |
fmpyadd,dbl %fr16,%fr17,%fr18,%fr19,%fr20 |
fmpysub,sgl %fr16,%fr17,%fr18,%fr19,%fr20 |
fmpysub,dbl %fr16,%fr17,%fr18,%fr19,%fr20 |
|
xmpyu %fr4,%fr5,%fr6 |
/basic/imem.s
0,0 → 1,84
.code |
.align 4 |
.EXPORT integer_memory_tests,CODE |
.EXPORT integer_indexing_load,CODE |
.EXPORT integer_load_short_memory,CODE |
.EXPORT integer_store_short_memory,CODE |
.EXPORT main,CODE |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
; Basic integer memory tests which also test the various |
; addressing modes and completers. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
; |
integer_memory_tests: |
ldw 0(%sr0,%r4),%r26 |
ldh 0(%sr0,%r4),%r26 |
ldb 0(%sr0,%r4),%r26 |
stw %r26,0(%sr0,%r4) |
sth %r26,0(%sr0,%r4) |
stb %r26,0(%sr0,%r4) |
|
; Should make sure pre/post modes are recognized correctly. |
ldwm 0(%sr0,%r4),%r26 |
stwm %r26,0(%sr0,%r4) |
|
integer_indexing_load: |
ldwx %r5(%sr0,%r4),%r26 |
ldwx,s %r5(%sr0,%r4),%r26 |
ldwx,m %r5(%sr0,%r4),%r26 |
ldwx,sm %r5(%sr0,%r4),%r26 |
ldhx %r5(%sr0,%r4),%r26 |
ldhx,s %r5(%sr0,%r4),%r26 |
ldhx,m %r5(%sr0,%r4),%r26 |
ldhx,sm %r5(%sr0,%r4),%r26 |
ldbx %r5(%sr0,%r4),%r26 |
ldbx,s %r5(%sr0,%r4),%r26 |
ldbx,m %r5(%sr0,%r4),%r26 |
ldbx,sm %r5(%sr0,%r4),%r26 |
ldwax %r5(%r4),%r26 |
ldwax,s %r5(%r4),%r26 |
ldwax,m %r5(%r4),%r26 |
ldwax,sm %r5(%r4),%r26 |
ldcwx %r5(%sr0,%r4),%r26 |
ldcwx,s %r5(%sr0,%r4),%r26 |
ldcwx,m %r5(%sr0,%r4),%r26 |
ldcwx,sm %r5(%sr0,%r4),%r26 |
|
integer_load_short_memory: |
ldws 0(%sr0,%r4),%r26 |
ldws,mb 0(%sr0,%r4),%r26 |
ldws,ma 0(%sr0,%r4),%r26 |
ldhs 0(%sr0,%r4),%r26 |
ldhs,mb 0(%sr0,%r4),%r26 |
ldhs,ma 0(%sr0,%r4),%r26 |
ldbs 0(%sr0,%r4),%r26 |
ldbs,mb 0(%sr0,%r4),%r26 |
ldbs,ma 0(%sr0,%r4),%r26 |
ldwas 0(%r4),%r26 |
ldwas,mb 0(%r4),%r26 |
ldwas,ma 0(%r4),%r26 |
ldcws 0(%sr0,%r4),%r26 |
ldcws,mb 0(%sr0,%r4),%r26 |
ldcws,ma 0(%sr0,%r4),%r26 |
|
integer_store_short_memory: |
stws %r26,0(%sr0,%r4) |
stws,mb %r26,0(%sr0,%r4) |
stws,ma %r26,0(%sr0,%r4) |
sths %r26,0(%sr0,%r4) |
sths,mb %r26,0(%sr0,%r4) |
sths,ma %r26,0(%sr0,%r4) |
stbs %r26,0(%sr0,%r4) |
stbs,mb %r26,0(%sr0,%r4) |
stbs,ma %r26,0(%sr0,%r4) |
stwas %r26,0(%r4) |
stwas,mb %r26,0(%r4) |
stwas,ma %r26,0(%r4) |
stbys %r26,0(%sr0,%r4) |
stbys,b %r26,0(%sr0,%r4) |
stbys,e %r26,0(%sr0,%r4) |
stbys,b,m %r26,0(%sr0,%r4) |
stbys,e,m %r26,0(%sr0,%r4) |
/basic/add.s
0,0 → 1,160
.level 1.1 |
.code |
.align 4 |
; Basic add/sh?add instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
add %r4,%r5,%r6 |
add,= %r4,%r5,%r6 |
add,< %r4,%r5,%r6 |
add,<= %r4,%r5,%r6 |
add,nuv %r4,%r5,%r6 |
add,znv %r4,%r5,%r6 |
add,sv %r4,%r5,%r6 |
add,od %r4,%r5,%r6 |
add,tr %r4,%r5,%r6 |
add,<> %r4,%r5,%r6 |
add,>= %r4,%r5,%r6 |
add,> %r4,%r5,%r6 |
add,uv %r4,%r5,%r6 |
add,vnz %r4,%r5,%r6 |
add,nsv %r4,%r5,%r6 |
add,ev %r4,%r5,%r6 |
|
addl %r4,%r5,%r6 |
addl,= %r4,%r5,%r6 |
addl,< %r4,%r5,%r6 |
addl,<= %r4,%r5,%r6 |
addl,nuv %r4,%r5,%r6 |
addl,znv %r4,%r5,%r6 |
addl,sv %r4,%r5,%r6 |
addl,od %r4,%r5,%r6 |
addl,tr %r4,%r5,%r6 |
addl,<> %r4,%r5,%r6 |
addl,>= %r4,%r5,%r6 |
addl,> %r4,%r5,%r6 |
addl,uv %r4,%r5,%r6 |
addl,vnz %r4,%r5,%r6 |
addl,nsv %r4,%r5,%r6 |
addl,ev %r4,%r5,%r6 |
|
addo %r4,%r5,%r6 |
addo,= %r4,%r5,%r6 |
addo,< %r4,%r5,%r6 |
addo,<= %r4,%r5,%r6 |
addo,nuv %r4,%r5,%r6 |
addo,znv %r4,%r5,%r6 |
addo,sv %r4,%r5,%r6 |
addo,od %r4,%r5,%r6 |
addo,tr %r4,%r5,%r6 |
addo,<> %r4,%r5,%r6 |
addo,>= %r4,%r5,%r6 |
addo,> %r4,%r5,%r6 |
addo,uv %r4,%r5,%r6 |
addo,vnz %r4,%r5,%r6 |
addo,nsv %r4,%r5,%r6 |
addo,ev %r4,%r5,%r6 |
|
addc %r4,%r5,%r6 |
addc,= %r4,%r5,%r6 |
addc,< %r4,%r5,%r6 |
addc,<= %r4,%r5,%r6 |
addc,nuv %r4,%r5,%r6 |
addc,znv %r4,%r5,%r6 |
addc,sv %r4,%r5,%r6 |
addc,od %r4,%r5,%r6 |
addc,tr %r4,%r5,%r6 |
addc,<> %r4,%r5,%r6 |
addc,>= %r4,%r5,%r6 |
addc,> %r4,%r5,%r6 |
addc,uv %r4,%r5,%r6 |
addc,vnz %r4,%r5,%r6 |
addc,nsv %r4,%r5,%r6 |
addc,ev %r4,%r5,%r6 |
|
addco %r4,%r5,%r6 |
addco,= %r4,%r5,%r6 |
addco,< %r4,%r5,%r6 |
addco,<= %r4,%r5,%r6 |
addco,nuv %r4,%r5,%r6 |
addco,znv %r4,%r5,%r6 |
addco,sv %r4,%r5,%r6 |
addco,od %r4,%r5,%r6 |
addco,tr %r4,%r5,%r6 |
addco,<> %r4,%r5,%r6 |
addco,>= %r4,%r5,%r6 |
addco,> %r4,%r5,%r6 |
addco,uv %r4,%r5,%r6 |
addco,vnz %r4,%r5,%r6 |
addco,nsv %r4,%r5,%r6 |
addco,ev %r4,%r5,%r6 |
|
add,l %r4,%r5,%r6 |
add,l,= %r4,%r5,%r6 |
add,l,< %r4,%r5,%r6 |
add,l,<= %r4,%r5,%r6 |
add,l,nuv %r4,%r5,%r6 |
add,l,znv %r4,%r5,%r6 |
add,l,sv %r4,%r5,%r6 |
add,l,od %r4,%r5,%r6 |
add,l,tr %r4,%r5,%r6 |
add,l,<> %r4,%r5,%r6 |
add,l,>= %r4,%r5,%r6 |
add,l,> %r4,%r5,%r6 |
add,l,uv %r4,%r5,%r6 |
add,l,vnz %r4,%r5,%r6 |
add,l,nsv %r4,%r5,%r6 |
add,l,ev %r4,%r5,%r6 |
|
add,tsv %r4,%r5,%r6 |
add,tsv,= %r4,%r5,%r6 |
add,tsv,< %r4,%r5,%r6 |
add,tsv,<= %r4,%r5,%r6 |
add,tsv,nuv %r4,%r5,%r6 |
add,tsv,znv %r4,%r5,%r6 |
add,tsv,sv %r4,%r5,%r6 |
add,tsv,od %r4,%r5,%r6 |
add,tsv,tr %r4,%r5,%r6 |
add,tsv,<> %r4,%r5,%r6 |
add,tsv,>= %r4,%r5,%r6 |
add,tsv,> %r4,%r5,%r6 |
add,tsv,uv %r4,%r5,%r6 |
add,tsv,vnz %r4,%r5,%r6 |
add,tsv,nsv %r4,%r5,%r6 |
add,tsv,ev %r4,%r5,%r6 |
|
add,c %r4,%r5,%r6 |
add,c,= %r4,%r5,%r6 |
add,c,< %r4,%r5,%r6 |
add,c,<= %r4,%r5,%r6 |
add,c,nuv %r4,%r5,%r6 |
add,c,znv %r4,%r5,%r6 |
add,c,sv %r4,%r5,%r6 |
add,c,od %r4,%r5,%r6 |
add,c,tr %r4,%r5,%r6 |
add,c,<> %r4,%r5,%r6 |
add,c,>= %r4,%r5,%r6 |
add,c,> %r4,%r5,%r6 |
add,c,uv %r4,%r5,%r6 |
add,c,vnz %r4,%r5,%r6 |
add,c,nsv %r4,%r5,%r6 |
add,c,ev %r4,%r5,%r6 |
|
add,c,tsv %r4,%r5,%r6 |
add,c,tsv,= %r4,%r5,%r6 |
add,c,tsv,< %r4,%r5,%r6 |
add,c,tsv,<= %r4,%r5,%r6 |
add,c,tsv,nuv %r4,%r5,%r6 |
add,c,tsv,znv %r4,%r5,%r6 |
add,c,tsv,sv %r4,%r5,%r6 |
add,c,tsv,od %r4,%r5,%r6 |
add,tsv,c,tr %r4,%r5,%r6 |
add,tsv,c,<> %r4,%r5,%r6 |
add,tsv,c,>= %r4,%r5,%r6 |
add,tsv,c,> %r4,%r5,%r6 |
add,tsv,c,uv %r4,%r5,%r6 |
add,tsv,c,vnz %r4,%r5,%r6 |
add,tsv,c,nsv %r4,%r5,%r6 |
add,tsv,c,ev %r4,%r5,%r6 |
/basic/sub.s
0,0 → 1,194
.level 1.1 |
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
sub %r4,%r5,%r6 |
sub,= %r4,%r5,%r6 |
sub,< %r4,%r5,%r6 |
sub,<= %r4,%r5,%r6 |
sub,<< %r4,%r5,%r6 |
sub,<<= %r4,%r5,%r6 |
sub,sv %r4,%r5,%r6 |
sub,od %r4,%r5,%r6 |
sub,tr %r4,%r5,%r6 |
sub,<> %r4,%r5,%r6 |
sub,>= %r4,%r5,%r6 |
sub,> %r4,%r5,%r6 |
sub,>>= %r4,%r5,%r6 |
sub,>> %r4,%r5,%r6 |
sub,nsv %r4,%r5,%r6 |
sub,ev %r4,%r5,%r6 |
|
subo %r4,%r5,%r6 |
subo,= %r4,%r5,%r6 |
subo,< %r4,%r5,%r6 |
subo,<= %r4,%r5,%r6 |
subo,<< %r4,%r5,%r6 |
subo,<<= %r4,%r5,%r6 |
subo,sv %r4,%r5,%r6 |
subo,od %r4,%r5,%r6 |
subo,tr %r4,%r5,%r6 |
subo,<> %r4,%r5,%r6 |
subo,>= %r4,%r5,%r6 |
subo,> %r4,%r5,%r6 |
subo,>>= %r4,%r5,%r6 |
subo,>> %r4,%r5,%r6 |
subo,nsv %r4,%r5,%r6 |
subo,ev %r4,%r5,%r6 |
|
subb %r4,%r5,%r6 |
subb,= %r4,%r5,%r6 |
subb,< %r4,%r5,%r6 |
subb,<= %r4,%r5,%r6 |
subb,<< %r4,%r5,%r6 |
subb,<<= %r4,%r5,%r6 |
subb,sv %r4,%r5,%r6 |
subb,od %r4,%r5,%r6 |
subb,tr %r4,%r5,%r6 |
subb,<> %r4,%r5,%r6 |
subb,>= %r4,%r5,%r6 |
subb,> %r4,%r5,%r6 |
subb,>>= %r4,%r5,%r6 |
subb,>> %r4,%r5,%r6 |
subb,nsv %r4,%r5,%r6 |
subb,ev %r4,%r5,%r6 |
|
subbo %r4,%r5,%r6 |
subbo,= %r4,%r5,%r6 |
subbo,< %r4,%r5,%r6 |
subbo,<= %r4,%r5,%r6 |
subbo,<< %r4,%r5,%r6 |
subbo,<<= %r4,%r5,%r6 |
subbo,sv %r4,%r5,%r6 |
subbo,od %r4,%r5,%r6 |
subbo,tr %r4,%r5,%r6 |
subbo,<> %r4,%r5,%r6 |
subbo,>= %r4,%r5,%r6 |
subbo,> %r4,%r5,%r6 |
subbo,>>= %r4,%r5,%r6 |
subbo,>> %r4,%r5,%r6 |
subbo,nsv %r4,%r5,%r6 |
subbo,ev %r4,%r5,%r6 |
|
subt %r4,%r5,%r6 |
subt,= %r4,%r5,%r6 |
subt,< %r4,%r5,%r6 |
subt,<= %r4,%r5,%r6 |
subt,<< %r4,%r5,%r6 |
subt,<<= %r4,%r5,%r6 |
subt,sv %r4,%r5,%r6 |
subt,od %r4,%r5,%r6 |
subt,tr %r4,%r5,%r6 |
subt,<> %r4,%r5,%r6 |
subt,>= %r4,%r5,%r6 |
subt,> %r4,%r5,%r6 |
subt,>>= %r4,%r5,%r6 |
subt,>> %r4,%r5,%r6 |
subt,nsv %r4,%r5,%r6 |
subt,ev %r4,%r5,%r6 |
|
subto %r4,%r5,%r6 |
subto,= %r4,%r5,%r6 |
subto,< %r4,%r5,%r6 |
subto,<= %r4,%r5,%r6 |
subto,<< %r4,%r5,%r6 |
subto,<<= %r4,%r5,%r6 |
subto,sv %r4,%r5,%r6 |
subto,od %r4,%r5,%r6 |
subto,tr %r4,%r5,%r6 |
subto,<> %r4,%r5,%r6 |
subto,>= %r4,%r5,%r6 |
subto,> %r4,%r5,%r6 |
subto,>>= %r4,%r5,%r6 |
subto,>> %r4,%r5,%r6 |
subto,nsv %r4,%r5,%r6 |
subto,ev %r4,%r5,%r6 |
|
sub,tsv %r4,%r5,%r6 |
sub,tsv,= %r4,%r5,%r6 |
sub,tsv,< %r4,%r5,%r6 |
sub,tsv,<= %r4,%r5,%r6 |
sub,tsv,<< %r4,%r5,%r6 |
sub,tsv,<<= %r4,%r5,%r6 |
sub,tsv,sv %r4,%r5,%r6 |
sub,tsv,od %r4,%r5,%r6 |
sub,tsv,tr %r4,%r5,%r6 |
sub,tsv,<> %r4,%r5,%r6 |
sub,tsv,>= %r4,%r5,%r6 |
sub,tsv,> %r4,%r5,%r6 |
sub,tsv,>>= %r4,%r5,%r6 |
sub,tsv,>> %r4,%r5,%r6 |
sub,tsv,nsv %r4,%r5,%r6 |
sub,tsv,ev %r4,%r5,%r6 |
|
sub,b %r4,%r5,%r6 |
sub,b,= %r4,%r5,%r6 |
sub,b,< %r4,%r5,%r6 |
sub,b,<= %r4,%r5,%r6 |
sub,b,<< %r4,%r5,%r6 |
sub,b,<<= %r4,%r5,%r6 |
sub,b,sv %r4,%r5,%r6 |
sub,b,od %r4,%r5,%r6 |
sub,b,tr %r4,%r5,%r6 |
sub,b,<> %r4,%r5,%r6 |
sub,b,>= %r4,%r5,%r6 |
sub,b,> %r4,%r5,%r6 |
sub,b,>>= %r4,%r5,%r6 |
sub,b,>> %r4,%r5,%r6 |
sub,b,nsv %r4,%r5,%r6 |
sub,b,ev %r4,%r5,%r6 |
|
sub,b,tsv %r4,%r5,%r6 |
sub,b,tsv,= %r4,%r5,%r6 |
sub,b,tsv,< %r4,%r5,%r6 |
sub,b,tsv,<= %r4,%r5,%r6 |
sub,b,tsv,<< %r4,%r5,%r6 |
sub,b,tsv,<<= %r4,%r5,%r6 |
sub,b,tsv,sv %r4,%r5,%r6 |
sub,b,tsv,od %r4,%r5,%r6 |
sub,tsv,b,tr %r4,%r5,%r6 |
sub,tsv,b,<> %r4,%r5,%r6 |
sub,tsv,b,>= %r4,%r5,%r6 |
sub,tsv,b,> %r4,%r5,%r6 |
sub,tsv,b,>>= %r4,%r5,%r6 |
sub,tsv,b,>> %r4,%r5,%r6 |
sub,tsv,b,nsv %r4,%r5,%r6 |
sub,tsv,b,ev %r4,%r5,%r6 |
|
sub,tc %r4,%r5,%r6 |
sub,tc,= %r4,%r5,%r6 |
sub,tc,< %r4,%r5,%r6 |
sub,tc,<= %r4,%r5,%r6 |
sub,tc,<< %r4,%r5,%r6 |
sub,tc,<<= %r4,%r5,%r6 |
sub,tc,sv %r4,%r5,%r6 |
sub,tc,od %r4,%r5,%r6 |
sub,tc,tr %r4,%r5,%r6 |
sub,tc,<> %r4,%r5,%r6 |
sub,tc,>= %r4,%r5,%r6 |
sub,tc,> %r4,%r5,%r6 |
sub,tc,>>= %r4,%r5,%r6 |
sub,tc,>> %r4,%r5,%r6 |
sub,tc,nsv %r4,%r5,%r6 |
sub,tc,ev %r4,%r5,%r6 |
|
sub,tc,tsv %r4,%r5,%r6 |
sub,tc,tsv,= %r4,%r5,%r6 |
sub,tc,tsv,< %r4,%r5,%r6 |
sub,tc,tsv,<= %r4,%r5,%r6 |
sub,tc,tsv,<< %r4,%r5,%r6 |
sub,tc,tsv,<<= %r4,%r5,%r6 |
sub,tc,tsv,sv %r4,%r5,%r6 |
sub,tc,tsv,od %r4,%r5,%r6 |
sub,tsv,tc,tr %r4,%r5,%r6 |
sub,tsv,tc,<> %r4,%r5,%r6 |
sub,tsv,tc,>= %r4,%r5,%r6 |
sub,tsv,tc,> %r4,%r5,%r6 |
sub,tsv,tc,>>= %r4,%r5,%r6 |
sub,tsv,tc,>> %r4,%r5,%r6 |
sub,tsv,tc,nsv %r4,%r5,%r6 |
sub,tsv,tc,ev %r4,%r5,%r6 |
/basic/extract2.s
0,0 → 1,42
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
extrw,u %r4,5,10,%r6 |
extrw,u,= %r4,5,10,%r6 |
extrw,u,< %r4,5,10,%r6 |
extrw,u,od %r4,5,10,%r6 |
extrw,u,tr %r4,5,10,%r6 |
extrw,u,<> %r4,5,10,%r6 |
extrw,u,>= %r4,5,10,%r6 |
extrw,u,ev %r4,5,10,%r6 |
|
extrw,s %r4,5,10,%r6 |
extrw,s,= %r4,5,10,%r6 |
extrw,s,< %r4,5,10,%r6 |
extrw,s,od %r4,5,10,%r6 |
extrw,tr %r4,5,10,%r6 |
extrw,<> %r4,5,10,%r6 |
extrw,>= %r4,5,10,%r6 |
extrw,ev %r4,5,10,%r6 |
|
extrw,u %r4,%sar,5,%r6 |
extrw,u,= %r4,%sar,5,%r6 |
extrw,u,< %r4,%sar,5,%r6 |
extrw,u,od %r4,%sar,5,%r6 |
extrw,u,tr %r4,%sar,5,%r6 |
extrw,u,<> %r4,%sar,5,%r6 |
extrw,u,>= %r4,%sar,5,%r6 |
extrw,u,ev %r4,%sar,5,%r6 |
|
extrw,s %r4,%sar,5,%r6 |
extrw,s,= %r4,%sar,5,%r6 |
extrw,s,< %r4,%sar,5,%r6 |
extrw,s,od %r4,%sar,5,%r6 |
extrw,tr %r4,%sar,5,%r6 |
extrw,<> %r4,%sar,5,%r6 |
extrw,>= %r4,%sar,5,%r6 |
extrw,ev %r4,%sar,5,%r6 |
/basic/perf.s
0,0 → 1,10
.LEVEL 2.0 |
.code |
.align 4 |
; PA2.0 performance monitor instruction tests |
|
|
pmenb |
pmdis |
pmdis,n |
|
/basic/extract3.s
0,0 → 1,43
.LEVEL 2.0 |
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
extrd,u,* %r4,10,5,%r6 |
extrd,u,*= %r4,10,5,%r6 |
extrd,u,*< %r4,10,5,%r6 |
extrd,u,*od %r4,10,5,%r6 |
extrd,u,*tr %r4,10,5,%r6 |
extrd,u,*<> %r4,10,5,%r6 |
extrd,u,*>= %r4,10,5,%r6 |
extrd,u,*ev %r4,10,5,%r6 |
|
extrd,s,* %r4,10,5,%r6 |
extrd,s,*= %r4,10,5,%r6 |
extrd,s,*< %r4,10,5,%r6 |
extrd,s,*od %r4,10,5,%r6 |
extrd,*tr %r4,10,5,%r6 |
extrd,*<> %r4,10,5,%r6 |
extrd,*>= %r4,10,5,%r6 |
extrd,*ev %r4,10,5,%r6 |
|
extrd,u,* %r4,%sar,5,%r6 |
extrd,u,*= %r4,%sar,5,%r6 |
extrd,u,*< %r4,%sar,5,%r6 |
extrd,u,*od %r4,%sar,5,%r6 |
extrd,u,*tr %r4,%sar,5,%r6 |
extrd,u,*<> %r4,%sar,5,%r6 |
extrd,u,*>= %r4,%sar,5,%r6 |
extrd,u,*ev %r4,%sar,5,%r6 |
|
extrd,s,* %r4,%sar,5,%r6 |
extrd,s,*= %r4,%sar,5,%r6 |
extrd,s,*< %r4,%sar,5,%r6 |
extrd,s,*od %r4,%sar,5,%r6 |
extrd,*tr %r4,%sar,5,%r6 |
extrd,*<> %r4,%sar,5,%r6 |
extrd,*>= %r4,%sar,5,%r6 |
extrd,*ev %r4,%sar,5,%r6 |
/basic/branch.s
0,0 → 1,219
.level 1.1 |
.code |
.align 4 |
; More branching instructions than you ever knew what to do with. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
branch_tests: |
bl branch_tests,%r2 |
bl,n branch_tests,%r2 |
b branch_tests |
b,n branch_tests |
gate branch_tests,%r2 |
gate,n branch_tests,%r2 |
blr %r4,%r2 |
blr,n %r4,%r2 |
blr %r4,%r0 |
blr,n %r4,%r0 |
bv %r0(%r2) |
bv,n %r0(%r2) |
be 0x1234(%sr1,%r2) |
be,n 0x1234(%sr1,%r2) |
ble 0x1234(%sr1,%r2) |
ble,n 0x1234(%sr1,%r2) |
|
movb_tests: |
movb %r4,%r26,movb_tests |
movb,= %r4,%r26,movb_tests |
movb,< %r4,%r26,movb_tests |
movb,od %r4,%r26,movb_tests |
movb,tr %r4,%r26,movb_tests |
movb,<> %r4,%r26,movb_tests |
movb,>= %r4,%r26,movb_tests |
movb,ev %r4,%r26,movb_tests |
movb_nullified_tests: |
movb,n %r4,%r26,movb_tests |
movb,=,n %r4,%r26,movb_tests |
movb,<,n %r4,%r26,movb_tests |
movb,od,n %r4,%r26,movb_tests |
movb,tr,n %r4,%r26,movb_tests |
movb,<>,n %r4,%r26,movb_tests |
movb,>=,n %r4,%r26,movb_tests |
movb,ev,n %r4,%r26,movb_tests |
|
movib_tests: |
movib 5,%r26,movib_tests |
movib,= 5,%r26,movib_tests |
movib,< 5,%r26,movib_tests |
movib,od 5,%r26,movib_tests |
movib,tr 5,%r26,movib_tests |
movib,<> 5,%r26,movib_tests |
movib,>= 5,%r26,movib_tests |
movib,ev 5,%r26,movib_tests |
movib_nullified_tests: |
movib,n 5,%r26,movib_tests |
movib,=,n 5,%r26,movib_tests |
movib,<,n 5,%r26,movib_tests |
movib,od,n 5,%r26,movib_tests |
movib,tr,n 5,%r26,movib_tests |
movib,<>,n 5,%r26,movib_tests |
movib,>=,n 5,%r26,movib_tests |
movib,ev,n 5,%r26,movib_tests |
|
comb_tests: |
comb %r0,%r4,comb_tests |
comb,= %r0,%r4,comb_tests |
comb,< %r0,%r4,comb_tests |
comb,<= %r0,%r4,comb_tests |
comb,<< %r0,%r4,comb_tests |
comb,<<= %r0,%r4,comb_tests |
comb,sv %r0,%r4,comb_tests |
comb,od %r0,%r4,comb_tests |
comb,tr %r0,%r4,comb_tests |
comb,<> %r0,%r4,comb_tests |
comb,>= %r0,%r4,comb_tests |
comb,> %r0,%r4,comb_tests |
comb,>>= %r0,%r4,comb_tests |
comb,>> %r0,%r4,comb_tests |
comb,nsv %r0,%r4,comb_tests |
comb,ev %r0,%r4,comb_tests |
comb_nullified_tests: |
comb,n %r0,%r4,comb_tests |
comb,=,n %r0,%r4,comb_tests |
comb,<,n %r0,%r4,comb_tests |
comb,<=,n %r0,%r4,comb_tests |
comb,<<,n %r0,%r4,comb_tests |
comb,<<=,n %r0,%r4,comb_tests |
comb,sv,n %r0,%r4,comb_tests |
comb,od,n %r0,%r4,comb_tests |
comb,tr,n %r0,%r4,comb_tests |
comb,<>,n %r0,%r4,comb_tests |
comb,>=,n %r0,%r4,comb_tests |
comb,>,n %r0,%r4,comb_tests |
comb,>>=,n %r0,%r4,comb_tests |
comb,>>,n %r0,%r4,comb_tests |
comb,nsv,n %r0,%r4,comb_tests |
comb,ev,n %r0,%r4,comb_tests |
|
comib_tests: |
comib 0,%r4,comib_tests |
comib,< 0,%r4,comib_tests |
comib,<= 0,%r4,comib_tests |
comib,<< 0,%r4,comib_tests |
comib,<<= 0,%r4,comib_tests |
comib,sv 0,%r4,comib_tests |
comib,od 0,%r4,comib_tests |
comib,tr 0,%r4,comib_tests |
comib,<> 0,%r4,comib_tests |
comib,>= 0,%r4,comib_tests |
comib,> 0,%r4,comib_tests |
comib,>>= 0,%r4,comib_tests |
comib,>> 0,%r4,comib_tests |
comib,nsv 0,%r4,comib_tests |
comib,ev 0,%r4,comb_tests |
|
comib_nullified_tests: |
comib,n 0,%r4,comib_tests |
comib,=,n 0,%r4,comib_tests |
comib,<,n 0,%r4,comib_tests |
comib,<=,n 0,%r4,comib_tests |
comib,<<,n 0,%r4,comib_tests |
comib,<<=,n 0,%r4,comib_tests |
comib,sv,n 0,%r4,comib_tests |
comib,od,n 0,%r4,comib_tests |
comib,tr,n 0,%r4,comib_tests |
comib,<>,n 0,%r4,comib_tests |
comib,>=,n 0,%r4,comib_tests |
comib,>,n 0,%r4,comib_tests |
comib,>>=,n 0,%r4,comib_tests |
comib,>>,n 0,%r4,comib_tests |
comib,nsv,n 0,%r4,comib_tests |
comib,ev,n 0,%r4,comib_tests |
|
|
|
addb_tests: |
addb %r1,%r4,addb_tests |
addb,= %r1,%r4,addb_tests |
addb,< %r1,%r4,addb_tests |
addb,<= %r1,%r4,addb_tests |
addb,nuv %r1,%r4,addb_tests |
addb,znv %r1,%r4,addb_tests |
addb,sv %r1,%r4,addb_tests |
addb,od %r1,%r4,addb_tests |
addb,tr %r1,%r4,addb_tests |
addb,<> %r1,%r4,addb_tests |
addb,>= %r1,%r4,addb_tests |
addb,> %r1,%r4,addb_tests |
addb,uv %r1,%r4,addb_tests |
addb,vnz %r1,%r4,addb_tests |
addb,nsv %r1,%r4,addb_tests |
addb,ev %r1,%r4,addb_tests |
addb_nullified_tests: |
addb,n %r1,%r4,addb_tests |
addb,=,n %r1,%r4,addb_tests |
addb,<,n %r1,%r4,addb_tests |
addb,<=,n %r1,%r4,addb_tests |
addb,nuv,n %r1,%r4,addb_tests |
addb,znv,n %r1,%r4,addb_tests |
addb,sv,n %r1,%r4,addb_tests |
addb,od,n %r1,%r4,addb_tests |
addb,tr,n %r1,%r4,addb_tests |
addb,<>,n %r1,%r4,addb_tests |
addb,>=,n %r1,%r4,addb_tests |
addb,>,n %r1,%r4,addb_tests |
addb,uv,n %r1,%r4,addb_tests |
addb,vnz,n %r1,%r4,addb_tests |
addb,nsv,n %r1,%r4,addb_tests |
addb,ev,n %r1,%r4,addb_tests |
|
addib_tests: |
addib -1,%r4,addib_tests |
addib,= -1,%r4,addib_tests |
addib,< -1,%r4,addib_tests |
addib,<= -1,%r4,addib_tests |
addib,nuv -1,%r4,addib_tests |
addib,znv -1,%r4,addib_tests |
addib,sv -1,%r4,addib_tests |
addib,od -1,%r4,addib_tests |
addib,tr -1,%r4,addib_tests |
addib,<> -1,%r4,addib_tests |
addib,>= -1,%r4,addib_tests |
addib,> -1,%r4,addib_tests |
addib,uv -1,%r4,addib_tests |
addib,vnz -1,%r4,addib_tests |
addib,nsv -1,%r4,addib_tests |
addib,ev -1,%r4,comb_tests |
|
addib_nullified_tests: |
addib,n -1,%r4,addib_tests |
addib,=,n -1,%r4,addib_tests |
addib,<,n -1,%r4,addib_tests |
addib,<=,n -1,%r4,addib_tests |
addib,nuv,n -1,%r4,addib_tests |
addib,znv,n -1,%r4,addib_tests |
addib,sv,n -1,%r4,addib_tests |
addib,od,n -1,%r4,addib_tests |
addib,tr,n -1,%r4,addib_tests |
addib,<>,n -1,%r4,addib_tests |
addib,>=,n -1,%r4,addib_tests |
addib,>,n -1,%r4,addib_tests |
addib,uv,n -1,%r4,addib_tests |
addib,vnz,n -1,%r4,addib_tests |
addib,nsv,n -1,%r4,addib_tests |
addib,ev,n -1,%r4,addib_tests |
|
|
; Needs to check lots of stuff (like corner bit cases) |
bb_tests: |
bvb,< %r4,bb_tests |
bvb,>= %r4,bb_tests |
bvb,<,n %r4,bb_tests |
bvb,>=,n %r4,bb_tests |
bb,< %r4,5,bb_tests |
bb,>= %r4,5,bb_tests |
bb,<,n %r4,5,bb_tests |
bb,>=,n %r4,5,bb_tests |
|
/basic/addi.s
0,0 → 1,125
.code |
.align 4 |
; Basic add immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
addi 123,%r5,%r6 |
addi,= 123,%r5,%r6 |
addi,< 123,%r5,%r6 |
addi,<= 123,%r5,%r6 |
addi,nuv 123,%r5,%r6 |
addi,znv 123,%r5,%r6 |
addi,sv 123,%r5,%r6 |
addi,od 123,%r5,%r6 |
addi,tr 123,%r5,%r6 |
addi,<> 123,%r5,%r6 |
addi,>= 123,%r5,%r6 |
addi,> 123,%r5,%r6 |
addi,uv 123,%r5,%r6 |
addi,vnz 123,%r5,%r6 |
addi,nsv 123,%r5,%r6 |
addi,ev 123,%r5,%r6 |
|
addio 123,%r5,%r6 |
addio,= 123,%r5,%r6 |
addio,< 123,%r5,%r6 |
addio,<= 123,%r5,%r6 |
addio,nuv 123,%r5,%r6 |
addio,znv 123,%r5,%r6 |
addio,sv 123,%r5,%r6 |
addio,od 123,%r5,%r6 |
addio,tr 123,%r5,%r6 |
addio,<> 123,%r5,%r6 |
addio,>= 123,%r5,%r6 |
addio,> 123,%r5,%r6 |
addio,uv 123,%r5,%r6 |
addio,vnz 123,%r5,%r6 |
addio,nsv 123,%r5,%r6 |
addio,ev 123,%r5,%r6 |
|
addit 123,%r5,%r6 |
addit,= 123,%r5,%r6 |
addit,< 123,%r5,%r6 |
addit,<= 123,%r5,%r6 |
addit,nuv 123,%r5,%r6 |
addit,znv 123,%r5,%r6 |
addit,sv 123,%r5,%r6 |
addit,od 123,%r5,%r6 |
addit,tr 123,%r5,%r6 |
addit,<> 123,%r5,%r6 |
addit,>= 123,%r5,%r6 |
addit,> 123,%r5,%r6 |
addit,uv 123,%r5,%r6 |
addit,vnz 123,%r5,%r6 |
addit,nsv 123,%r5,%r6 |
addit,ev 123,%r5,%r6 |
|
addito 123,%r5,%r6 |
addito,= 123,%r5,%r6 |
addito,< 123,%r5,%r6 |
addito,<= 123,%r5,%r6 |
addito,nuv 123,%r5,%r6 |
addito,znv 123,%r5,%r6 |
addito,sv 123,%r5,%r6 |
addito,od 123,%r5,%r6 |
addito,tr 123,%r5,%r6 |
addito,<> 123,%r5,%r6 |
addito,>= 123,%r5,%r6 |
addito,> 123,%r5,%r6 |
addito,uv 123,%r5,%r6 |
addito,vnz 123,%r5,%r6 |
addito,nsv 123,%r5,%r6 |
addito,ev 123,%r5,%r6 |
|
addi,tsv 123,%r5,%r6 |
addi,tsv,= 123,%r5,%r6 |
addi,tsv,< 123,%r5,%r6 |
addi,tsv,<= 123,%r5,%r6 |
addi,tsv,nuv 123,%r5,%r6 |
addi,tsv,znv 123,%r5,%r6 |
addi,tsv,sv 123,%r5,%r6 |
addi,tsv,od 123,%r5,%r6 |
addi,tsv,tr 123,%r5,%r6 |
addi,tsv,<> 123,%r5,%r6 |
addi,tsv,>= 123,%r5,%r6 |
addi,tsv,> 123,%r5,%r6 |
addi,tsv,uv 123,%r5,%r6 |
addi,tsv,vnz 123,%r5,%r6 |
addi,tsv,nsv 123,%r5,%r6 |
addi,tsv,ev 123,%r5,%r6 |
|
addi,tc 123,%r5,%r6 |
addi,tc,= 123,%r5,%r6 |
addi,tc,< 123,%r5,%r6 |
addi,tc,<= 123,%r5,%r6 |
addi,tc,nuv 123,%r5,%r6 |
addi,tc,znv 123,%r5,%r6 |
addi,tc,sv 123,%r5,%r6 |
addi,tc,od 123,%r5,%r6 |
addi,tc,tr 123,%r5,%r6 |
addi,tc,<> 123,%r5,%r6 |
addi,tc,>= 123,%r5,%r6 |
addi,tc,> 123,%r5,%r6 |
addi,tc,uv 123,%r5,%r6 |
addi,tc,vnz 123,%r5,%r6 |
addi,tc,nsv 123,%r5,%r6 |
addi,tc,ev 123,%r5,%r6 |
|
addi,tc,tsv 123,%r5,%r6 |
addi,tc,tsv,= 123,%r5,%r6 |
addi,tc,tsv,< 123,%r5,%r6 |
addi,tc,tsv,<= 123,%r5,%r6 |
addi,tc,tsv,nuv 123,%r5,%r6 |
addi,tc,tsv,znv 123,%r5,%r6 |
addi,tc,tsv,sv 123,%r5,%r6 |
addi,tc,tsv,od 123,%r5,%r6 |
addi,tsv,tc,tr 123,%r5,%r6 |
addi,tsv,tc,<> 123,%r5,%r6 |
addi,tsv,tc,>= 123,%r5,%r6 |
addi,tsv,tc,> 123,%r5,%r6 |
addi,tsv,tc,uv 123,%r5,%r6 |
addi,tsv,tc,vnz 123,%r5,%r6 |
addi,tsv,tc,nsv 123,%r5,%r6 |
addi,tsv,tc,ev 123,%r5,%r6 |
/basic/unit2.s
0,0 → 1,47
.LEVEL 2.0 |
.code |
.align 4 |
; PA2.0 unit instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
|
uxor,* %r4,%r5,%r6 |
uxor,*sbz %r4,%r5,%r6 |
uxor,*shz %r4,%r5,%r6 |
uxor,*sdc %r4,%r5,%r6 |
uxor,*sbc %r4,%r5,%r6 |
uxor,*shc %r4,%r5,%r6 |
uxor,*tr %r4,%r5,%r6 |
uxor,*nbz %r4,%r5,%r6 |
uxor,*nhz %r4,%r5,%r6 |
uxor,*ndc %r4,%r5,%r6 |
uxor,*nbc %r4,%r5,%r6 |
uxor,*nhc %r4,%r5,%r6 |
|
uaddcm,* %r4,%r5,%r6 |
uaddcm,*sbz %r4,%r5,%r6 |
uaddcm,*shz %r4,%r5,%r6 |
uaddcm,*sdc %r4,%r5,%r6 |
uaddcm,*sbc %r4,%r5,%r6 |
uaddcm,*shc %r4,%r5,%r6 |
uaddcm,*tr %r4,%r5,%r6 |
uaddcm,*nbz %r4,%r5,%r6 |
uaddcm,*nhz %r4,%r5,%r6 |
uaddcm,*ndc %r4,%r5,%r6 |
uaddcm,*nbc %r4,%r5,%r6 |
uaddcm,*nhc %r4,%r5,%r6 |
|
uaddcm,tc,* %r4,%r5,%r6 |
uaddcm,tc,*sbz %r4,%r5,%r6 |
uaddcm,tc,*shz %r4,%r5,%r6 |
uaddcm,tc,*sdc %r4,%r5,%r6 |
uaddcm,tc,*sbc %r4,%r5,%r6 |
uaddcm,tc,*shc %r4,%r5,%r6 |
uaddcm,tc,*tr %r4,%r5,%r6 |
uaddcm,tc,*nbz %r4,%r5,%r6 |
uaddcm,tc,*nhz %r4,%r5,%r6 |
uaddcm,tc,*ndc %r4,%r5,%r6 |
uaddcm,tc,*nbc %r4,%r5,%r6 |
uaddcm,tc,*nhc %r4,%r5,%r6 |
/basic/coprmem.s
0,0 → 1,46
.code |
.align 4 |
; Basic copr memory tests which also test the various |
; addressing modes and completers. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
; |
copr_indexing_load: |
|
cldwx,4 %r5(%sr0,%r4),%r26 |
cldwx,4,s %r5(%sr0,%r4),%r26 |
cldwx,4,m %r5(%sr0,%r4),%r26 |
cldwx,4,sm %r5(%sr0,%r4),%r26 |
clddx,4 %r5(%sr0,%r4),%r26 |
clddx,4,s %r5(%sr0,%r4),%r26 |
clddx,4,m %r5(%sr0,%r4),%r26 |
clddx,4,sm %r5(%sr0,%r4),%r26 |
|
copr_indexing_store: |
cstwx,4 %r26,%r5(%sr0,%r4) |
cstwx,4,s %r26,%r5(%sr0,%r4) |
cstwx,4,m %r26,%r5(%sr0,%r4) |
cstwx,4,sm %r26,%r5(%sr0,%r4) |
cstdx,4 %r26,%r5(%sr0,%r4) |
cstdx,4,s %r26,%r5(%sr0,%r4) |
cstdx,4,m %r26,%r5(%sr0,%r4) |
cstdx,4,sm %r26,%r5(%sr0,%r4) |
|
copr_short_memory: |
cldws,4 0(%sr0,%r4),%r26 |
cldws,4,mb 0(%sr0,%r4),%r26 |
cldws,4,ma 0(%sr0,%r4),%r26 |
cldds,4 0(%sr0,%r4),%r26 |
cldds,4,mb 0(%sr0,%r4),%r26 |
cldds,4,ma 0(%sr0,%r4),%r26 |
cstws,4 %r26,0(%sr0,%r4) |
cstws,4,mb %r26,0(%sr0,%r4) |
cstws,4,ma %r26,0(%sr0,%r4) |
cstds,4 %r26,0(%sr0,%r4) |
cstds,4,mb %r26,0(%sr0,%r4) |
cstds,4,ma %r26,0(%sr0,%r4) |
|
; gas fucks this up thinks it gets the expression 4 modulo 5 |
; cldwx,4 %r5(0,%r4),%r%r26 |
/basic/purge2.s
0,0 → 1,12
.level 2.0 |
.code |
.align 4 |
; PA2.0 purge instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
pdtlb,l %r4(%sr0,%r5) |
pdtlb,l,m %r4(%sr0,%r5) |
pitlb,l %r4(%sr4,%r5) |
pitlb,l,m %r4(%sr4,%r5) |
/basic/sh1add.s
0,0 → 1,58
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
sh1add %r4,%r5,%r6 |
sh1add,= %r4,%r5,%r6 |
sh1add,< %r4,%r5,%r6 |
sh1add,<= %r4,%r5,%r6 |
sh1add,nuv %r4,%r5,%r6 |
sh1add,znv %r4,%r5,%r6 |
sh1add,sv %r4,%r5,%r6 |
sh1add,od %r4,%r5,%r6 |
sh1add,tr %r4,%r5,%r6 |
sh1add,<> %r4,%r5,%r6 |
sh1add,>= %r4,%r5,%r6 |
sh1add,> %r4,%r5,%r6 |
sh1add,uv %r4,%r5,%r6 |
sh1add,vnz %r4,%r5,%r6 |
sh1add,nsv %r4,%r5,%r6 |
sh1add,ev %r4,%r5,%r6 |
|
sh1addl %r4,%r5,%r6 |
sh1addl,= %r4,%r5,%r6 |
sh1addl,< %r4,%r5,%r6 |
sh1addl,<= %r4,%r5,%r6 |
sh1addl,nuv %r4,%r5,%r6 |
sh1addl,znv %r4,%r5,%r6 |
sh1addl,sv %r4,%r5,%r6 |
sh1addl,od %r4,%r5,%r6 |
sh1addl,tr %r4,%r5,%r6 |
sh1addl,<> %r4,%r5,%r6 |
sh1addl,>= %r4,%r5,%r6 |
sh1addl,> %r4,%r5,%r6 |
sh1addl,uv %r4,%r5,%r6 |
sh1addl,vnz %r4,%r5,%r6 |
sh1addl,nsv %r4,%r5,%r6 |
sh1addl,ev %r4,%r5,%r6 |
|
sh1addo %r4,%r5,%r6 |
sh1addo,= %r4,%r5,%r6 |
sh1addo,< %r4,%r5,%r6 |
sh1addo,<= %r4,%r5,%r6 |
sh1addo,nuv %r4,%r5,%r6 |
sh1addo,znv %r4,%r5,%r6 |
sh1addo,sv %r4,%r5,%r6 |
sh1addo,od %r4,%r5,%r6 |
sh1addo,tr %r4,%r5,%r6 |
sh1addo,<> %r4,%r5,%r6 |
sh1addo,>= %r4,%r5,%r6 |
sh1addo,> %r4,%r5,%r6 |
sh1addo,uv %r4,%r5,%r6 |
sh1addo,vnz %r4,%r5,%r6 |
sh1addo,nsv %r4,%r5,%r6 |
sh1addo,ev %r4,%r5,%r6 |
|
/basic/sh3add.s
0,0 → 1,58
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
sh3add %r4,%r5,%r6 |
sh3add,= %r4,%r5,%r6 |
sh3add,< %r4,%r5,%r6 |
sh3add,<= %r4,%r5,%r6 |
sh3add,nuv %r4,%r5,%r6 |
sh3add,znv %r4,%r5,%r6 |
sh3add,sv %r4,%r5,%r6 |
sh3add,od %r4,%r5,%r6 |
sh3add,tr %r4,%r5,%r6 |
sh3add,<> %r4,%r5,%r6 |
sh3add,>= %r4,%r5,%r6 |
sh3add,> %r4,%r5,%r6 |
sh3add,uv %r4,%r5,%r6 |
sh3add,vnz %r4,%r5,%r6 |
sh3add,nsv %r4,%r5,%r6 |
sh3add,ev %r4,%r5,%r6 |
|
sh3addl %r4,%r5,%r6 |
sh3addl,= %r4,%r5,%r6 |
sh3addl,< %r4,%r5,%r6 |
sh3addl,<= %r4,%r5,%r6 |
sh3addl,nuv %r4,%r5,%r6 |
sh3addl,znv %r4,%r5,%r6 |
sh3addl,sv %r4,%r5,%r6 |
sh3addl,od %r4,%r5,%r6 |
sh3addl,tr %r4,%r5,%r6 |
sh3addl,<> %r4,%r5,%r6 |
sh3addl,>= %r4,%r5,%r6 |
sh3addl,> %r4,%r5,%r6 |
sh3addl,uv %r4,%r5,%r6 |
sh3addl,vnz %r4,%r5,%r6 |
sh3addl,nsv %r4,%r5,%r6 |
sh3addl,ev %r4,%r5,%r6 |
|
sh3addo %r4,%r5,%r6 |
sh3addo,= %r4,%r5,%r6 |
sh3addo,< %r4,%r5,%r6 |
sh3addo,<= %r4,%r5,%r6 |
sh3addo,nuv %r4,%r5,%r6 |
sh3addo,znv %r4,%r5,%r6 |
sh3addo,sv %r4,%r5,%r6 |
sh3addo,od %r4,%r5,%r6 |
sh3addo,tr %r4,%r5,%r6 |
sh3addo,<> %r4,%r5,%r6 |
sh3addo,>= %r4,%r5,%r6 |
sh3addo,> %r4,%r5,%r6 |
sh3addo,uv %r4,%r5,%r6 |
sh3addo,vnz %r4,%r5,%r6 |
sh3addo,nsv %r4,%r5,%r6 |
sh3addo,ev %r4,%r5,%r6 |
|
/basic/dcor2.s
0,0 → 1,34
.LEVEL 2.0 |
.code |
.align 4 |
; PA2.0 decimal correction instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
dcor,* %r4,%r5 |
dcor,*sbz %r4,%r5 |
dcor,*shz %r4,%r5 |
dcor,*sdc %r4,%r5 |
dcor,*sbc %r4,%r5 |
dcor,*shc %r4,%r5 |
dcor,*tr %r4,%r5 |
dcor,*nbz %r4,%r5 |
dcor,*nhz %r4,%r5 |
dcor,*ndc %r4,%r5 |
dcor,*nbc %r4,%r5 |
dcor,*nhc %r4,%r5 |
|
dcor,i,* %r4,%r5 |
dcor,i,*sbz %r4,%r5 |
dcor,i,*shz %r4,%r5 |
dcor,i,*sdc %r4,%r5 |
dcor,i,*sbc %r4,%r5 |
dcor,i,*shc %r4,%r5 |
dcor,i,*tr %r4,%r5 |
dcor,i,*nbz %r4,%r5 |
dcor,i,*nhz %r4,%r5 |
dcor,i,*ndc %r4,%r5 |
dcor,i,*nbc %r4,%r5 |
dcor,i,*nhc %r4,%r5 |
|
/basic/weird.s
0,0 → 1,870
.stabs "weird.c",0x64,0,0,Label0 |
Label0: |
.stabs "inttype:t1=bu4;0;32;",0x80,0,0,0 |
|
|
.stabs "sym32: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.stabs "type32:t32= !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
|
.stabs "attr104:G404=@h !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr105:G405=@i !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "var0:G300=@a8;1",0x20,0,0, 0 |
.export var0 |
.data |
.align 4 |
var0: |
.long 42 |
|
.stabs "sym33:! !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym35:# !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym36:$ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym37:% !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym38:& !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym39:' !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym40:( !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym41:) !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym42:* !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym43:+ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym44:, !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym45:- !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.export attr122 |
.data |
.align 4 |
attr122: |
.long 42 |
.export attr123 |
.data |
.align 4 |
attr123: |
.long 42 |
.export attr124 |
.data |
.align 4 |
attr124: |
.long 42 |
|
.stabs "sym46:. !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym47:/ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym48:0 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym49:1 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym50:2 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.stabs "attr96:G396=@` !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr97:G397=@a !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr98:G398=@b !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr99:G399=@c !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "sym51:3 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym52:4 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym53:5 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym54:6 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym55:7 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym56:8 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym57:9 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym58:: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym59:; !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym60:< !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym61:= !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym62:> !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym63:? !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym64:@ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym65:A !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym66:B !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym67:C !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym68:D !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym69:E !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym70:F !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym71:G !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym72:H !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym73:I !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym74:J !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym75:K !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym76:L !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym77:M !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym78:N !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym79:O !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym80:P !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym81:Q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym82:R !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym83:S !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym84:T !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym85:U !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym86:V !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym87:W !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym88:X !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym89:Y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym90:Z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym91:[ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.stabs "sym93:] !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym94:^ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym95:_ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym96:` !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym97:a !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym98:b !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym99:c !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym100:d !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym101:e !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym102:f !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym103:g !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym104:h !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym105:i !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym106:j !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym107:k !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym108:l !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym109:m !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym110:n !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym111:o !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym112:p !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym113:q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym114:r !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym115:s !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym116:t !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym117:u !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym118:v !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym119:w !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym120:x !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym121:y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym122:z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym123:{ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym124:| !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym125:} !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "sym126:~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.stabs "type33:t33=! !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type35:t35=# !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type36:t36=$ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type37:t37=% !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type38:t38=& !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type39:t39=' !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type40:t40=( !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type41:t41=) !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type42:t42=* !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type43:t43=+ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type44:t44=, !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type45:t45=- !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type46:t46=. !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type47:t47=/ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type48:t48=0 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type49:t49=1 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type50:t50=2 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type51:t51=3 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type52:t52=4 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type53:t53=5 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type54:t54=6 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type55:t55=7 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type56:t56=8 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type57:t57=9 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type58:t58=: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type59:t59=; !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type60:t60=< !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type61:t61== !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type62:t62=> !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type63:t63=? !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type64:t64=@ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type65:t65=A !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type66:t66=B !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type67:t67=C !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.export attr66 |
.data |
.align 4 |
attr66: |
.long 42 |
.export attr67 |
.data |
.align 4 |
attr67: |
.long 42 |
.export attr68 |
.data |
.align 4 |
attr68: |
.long 42 |
.export attr69 |
.data |
.align 4 |
attr69: |
.long 42 |
|
.stabs "type68:t68=D !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type69:t69=E !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type70:t70=F !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type71:t71=G !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type72:t72=H !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type73:t73=I !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type74:t74=J !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type75:t75=K !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type76:t76=L !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type77:t77=M !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type78:t78=N !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type79:t79=O !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type80:t80=P !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type81:t81=Q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type82:t82=R !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type83:t83=S !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type84:t84=T !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type85:t85=U !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type86:t86=V !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type87:t87=W !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.stabs "attr69:G369=@E !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr70:G370=@F !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr71:G371=@G !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "type88:t88=X !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type89:t89=Y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type90:t90=Z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type91:t91=[ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.stabs "type93:t93=] !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type94:t94=^ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type95:t95=_ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type96:t96=` !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type97:t97=a !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type98:t98=b !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type99:t99=c !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type100:t100=d !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type101:t101=e !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type102:t102=f !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type103:t103=g !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type104:t104=h !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type105:t105=i !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type106:t106=j !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type107:t107=k !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type108:t108=l !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type109:t109=m !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type110:t110=n !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type111:t111=o !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type112:t112=p !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type113:t113=q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type114:t114=r !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type115:t115=s !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type116:t116=t !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type117:t117=u !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type118:t118=v !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type119:t119=w !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type120:t120=x !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type121:t121=y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type122:t122=z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type123:t123={ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type124:t124=| !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type125:t125=} !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type126:t126=~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
|
.stabs "attr32:G332=@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr33:G333=@! !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr35:G334=@# !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "primary:G200=ered:0,green:1,blue:2,;", 0x20,0,0, 0 |
|
.stabs "attr36:G335=@$ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.export primary |
.data |
.align 4 |
primary: |
.long 42 |
|
.stabs "attr37:G337=@% !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "const69:c=e1,69", 0x80,0,0, 0 |
|
.stabs "const70:c=e190=bs2;0;16;,70", 0x80,0,0, 0 |
|
.stabs "attr38:G338=@& !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "bad_neg0type:t201=s8field0:1,0,32;field2:-534,32,64;field3:-1,96,32;;", 0x80,0,0, 0 |
|
.stabs "bad_neg0:G201", 0x20,0,0, 0 |
|
.export bad_neg0 |
.data |
.align 4 |
bad_neg0: |
.long 42 |
.long 43, 44, 45 |
|
.stabs "attr39:G339=@' !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr41:G341=@) !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr42:G342=@* !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr43:G343=@+ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr44:G344=@, !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr46:G346=@. !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr47:G347=@/ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr58:G358=@: !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "attr59:G359=@;@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "attr60:G360=@< !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr61:G361=@= !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr62:G362=@> !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr63:G363=@? !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr64:G364=@@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr65:G365=@A !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr66:G366=@B !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr67:G367=@C !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr68:G368=@D !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr72:G372=@H !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr73:G373=@I !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr74:G374=@J !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr75:G375=@K !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr76:G376=@L !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr77:G377=@M !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr78:G378=@N !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr79:G379=@O !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr80:G380=@P !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr81:G381=@Q !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr82:G382=@R !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr83:G383=@S !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr84:G384=@T !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr85:G385=@U !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr86:G386=@V !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr87:G387=@W !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr88:G388=@X !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr89:G389=@Y !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr90:G390=@Z !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr91:G391=@[ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.stabs "attr93:G393=@] !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
|
.export _common0 |
.data |
.align 4 |
_common0: |
.long 42 |
.long 24 |
.long 22 |
.export common0 |
.data |
.align 4 |
common0: |
.long 42 |
.long 24 |
.long 22 |
.stabs "common0",0xe2,0,0,0 |
.stabs "common0var0:S1", 0x20,0,0, 0 |
.stabs "common0var1:S1", 0x20,0,0, 4 |
.stabs "common0var2:S1", 0x20,0,0, 8 |
.stabs "common0",0xe4,0,0,0 |
|
.stabs "attr94:G394=@^ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr95:G395=@_ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr100:G400=@d !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr101:G401=@e !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr102:G402=@f !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr103:G403=@g !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr106:G406=@j !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr107:G407=@k !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr108:G408=@l !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr109:G409=@m !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr110:G410=@n !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr111:G411=@o !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr112:G412=@p !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr113:G413=@q !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr114:G414=@r !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr115:G415=@s !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr116:G416=@t !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr117:G417=@u !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr118:G418=@v !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr119:G419=@w !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr120:G420=@x !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr121:G421=@y !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr122:G422=@z !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr123:G423=@{ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr124:G424=@| !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr125:G425=@} !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
.stabs "attr126:G426=@~ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
|
.export attr32 |
.data |
.align 4 |
attr32: |
.long 42 |
.export attr33 |
.data |
.align 4 |
attr33: |
.long 42 |
.export attr35 |
.data |
.align 4 |
attr35: |
.long 42 |
.export attr36 |
.data |
.align 4 |
attr36: |
.long 42 |
.export attr37 |
.data |
.align 4 |
attr37: |
.long 42 |
.export attr38 |
.data |
.align 4 |
attr38: |
.long 42 |
.export attr39 |
.data |
.align 4 |
attr39: |
.long 42 |
.export attr41 |
.data |
.align 4 |
attr41: |
.long 42 |
.export attr42 |
.data |
.align 4 |
attr42: |
.long 42 |
.export attr43 |
.data |
.align 4 |
attr43: |
.long 42 |
.export attr44 |
.data |
.align 4 |
attr44: |
.long 42 |
.export attr46 |
.data |
.align 4 |
attr46: |
.long 42 |
.export attr47 |
.data |
.align 4 |
attr47: |
.long 42 |
.export attr58 |
.data |
.align 4 |
attr58: |
.long 42 |
.export attr59 |
.data |
.align 4 |
attr59: |
.long 42 |
.export attr60 |
.data |
.align 4 |
attr60: |
.long 42 |
.export attr61 |
.data |
.align 4 |
attr61: |
.long 42 |
.export attr62 |
.data |
.align 4 |
attr62: |
.long 42 |
.export attr63 |
.data |
.align 4 |
attr63: |
.long 42 |
.export attr64 |
.data |
.align 4 |
attr64: |
.long 42 |
.export attr65 |
.data |
.align 4 |
attr65: |
.long 42 |
.export attr70 |
.data |
.align 4 |
attr70: |
.long 42 |
.export attr71 |
.data |
.align 4 |
attr71: |
.long 42 |
.export attr72 |
.data |
.align 4 |
attr72: |
.long 42 |
.export attr73 |
.data |
.align 4 |
attr73: |
.long 42 |
.export attr74 |
.data |
.align 4 |
attr74: |
.long 42 |
.export attr75 |
.data |
.align 4 |
attr75: |
.long 42 |
.export attr76 |
.data |
.align 4 |
attr76: |
.long 42 |
.export attr77 |
.data |
.align 4 |
attr77: |
.long 42 |
.export attr78 |
.data |
.align 4 |
attr78: |
.long 42 |
.export attr79 |
.data |
.align 4 |
attr79: |
.long 42 |
.export attr80 |
.data |
.align 4 |
attr80: |
.long 42 |
.export attr81 |
.data |
.align 4 |
attr81: |
.long 42 |
.export attr82 |
.data |
.align 4 |
attr82: |
.long 42 |
.export attr83 |
.data |
.align 4 |
attr83: |
.long 42 |
.export attr84 |
.data |
.align 4 |
attr84: |
.long 42 |
|
.stabs "float72type:t202=R87;9;", 0x80,0,0, 0 |
|
.stabs "int256var:G203=bu32;0;256;", 0x20,0,0, 0 |
.export int256var |
.data |
.align 4 |
int256var: |
.long 42 |
.long 0x2b, 0x2c, 0x2d, 0x2d, 0x2c, 0x2b, 0x2a |
|
|
.stabs "consth:c=e1,4294967296", 0x80,0,0, 0 |
|
.stabs "consth2:c=e1,-734723985732642758928475678987234563284937456", 0x80,0,0, 0 |
|
.stabs "bad_neg0const:c=S201,128,128,11222211343434345656565677888877", 0x80,0,0, 0 |
|
.stabs "bad_type0:t(-3,7)", 0x80,0,0, 0 |
.stabs "bad_type1:t(42,6)", 0x80,0,0, 0 |
|
.stabs "array_index0:t205=r1;0;5;", 0x80,0,0, 0 |
.stabs "array0:G206=a205;1", 0x20,0,0, 0 |
.export array0 |
.data |
.align 4 |
array0: |
.long 42 |
.long 43, 44, 45, 46, 47 |
|
.stabs "array_index1:t207=", 0x80,0,0, 0 |
.stabs "array1:G208=aeai1_red:0,ai1_green:1,ai1_blue:2,;;1", 0x20,0,0, 0 |
.export array1 |
.data |
.align 4 |
array1: |
.long 42 |
.long 43, 44 |
|
.stabs "inttype_one:t209=1", 0x80,0,0, 0 |
.stabs "inttype_two:t210=1", 0x80,0,0, 0 |
.stabs "one_var:G209", 0x20,0,0, 0 |
.export one_var |
.data |
.align 4 |
one_var: |
.long 42 |
.stabs "two_var:G210", 0x20,0,0, 0 |
.export two_var |
.data |
.align 4 |
two_var: |
.long 42 |
|
.stabs "intp:t211=*1", 0x80,0,0, 0 |
.stabs "pointer_to_int_var:G212=*1", 0x80,0,0, 0 |
.stabs "intp_var:G211", 0x20,0,0, 0 |
.export intp_var |
.data |
.align 4 |
intp_var: |
.long 42 |
|
.stabs "unrecog_const:c=xjksdflskd33,4;473;", 0x80,0,0, 0 |
|
.export attr85 |
.data |
.align 4 |
attr85: |
.long 42 |
.export attr86 |
.data |
.align 4 |
attr86: |
.long 42 |
.export attr87 |
.data |
.align 4 |
attr87: |
.long 42 |
.export attr88 |
.data |
.align 4 |
attr88: |
.long 42 |
.export attr89 |
.data |
.align 4 |
attr89: |
.long 42 |
.export attr90 |
.data |
.align 4 |
attr90: |
.long 42 |
.export attr91 |
.data |
.align 4 |
attr91: |
.long 42 |
.export attr92 |
.data |
.align 4 |
attr92: |
.long 42 |
.export attr93 |
.data |
.align 4 |
attr93: |
.long 42 |
.export attr94 |
.data |
.align 4 |
attr94: |
.long 42 |
.export attr95 |
.data |
.align 4 |
attr95: |
.long 42 |
.export attr96 |
.data |
.align 4 |
attr96: |
.long 42 |
.export attr97 |
.data |
.align 4 |
attr97: |
.long 42 |
.export attr98 |
.data |
.align 4 |
attr98: |
.long 42 |
.export attr99 |
.data |
.align 4 |
attr99: |
.long 42 |
.export attr100 |
.data |
.align 4 |
attr100: |
.long 42 |
.export attr101 |
.data |
.align 4 |
attr101: |
.long 42 |
.export attr102 |
.data |
.align 4 |
attr102: |
.long 42 |
.export attr103 |
.data |
.align 4 |
attr103: |
.long 42 |
.export attr104 |
.data |
.align 4 |
attr104: |
.long 42 |
.export attr105 |
.data |
.align 4 |
attr105: |
.long 42 |
.export attr106 |
.data |
.align 4 |
attr106: |
.long 42 |
.export attr107 |
.data |
.align 4 |
attr107: |
.long 42 |
.export attr108 |
.data |
.align 4 |
attr108: |
.long 42 |
.export attr109 |
.data |
.align 4 |
attr109: |
.long 42 |
.export attr110 |
.data |
.align 4 |
attr110: |
.long 42 |
.export attr111 |
.data |
.align 4 |
attr111: |
.long 42 |
.export attr112 |
.data |
.align 4 |
attr112: |
.long 42 |
.export attr113 |
.data |
.align 4 |
attr113: |
.long 42 |
.export attr114 |
.data |
.align 4 |
attr114: |
.long 42 |
.export attr115 |
.data |
.align 4 |
attr115: |
.long 42 |
.export attr116 |
.data |
.align 4 |
attr116: |
.long 42 |
.export attr117 |
.data |
.align 4 |
attr117: |
.long 42 |
.export attr118 |
.data |
.align 4 |
attr118: |
.long 42 |
.export attr119 |
.data |
.align 4 |
attr119: |
.long 42 |
.export attr120 |
.data |
.align 4 |
attr120: |
.long 42 |
.export attr121 |
.data |
.align 4 |
attr121: |
.long 42 |
.export attr125 |
.data |
.align 4 |
attr125: |
.long 42 |
.export attr126 |
.data |
.align 4 |
attr126: |
.long 42 |
|
.stabs "var1:G301=@s32;1",0x20,0,0, 0 |
.export var1 |
.data |
.align 4 |
var1: |
.long 42 |
.stabs "var2:G302=@p42;1",0x20,0,0, 0 |
.export var2 |
.data |
.align 4 |
var2: |
.long 42 |
.stabs "var3:G303=@P;1",0x20,0,0, 0 |
.export var3 |
.data |
.align 4 |
var3: |
.long 42 |
|
|
|
|
|
|
|
|
|
|
|
|
.stabs "v_comb:G448=s24!2,020,445=s12!1,120,444=s4x:1,0,32;;;$vb444:446=*444,0;a:/01,32,32;;;0264,447=s12!1,120,444;$vb444:446,0;b:/01,32,32;;;comb:/01,128,32;;", 0x20,0,0, 0 |
|
.export v_comb |
.align 1 |
v_comb: |
.long v_comb_shared |
.long 43 |
.long v_comb_shared |
.long 44 |
.long 45 |
v_comb_shared: |
.long 42 |
|
.stabs "sym92:\\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "type92:t92=\\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",0x80,0,0,0 |
.stabs "attr92:G392=@\\ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",0x20,0,0, 0 |
/basic/fp_fcmp.s
0,0 → 1,105
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
fcmp,sgl,false? %fr4,%fr5 |
fcmp,sgl,false %fr4,%fr5 |
fcmp,sgl,? %fr4,%fr5 |
fcmp,sgl,!<=> %fr4,%fr5 |
fcmp,sgl,= %fr4,%fr5 |
fcmp,sgl,=T %fr4,%fr5 |
fcmp,sgl,?= %fr4,%fr5 |
fcmp,sgl,!<> %fr4,%fr5 |
fcmp,sgl,!?>= %fr4,%fr5 |
fcmp,sgl,< %fr4,%fr5 |
fcmp,sgl,?< %fr4,%fr5 |
fcmp,sgl,!>= %fr4,%fr5 |
fcmp,sgl,!?> %fr4,%fr5 |
fcmp,sgl,<= %fr4,%fr5 |
fcmp,sgl,?<= %fr4,%fr5 |
fcmp,sgl,!> %fr4,%fr5 |
fcmp,sgl,!?<= %fr4,%fr5 |
fcmp,sgl,> %fr4,%fr5 |
fcmp,sgl,?> %fr4,%fr5 |
fcmp,sgl,!<= %fr4,%fr5 |
fcmp,sgl,!?< %fr4,%fr5 |
fcmp,sgl,>= %fr4,%fr5 |
fcmp,sgl,?>= %fr4,%fr5 |
fcmp,sgl,!< %fr4,%fr5 |
fcmp,sgl,!?= %fr4,%fr5 |
fcmp,sgl,<> %fr4,%fr5 |
fcmp,sgl,!= %fr4,%fr5 |
fcmp,sgl,!=T %fr4,%fr5 |
fcmp,sgl,!? %fr4,%fr5 |
fcmp,sgl,<=> %fr4,%fr5 |
fcmp,sgl,true? %fr4,%fr5 |
fcmp,sgl,true %fr4,%fr5 |
|
fcmp,dbl,false? %fr4,%fr5 |
fcmp,dbl,false %fr4,%fr5 |
fcmp,dbl,? %fr4,%fr5 |
fcmp,dbl,!<=> %fr4,%fr5 |
fcmp,dbl,= %fr4,%fr5 |
fcmp,dbl,=T %fr4,%fr5 |
fcmp,dbl,?= %fr4,%fr5 |
fcmp,dbl,!<> %fr4,%fr5 |
fcmp,dbl,!?>= %fr4,%fr5 |
fcmp,dbl,< %fr4,%fr5 |
fcmp,dbl,?< %fr4,%fr5 |
fcmp,dbl,!>= %fr4,%fr5 |
fcmp,dbl,!?> %fr4,%fr5 |
fcmp,dbl,<= %fr4,%fr5 |
fcmp,dbl,?<= %fr4,%fr5 |
fcmp,dbl,!> %fr4,%fr5 |
fcmp,dbl,!?<= %fr4,%fr5 |
fcmp,dbl,> %fr4,%fr5 |
fcmp,dbl,?> %fr4,%fr5 |
fcmp,dbl,!<= %fr4,%fr5 |
fcmp,dbl,!?< %fr4,%fr5 |
fcmp,dbl,>= %fr4,%fr5 |
fcmp,dbl,?>= %fr4,%fr5 |
fcmp,dbl,!< %fr4,%fr5 |
fcmp,dbl,!?= %fr4,%fr5 |
fcmp,dbl,<> %fr4,%fr5 |
fcmp,dbl,!= %fr4,%fr5 |
fcmp,dbl,!=T %fr4,%fr5 |
fcmp,dbl,!? %fr4,%fr5 |
fcmp,dbl,<=> %fr4,%fr5 |
fcmp,dbl,true? %fr4,%fr5 |
fcmp,dbl,true %fr4,%fr5 |
|
fcmp,quad,false? %fr4,%fr5 |
fcmp,quad,false %fr4,%fr5 |
fcmp,quad,? %fr4,%fr5 |
fcmp,quad,!<=> %fr4,%fr5 |
fcmp,quad,= %fr4,%fr5 |
fcmp,quad,=T %fr4,%fr5 |
fcmp,quad,?= %fr4,%fr5 |
fcmp,quad,!<> %fr4,%fr5 |
fcmp,quad,!?>= %fr4,%fr5 |
fcmp,quad,< %fr4,%fr5 |
fcmp,quad,?< %fr4,%fr5 |
fcmp,quad,!>= %fr4,%fr5 |
fcmp,quad,!?> %fr4,%fr5 |
fcmp,quad,<= %fr4,%fr5 |
fcmp,quad,?<= %fr4,%fr5 |
fcmp,quad,!> %fr4,%fr5 |
fcmp,quad,!?<= %fr4,%fr5 |
fcmp,quad,> %fr4,%fr5 |
fcmp,quad,?> %fr4,%fr5 |
fcmp,quad,!<= %fr4,%fr5 |
fcmp,quad,!?< %fr4,%fr5 |
fcmp,quad,>= %fr4,%fr5 |
fcmp,quad,?>= %fr4,%fr5 |
fcmp,quad,!< %fr4,%fr5 |
fcmp,quad,!?= %fr4,%fr5 |
fcmp,quad,<> %fr4,%fr5 |
fcmp,quad,!= %fr4,%fr5 |
fcmp,quad,!=T %fr4,%fr5 |
fcmp,quad,!? %fr4,%fr5 |
fcmp,quad,<=> %fr4,%fr5 |
fcmp,quad,true? %fr4,%fr5 |
fcmp,quad,true %fr4,%fr5 |
/basic/add2.s
0,0 → 1,92
.LEVEL 2.0 |
.code |
.align 4 |
; Basic add/sh?add instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
add,* %r4,%r5,%r6 |
add,*= %r4,%r5,%r6 |
add,*< %r4,%r5,%r6 |
add,*<= %r4,%r5,%r6 |
add,*nuv %r4,%r5,%r6 |
add,*znv %r4,%r5,%r6 |
add,*sv %r4,%r5,%r6 |
add,*od %r4,%r5,%r6 |
add,*tr %r4,%r5,%r6 |
add,*<> %r4,%r5,%r6 |
add,*>= %r4,%r5,%r6 |
add,*> %r4,%r5,%r6 |
add,*uv %r4,%r5,%r6 |
add,*vnz %r4,%r5,%r6 |
add,*nsv %r4,%r5,%r6 |
add,*ev %r4,%r5,%r6 |
|
add,l,* %r4,%r5,%r6 |
add,l,*= %r4,%r5,%r6 |
add,l,*< %r4,%r5,%r6 |
add,l,*<= %r4,%r5,%r6 |
add,l,*nuv %r4,%r5,%r6 |
add,l,*znv %r4,%r5,%r6 |
add,l,*sv %r4,%r5,%r6 |
add,l,*od %r4,%r5,%r6 |
add,l,*tr %r4,%r5,%r6 |
add,l,*<> %r4,%r5,%r6 |
add,l,*>= %r4,%r5,%r6 |
add,l,*> %r4,%r5,%r6 |
add,l,*uv %r4,%r5,%r6 |
add,l,*vnz %r4,%r5,%r6 |
add,l,*nsv %r4,%r5,%r6 |
add,l,*ev %r4,%r5,%r6 |
|
add,tsv,* %r4,%r5,%r6 |
add,tsv,*= %r4,%r5,%r6 |
add,tsv,*< %r4,%r5,%r6 |
add,tsv,*<= %r4,%r5,%r6 |
add,tsv,*nuv %r4,%r5,%r6 |
add,tsv,*znv %r4,%r5,%r6 |
add,tsv,*sv %r4,%r5,%r6 |
add,tsv,*od %r4,%r5,%r6 |
add,tsv,*tr %r4,%r5,%r6 |
add,tsv,*<> %r4,%r5,%r6 |
add,tsv,*>= %r4,%r5,%r6 |
add,tsv,*> %r4,%r5,%r6 |
add,tsv,*uv %r4,%r5,%r6 |
add,tsv,*vnz %r4,%r5,%r6 |
add,tsv,*nsv %r4,%r5,%r6 |
add,tsv,*ev %r4,%r5,%r6 |
|
add,dc,* %r4,%r5,%r6 |
add,dc,*= %r4,%r5,%r6 |
add,dc,*< %r4,%r5,%r6 |
add,dc,*<= %r4,%r5,%r6 |
add,dc,*nuv %r4,%r5,%r6 |
add,dc,*znv %r4,%r5,%r6 |
add,dc,*sv %r4,%r5,%r6 |
add,dc,*od %r4,%r5,%r6 |
add,dc,*tr %r4,%r5,%r6 |
add,dc,*<> %r4,%r5,%r6 |
add,dc,*>= %r4,%r5,%r6 |
add,dc,*> %r4,%r5,%r6 |
add,dc,*uv %r4,%r5,%r6 |
add,dc,*vnz %r4,%r5,%r6 |
add,dc,*nsv %r4,%r5,%r6 |
add,dc,*ev %r4,%r5,%r6 |
|
add,dc,tsv,* %r4,%r5,%r6 |
add,dc,tsv,*= %r4,%r5,%r6 |
add,dc,tsv,*< %r4,%r5,%r6 |
add,dc,tsv,*<= %r4,%r5,%r6 |
add,dc,tsv,*nuv %r4,%r5,%r6 |
add,dc,tsv,*znv %r4,%r5,%r6 |
add,dc,tsv,*sv %r4,%r5,%r6 |
add,dc,tsv,*od %r4,%r5,%r6 |
add,tsv,dc,*tr %r4,%r5,%r6 |
add,tsv,dc,*<> %r4,%r5,%r6 |
add,tsv,dc,*>= %r4,%r5,%r6 |
add,tsv,dc,*> %r4,%r5,%r6 |
add,tsv,dc,*uv %r4,%r5,%r6 |
add,tsv,dc,*vnz %r4,%r5,%r6 |
add,tsv,dc,*nsv %r4,%r5,%r6 |
add,tsv,dc,*ev %r4,%r5,%r6 |
/basic/logical.s
0,0 → 1,52
.level 1.1 |
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
or %r4,%r5,%r6 |
or,= %r4,%r5,%r6 |
or,< %r4,%r5,%r6 |
or,<= %r4,%r5,%r6 |
or,od %r4,%r5,%r6 |
or,tr %r4,%r5,%r6 |
or,<> %r4,%r5,%r6 |
or,>= %r4,%r5,%r6 |
or,> %r4,%r5,%r6 |
or,ev %r4,%r5,%r6 |
|
xor %r4,%r5,%r6 |
xor,= %r4,%r5,%r6 |
xor,< %r4,%r5,%r6 |
xor,<= %r4,%r5,%r6 |
xor,od %r4,%r5,%r6 |
xor,tr %r4,%r5,%r6 |
xor,<> %r4,%r5,%r6 |
xor,>= %r4,%r5,%r6 |
xor,> %r4,%r5,%r6 |
xor,ev %r4,%r5,%r6 |
|
and %r4,%r5,%r6 |
and,= %r4,%r5,%r6 |
and,< %r4,%r5,%r6 |
and,<= %r4,%r5,%r6 |
and,od %r4,%r5,%r6 |
and,tr %r4,%r5,%r6 |
and,<> %r4,%r5,%r6 |
and,>= %r4,%r5,%r6 |
and,> %r4,%r5,%r6 |
and,ev %r4,%r5,%r6 |
|
andcm %r4,%r5,%r6 |
andcm,= %r4,%r5,%r6 |
andcm,< %r4,%r5,%r6 |
andcm,<= %r4,%r5,%r6 |
andcm,od %r4,%r5,%r6 |
andcm,tr %r4,%r5,%r6 |
andcm,<> %r4,%r5,%r6 |
andcm,>= %r4,%r5,%r6 |
andcm,> %r4,%r5,%r6 |
andcm,ev %r4,%r5,%r6 |
|
/basic/comclr.s
0,0 → 1,41
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
comclr %r4,%r5,%r6 |
comclr,= %r4,%r5,%r6 |
comclr,< %r4,%r5,%r6 |
comclr,<= %r4,%r5,%r6 |
comclr,<< %r4,%r5,%r6 |
comclr,<<= %r4,%r5,%r6 |
comclr,sv %r4,%r5,%r6 |
comclr,od %r4,%r5,%r6 |
comclr,tr %r4,%r5,%r6 |
comclr,<> %r4,%r5,%r6 |
comclr,>= %r4,%r5,%r6 |
comclr,> %r4,%r5,%r6 |
comclr,>>= %r4,%r5,%r6 |
comclr,>> %r4,%r5,%r6 |
comclr,nsv %r4,%r5,%r6 |
comclr,ev %r4,%r5,%r6 |
|
comiclr 123,%r5,%r6 |
comiclr,= 123,%r5,%r6 |
comiclr,< 123,%r5,%r6 |
comiclr,<= 123,%r5,%r6 |
comiclr,<< 123,%r5,%r6 |
comiclr,<<= 123,%r5,%r6 |
comiclr,sv 123,%r5,%r6 |
comiclr,od 123,%r5,%r6 |
comiclr,tr 123,%r5,%r6 |
comiclr,<> 123,%r5,%r6 |
comiclr,>= 123,%r5,%r6 |
comiclr,> 123,%r5,%r6 |
comiclr,>>= 123,%r5,%r6 |
comiclr,>> 123,%r5,%r6 |
comiclr,nsv 123,%r5,%r6 |
comiclr,ev 123,%r5,%r6 |
|
/basic/media.s
0,0 → 1,38
.LEVEL 2.0 |
.code |
.align 4 |
; PA2.0 multimedia (halfword) instruction tests |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
|
hadd %r7,%r11,%r12 |
hadd,ss %r7,%r11,%r12 |
hadd,us %r7,%r11,%r12 |
|
havg %r7,%r11,%r12 |
hshl %r7,13,%r11 |
hshladd %r7,1,%r11,%r12 |
hshladd %r7,2,%r11,%r12 |
hshladd %r7,3,%r11,%r12 |
hshr %r7,13,%r11 |
hshr,s %r7,13,%r11 |
hshr,u %r7,13,%r11 |
hshradd %r7,1,%r11,%r12 |
hshradd %r7,2,%r11,%r12 |
hshradd %r7,3,%r11,%r12 |
|
hsub %r14,%r22,%r9 |
hsub,ss %r14,%r22,%r9 |
hsub,us %r14,%r22,%r9 |
|
mixh,l %r14,%r22,%r9 |
mixh,r %r14,%r22,%r9 |
mixw,l %r14,%r22,%r9 |
mixw,r %r14,%r22,%r9 |
|
permh,0321 %r22,%r9 |
permh,2222 %r22,%r9 |
permh,3030 %r22,%r9 |
|
/basic/unit.s
0,0 → 1,60
.level 1.1 |
.code |
.align 4 |
; Basic unit instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
|
uxor %r4,%r5,%r6 |
uxor,sbz %r4,%r5,%r6 |
uxor,shz %r4,%r5,%r6 |
uxor,sdc %r4,%r5,%r6 |
uxor,sbc %r4,%r5,%r6 |
uxor,shc %r4,%r5,%r6 |
uxor,tr %r4,%r5,%r6 |
uxor,nbz %r4,%r5,%r6 |
uxor,nhz %r4,%r5,%r6 |
uxor,ndc %r4,%r5,%r6 |
uxor,nbc %r4,%r5,%r6 |
uxor,nhc %r4,%r5,%r6 |
|
uaddcm %r4,%r5,%r6 |
uaddcm,sbz %r4,%r5,%r6 |
uaddcm,shz %r4,%r5,%r6 |
uaddcm,sdc %r4,%r5,%r6 |
uaddcm,sbc %r4,%r5,%r6 |
uaddcm,shc %r4,%r5,%r6 |
uaddcm,tr %r4,%r5,%r6 |
uaddcm,nbz %r4,%r5,%r6 |
uaddcm,nhz %r4,%r5,%r6 |
uaddcm,ndc %r4,%r5,%r6 |
uaddcm,nbc %r4,%r5,%r6 |
uaddcm,nhc %r4,%r5,%r6 |
|
uaddcmt %r4,%r5,%r6 |
uaddcmt,sbz %r4,%r5,%r6 |
uaddcmt,shz %r4,%r5,%r6 |
uaddcmt,sdc %r4,%r5,%r6 |
uaddcmt,sbc %r4,%r5,%r6 |
uaddcmt,shc %r4,%r5,%r6 |
uaddcmt,tr %r4,%r5,%r6 |
uaddcmt,nbz %r4,%r5,%r6 |
uaddcmt,nhz %r4,%r5,%r6 |
uaddcmt,ndc %r4,%r5,%r6 |
uaddcmt,nbc %r4,%r5,%r6 |
uaddcmt,nhc %r4,%r5,%r6 |
|
uaddcm,tc %r4,%r5,%r6 |
uaddcm,tc,sbz %r4,%r5,%r6 |
uaddcm,tc,shz %r4,%r5,%r6 |
uaddcm,tc,sdc %r4,%r5,%r6 |
uaddcm,tc,sbc %r4,%r5,%r6 |
uaddcm,tc,shc %r4,%r5,%r6 |
uaddcm,tc,tr %r4,%r5,%r6 |
uaddcm,tc,nbz %r4,%r5,%r6 |
uaddcm,tc,nhz %r4,%r5,%r6 |
uaddcm,tc,ndc %r4,%r5,%r6 |
uaddcm,tc,nbc %r4,%r5,%r6 |
uaddcm,tc,nhc %r4,%r5,%r6 |
/basic/spop.s
0,0 → 1,25
.code |
.align 4 |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
spop_tests: |
spop0,4,5 |
spop0,4,115 |
spop0,4,5,n |
spop0,4,115,n |
spop1,4,5 %r5 |
spop1,4,115 %r5 |
spop1,4,5,n %r5 |
spop1,4,115,n %r5 |
spop2,4,5 %r5 |
spop2,4,115 %r5 |
spop2,4,5,n %r5 |
spop2,4,115,n %r5 |
spop3,4,5 %r5,%r6 |
spop3,4,115 %r5,%r6 |
spop3,4,5,n %r5,%r6 |
spop3,4,115,n %r5,%r6 |
|
; Gas fucks this up... Thinks it has the expression 5 mod r5. |
; spop1,4,5 %r5 |
/basic/shladd2.s
0,0 → 1,161
.LEVEL 2.0 |
.code |
.align 4 |
; PA2.0 shladd instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
shladd,* %r4,1,%r5,%r6 |
shladd,*= %r4,1,%r5,%r6 |
shladd,*< %r4,1,%r5,%r6 |
shladd,*<= %r4,1,%r5,%r6 |
shladd,*nuv %r4,1,%r5,%r6 |
shladd,*znv %r4,1,%r5,%r6 |
shladd,*sv %r4,1,%r5,%r6 |
shladd,*od %r4,1,%r5,%r6 |
shladd,*tr %r4,1,%r5,%r6 |
shladd,*<> %r4,1,%r5,%r6 |
shladd,*>= %r4,1,%r5,%r6 |
shladd,*> %r4,1,%r5,%r6 |
shladd,*uv %r4,1,%r5,%r6 |
shladd,*vnz %r4,1,%r5,%r6 |
shladd,*nsv %r4,1,%r5,%r6 |
shladd,*ev %r4,1,%r5,%r6 |
|
shladd,l,* %r4,1,%r5,%r6 |
shladd,l,*= %r4,1,%r5,%r6 |
shladd,l,*< %r4,1,%r5,%r6 |
shladd,l,*<= %r4,1,%r5,%r6 |
shladd,l,*nuv %r4,1,%r5,%r6 |
shladd,l,*znv %r4,1,%r5,%r6 |
shladd,l,*sv %r4,1,%r5,%r6 |
shladd,l,*od %r4,1,%r5,%r6 |
shladd,l,*tr %r4,1,%r5,%r6 |
shladd,l,*<> %r4,1,%r5,%r6 |
shladd,l,*>= %r4,1,%r5,%r6 |
shladd,l,*> %r4,1,%r5,%r6 |
shladd,l,*uv %r4,1,%r5,%r6 |
shladd,l,*vnz %r4,1,%r5,%r6 |
shladd,l,*nsv %r4,1,%r5,%r6 |
shladd,l,*ev %r4,1,%r5,%r6 |
|
shladd,tsv,* %r4,1,%r5,%r6 |
shladd,tsv,*= %r4,1,%r5,%r6 |
shladd,tsv,*< %r4,1,%r5,%r6 |
shladd,tsv,*<= %r4,1,%r5,%r6 |
shladd,tsv,*nuv %r4,1,%r5,%r6 |
shladd,tsv,*znv %r4,1,%r5,%r6 |
shladd,tsv,*sv %r4,1,%r5,%r6 |
shladd,tsv,*od %r4,1,%r5,%r6 |
shladd,tsv,*tr %r4,1,%r5,%r6 |
shladd,tsv,*<> %r4,1,%r5,%r6 |
shladd,tsv,*>= %r4,1,%r5,%r6 |
shladd,tsv,*> %r4,1,%r5,%r6 |
shladd,tsv,*uv %r4,1,%r5,%r6 |
shladd,tsv,*vnz %r4,1,%r5,%r6 |
shladd,tsv,*nsv %r4,1,%r5,%r6 |
shladd,tsv,*ev %r4,1,%r5,%r6 |
|
shladd,* %r4,2,%r5,%r6 |
shladd,*= %r4,2,%r5,%r6 |
shladd,*< %r4,2,%r5,%r6 |
shladd,*<= %r4,2,%r5,%r6 |
shladd,*nuv %r4,2,%r5,%r6 |
shladd,*znv %r4,2,%r5,%r6 |
shladd,*sv %r4,2,%r5,%r6 |
shladd,*od %r4,2,%r5,%r6 |
shladd,*tr %r4,2,%r5,%r6 |
shladd,*<> %r4,2,%r5,%r6 |
shladd,*>= %r4,2,%r5,%r6 |
shladd,*> %r4,2,%r5,%r6 |
shladd,*uv %r4,2,%r5,%r6 |
shladd,*vnz %r4,2,%r5,%r6 |
shladd,*nsv %r4,2,%r5,%r6 |
shladd,*ev %r4,2,%r5,%r6 |
|
shladd,l,* %r4,2,%r5,%r6 |
shladd,l,*= %r4,2,%r5,%r6 |
shladd,l,*< %r4,2,%r5,%r6 |
shladd,l,*<= %r4,2,%r5,%r6 |
shladd,l,*nuv %r4,2,%r5,%r6 |
shladd,l,*znv %r4,2,%r5,%r6 |
shladd,l,*sv %r4,2,%r5,%r6 |
shladd,l,*od %r4,2,%r5,%r6 |
shladd,l,*tr %r4,2,%r5,%r6 |
shladd,l,*<> %r4,2,%r5,%r6 |
shladd,l,*>= %r4,2,%r5,%r6 |
shladd,l,*> %r4,2,%r5,%r6 |
shladd,l,*uv %r4,2,%r5,%r6 |
shladd,l,*vnz %r4,2,%r5,%r6 |
shladd,l,*nsv %r4,2,%r5,%r6 |
shladd,l,*ev %r4,2,%r5,%r6 |
|
shladd,tsv,* %r4,2,%r5,%r6 |
shladd,tsv,*= %r4,2,%r5,%r6 |
shladd,tsv,*< %r4,2,%r5,%r6 |
shladd,tsv,*<= %r4,2,%r5,%r6 |
shladd,tsv,*nuv %r4,2,%r5,%r6 |
shladd,tsv,*znv %r4,2,%r5,%r6 |
shladd,tsv,*sv %r4,2,%r5,%r6 |
shladd,tsv,*od %r4,2,%r5,%r6 |
shladd,tsv,*tr %r4,2,%r5,%r6 |
shladd,tsv,*<> %r4,2,%r5,%r6 |
shladd,tsv,*>= %r4,2,%r5,%r6 |
shladd,tsv,*> %r4,2,%r5,%r6 |
shladd,tsv,*uv %r4,2,%r5,%r6 |
shladd,tsv,*vnz %r4,2,%r5,%r6 |
shladd,tsv,*nsv %r4,2,%r5,%r6 |
shladd,tsv,*ev %r4,2,%r5,%r6 |
|
shladd,* %r4,3,%r5,%r6 |
shladd,*= %r4,3,%r5,%r6 |
shladd,*< %r4,3,%r5,%r6 |
shladd,*<= %r4,3,%r5,%r6 |
shladd,*nuv %r4,3,%r5,%r6 |
shladd,*znv %r4,3,%r5,%r6 |
shladd,*sv %r4,3,%r5,%r6 |
shladd,*od %r4,3,%r5,%r6 |
shladd,*tr %r4,3,%r5,%r6 |
shladd,*<> %r4,3,%r5,%r6 |
shladd,*>= %r4,3,%r5,%r6 |
shladd,*> %r4,3,%r5,%r6 |
shladd,*uv %r4,3,%r5,%r6 |
shladd,*vnz %r4,3,%r5,%r6 |
shladd,*nsv %r4,3,%r5,%r6 |
shladd,*ev %r4,3,%r5,%r6 |
|
shladd,l,* %r4,3,%r5,%r6 |
shladd,l,*= %r4,3,%r5,%r6 |
shladd,l,*< %r4,3,%r5,%r6 |
shladd,l,*<= %r4,3,%r5,%r6 |
shladd,l,*nuv %r4,3,%r5,%r6 |
shladd,l,*znv %r4,3,%r5,%r6 |
shladd,l,*sv %r4,3,%r5,%r6 |
shladd,l,*od %r4,3,%r5,%r6 |
shladd,l,*tr %r4,3,%r5,%r6 |
shladd,l,*<> %r4,3,%r5,%r6 |
shladd,l,*>= %r4,3,%r5,%r6 |
shladd,l,*> %r4,3,%r5,%r6 |
shladd,l,*uv %r4,3,%r5,%r6 |
shladd,l,*vnz %r4,3,%r5,%r6 |
shladd,l,*nsv %r4,3,%r5,%r6 |
shladd,l,*ev %r4,3,%r5,%r6 |
|
shladd,tsv,* %r4,3,%r5,%r6 |
shladd,tsv,*= %r4,3,%r5,%r6 |
shladd,tsv,*< %r4,3,%r5,%r6 |
shladd,tsv,*<= %r4,3,%r5,%r6 |
shladd,tsv,*nuv %r4,3,%r5,%r6 |
shladd,tsv,*znv %r4,3,%r5,%r6 |
shladd,tsv,*sv %r4,3,%r5,%r6 |
shladd,tsv,*od %r4,3,%r5,%r6 |
shladd,tsv,*tr %r4,3,%r5,%r6 |
shladd,tsv,*<> %r4,3,%r5,%r6 |
shladd,tsv,*>= %r4,3,%r5,%r6 |
shladd,tsv,*> %r4,3,%r5,%r6 |
shladd,tsv,*uv %r4,3,%r5,%r6 |
shladd,tsv,*vnz %r4,3,%r5,%r6 |
shladd,tsv,*nsv %r4,3,%r5,%r6 |
shladd,tsv,*ev %r4,3,%r5,%r6 |
|
/basic/fmem.s
0,0 → 1,43
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
fldwx %r4(%sr0,%r5),%fr6 |
fldwx,s %r4(%sr0,%r5),%fr6 |
fldwx,m %r4(%sr0,%r5),%fr6 |
fldwx,sm %r4(%sr0,%r5),%fr6 |
flddx %r4(%sr0,%r5),%fr6 |
flddx,s %r4(%sr0,%r5),%fr6 |
flddx,m %r4(%sr0,%r5),%fr6 |
flddx,sm %r4(%sr0,%r5),%fr6 |
fstwx %fr6,%r4(%sr0,%r5) |
fstwx,s %fr6,%r4(%sr0,%r5) |
fstwx,m %fr6,%r4(%sr0,%r5) |
fstwx,sm %fr6,%r4(%sr0,%r5) |
fstdx %fr6,%r4(%sr0,%r5) |
fstdx,s %fr6,%r4(%sr0,%r5) |
fstdx,m %fr6,%r4(%sr0,%r5) |
fstdx,sm %fr6,%r4(%sr0,%r5) |
fstqx %fr6,%r4(%sr0,%r5) |
fstqx,s %fr6,%r4(%sr0,%r5) |
fstqx,m %fr6,%r4(%sr0,%r5) |
fstqx,sm %fr6,%r4(%sr0,%r5) |
|
fldws 0(%sr0,%r5),%fr6 |
fldws,mb 0(%sr0,%r5),%fr6 |
fldws,ma 0(%sr0,%r5),%fr6 |
fldds 0(%sr0,%r5),%fr6 |
fldds,mb 0(%sr0,%r5),%fr6 |
fldds,ma 0(%sr0,%r5),%fr6 |
fstws %fr6,0(%sr0,%r5) |
fstws,mb %fr6,0(%sr0,%r5) |
fstws,ma %fr6,0(%sr0,%r5) |
fstds %fr6,0(%sr0,%r5) |
fstds,mb %fr6,0(%sr0,%r5) |
fstds,ma %fr6,0(%sr0,%r5) |
fstqs %fr6,0(%sr0,%r5) |
fstqs,mb %fr6,0(%sr0,%r5) |
fstqs,ma %fr6,0(%sr0,%r5) |
/basic/system.s
0,0 → 1,36
.level 1.1 |
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
break 5,12 |
rfi |
rfir |
ssm 5,%r4 |
rsm 5,%r4 |
mtsm %r4 |
ldsid (%sr0,%r5),%r4 |
mtsp %r4,%sr0 |
mtctl %r4,%cr10 |
mfsp %sr0,%r4 |
mfctl %cr10,%r4 |
sync |
syncdma |
diag 1234 |
|
prober (%sr0,%r5),%r6,%r7 |
proberi (%sr0,%r5),1,%r7 |
probew (%sr0,%r5),%r6,%r7 |
probewi (%sr0,%r5),1,%r7 |
|
lpa %r4(%sr0,%r5),%r6 |
lpa,m %r4(%sr0,%r5),%r6 |
lci %r4(%sr0,%r5),%r6 |
|
idtlba %r4,(%sr0,%r5) |
iitlba %r4,(%sr4,%r5) |
idtlbp %r4,(%sr0,%r5) |
iitlbp %r4,(%sr4,%r5) |
/basic/dcor.s
0,0 → 1,47
.level 1.1 |
.code |
.align 4 |
; decimal correction instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
dcor %r4,%r5 |
dcor,sbz %r4,%r5 |
dcor,shz %r4,%r5 |
dcor,sdc %r4,%r5 |
dcor,sbc %r4,%r5 |
dcor,shc %r4,%r5 |
dcor,tr %r4,%r5 |
dcor,nbz %r4,%r5 |
dcor,nhz %r4,%r5 |
dcor,ndc %r4,%r5 |
dcor,nbc %r4,%r5 |
dcor,nhc %r4,%r5 |
|
idcor %r4,%r5 |
idcor,sbz %r4,%r5 |
idcor,shz %r4,%r5 |
idcor,sdc %r4,%r5 |
idcor,sbc %r4,%r5 |
idcor,shc %r4,%r5 |
idcor,tr %r4,%r5 |
idcor,nbz %r4,%r5 |
idcor,nhz %r4,%r5 |
idcor,ndc %r4,%r5 |
idcor,nbc %r4,%r5 |
idcor,nhc %r4,%r5 |
|
dcor,i %r4,%r5 |
dcor,i,sbz %r4,%r5 |
dcor,i,shz %r4,%r5 |
dcor,i,sdc %r4,%r5 |
dcor,i,sbc %r4,%r5 |
dcor,i,shc %r4,%r5 |
dcor,i,tr %r4,%r5 |
dcor,i,nbz %r4,%r5 |
dcor,i,nhz %r4,%r5 |
dcor,i,ndc %r4,%r5 |
dcor,i,nbc %r4,%r5 |
dcor,i,nhc %r4,%r5 |
|
/basic/deposit2.s
0,0 → 1,78
.code |
.align 4 |
; Deposit instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
depw,z %r4,5,10,%r6 |
depw,z,= %r4,5,10,%r6 |
depw,z,< %r4,5,10,%r6 |
depw,z,od %r4,5,10,%r6 |
depw,z,tr %r4,5,10,%r6 |
depw,z,<> %r4,5,10,%r6 |
depw,z,>= %r4,5,10,%r6 |
depw,z,ev %r4,5,10,%r6 |
|
depw %r4,5,10,%r6 |
depw,= %r4,5,10,%r6 |
depw,< %r4,5,10,%r6 |
depw,od %r4,5,10,%r6 |
depw,tr %r4,5,10,%r6 |
depw,<> %r4,5,10,%r6 |
depw,>= %r4,5,10,%r6 |
depw,ev %r4,5,10,%r6 |
|
depw,z %r4,%sar,5,%r6 |
depw,z,= %r4,%sar,5,%r6 |
depw,z,< %r4,%sar,5,%r6 |
depw,z,od %r4,%sar,5,%r6 |
depw,z,tr %r4,%sar,5,%r6 |
depw,z,<> %r4,%sar,5,%r6 |
depw,z,>= %r4,%sar,5,%r6 |
depw,z,ev %r4,%sar,5,%r6 |
|
depw %r4,%sar,5,%r6 |
depw,= %r4,%sar,5,%r6 |
depw,< %r4,%sar,5,%r6 |
depw,od %r4,%sar,5,%r6 |
depw,tr %r4,%sar,5,%r6 |
depw,<> %r4,%sar,5,%r6 |
depw,>= %r4,%sar,5,%r6 |
depw,ev %r4,%sar,5,%r6 |
|
depwi -1,%sar,5,%r6 |
depwi,= -1,%sar,5,%r6 |
depwi,< -1,%sar,5,%r6 |
depwi,od -1,%sar,5,%r6 |
depwi,tr -1,%sar,5,%r6 |
depwi,<> -1,%sar,5,%r6 |
depwi,>= -1,%sar,5,%r6 |
depwi,ev -1,%sar,5,%r6 |
|
depwi,z -1,%sar,5,%r6 |
depwi,z,= -1,%sar,5,%r6 |
depwi,z,< -1,%sar,5,%r6 |
depwi,z,od -1,%sar,5,%r6 |
depwi,z,tr -1,%sar,5,%r6 |
depwi,z,<> -1,%sar,5,%r6 |
depwi,z,>= -1,%sar,5,%r6 |
depwi,z,ev -1,%sar,5,%r6 |
|
depwi -1,4,10,%r6 |
depwi,= -1,4,10,%r6 |
depwi,< -1,4,10,%r6 |
depwi,od -1,4,10,%r6 |
depwi,tr -1,4,10,%r6 |
depwi,<> -1,4,10,%r6 |
depwi,>= -1,4,10,%r6 |
depwi,ev -1,4,10,%r6 |
|
depwi,z -1,4,10,%r6 |
depwi,z,= -1,4,10,%r6 |
depwi,z,< -1,4,10,%r6 |
depwi,z,od -1,4,10,%r6 |
depwi,z,tr -1,4,10,%r6 |
depwi,z,<> -1,4,10,%r6 |
depwi,z,>= -1,4,10,%r6 |
depwi,z,ev -1,4,10,%r6 |
/basic/deposit3.s
0,0 → 1,79
.LEVEL 2.0 |
.code |
.align 4 |
; PA 2.0 Deposit instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
depd,z,* %r4,10,5,%r6 |
depd,z,*= %r4,10,5,%r6 |
depd,z,*< %r4,10,5,%r6 |
depd,z,*od %r4,10,5,%r6 |
depd,z,*tr %r4,10,5,%r6 |
depd,z,*<> %r4,10,5,%r6 |
depd,z,*>= %r4,10,5,%r6 |
depd,z,*ev %r4,10,5,%r6 |
|
depd,* %r4,10,5,%r6 |
depd,*= %r4,10,5,%r6 |
depd,*< %r4,10,5,%r6 |
depd,*od %r4,10,5,%r6 |
depd,*tr %r4,10,5,%r6 |
depd,*<> %r4,10,5,%r6 |
depd,*>= %r4,10,5,%r6 |
depd,*ev %r4,10,5,%r6 |
|
depd,z,* %r4,%sar,5,%r6 |
depd,z,*= %r4,%sar,5,%r6 |
depd,z,*< %r4,%sar,5,%r6 |
depd,z,*od %r4,%sar,5,%r6 |
depd,z,*tr %r4,%sar,5,%r6 |
depd,z,*<> %r4,%sar,5,%r6 |
depd,z,*>= %r4,%sar,5,%r6 |
depd,z,*ev %r4,%sar,5,%r6 |
|
depd,* %r4,%sar,5,%r6 |
depd,*= %r4,%sar,5,%r6 |
depd,*< %r4,%sar,5,%r6 |
depd,*od %r4,%sar,5,%r6 |
depd,*tr %r4,%sar,5,%r6 |
depd,*<> %r4,%sar,5,%r6 |
depd,*>= %r4,%sar,5,%r6 |
depd,*ev %r4,%sar,5,%r6 |
|
depdi,* -1,%sar,5,%r6 |
depdi,*= -1,%sar,5,%r6 |
depdi,*< -1,%sar,5,%r6 |
depdi,*od -1,%sar,5,%r6 |
depdi,*tr -1,%sar,5,%r6 |
depdi,*<> -1,%sar,5,%r6 |
depdi,*>= -1,%sar,5,%r6 |
depdi,*ev -1,%sar,5,%r6 |
|
depdi,z,* -1,%sar,5,%r6 |
depdi,z,*= -1,%sar,5,%r6 |
depdi,z,*< -1,%sar,5,%r6 |
depdi,z,*od -1,%sar,5,%r6 |
depdi,z,*tr -1,%sar,5,%r6 |
depdi,z,*<> -1,%sar,5,%r6 |
depdi,z,*>= -1,%sar,5,%r6 |
depdi,z,*ev -1,%sar,5,%r6 |
|
depdi,* -1,10,4,%r6 |
depdi,*= -1,10,4,%r6 |
depdi,*< -1,10,4,%r6 |
depdi,*od -1,10,4,%r6 |
depdi,*tr -1,10,4,%r6 |
depdi,*<> -1,10,4,%r6 |
depdi,*>= -1,10,4,%r6 |
depdi,*ev -1,10,4,%r6 |
|
depdi,z,* -1,10,4,%r6 |
depdi,z,*= -1,10,4,%r6 |
depdi,z,*< -1,10,4,%r6 |
depdi,z,*od -1,10,4,%r6 |
depdi,z,*tr -1,10,4,%r6 |
depdi,z,*<> -1,10,4,%r6 |
depdi,z,*>= -1,10,4,%r6 |
depdi,z,*ev -1,10,4,%r6 |
/basic/fp_conv.s
0,0 → 1,83
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
fcnvff,sgl,sgl %fr5,%fr10 |
fcnvff,sgl,dbl %fr5,%fr10 |
fcnvff,sgl,quad %fr5,%fr10 |
fcnvff,dbl,sgl %fr5,%fr10 |
fcnvff,dbl,dbl %fr5,%fr10 |
fcnvff,dbl,quad %fr5,%fr10 |
fcnvff,quad,sgl %fr5,%fr10 |
fcnvff,quad,dbl %fr5,%fr10 |
fcnvff,quad,quad %fr5,%fr10 |
fcnvff,sgl,sgl %fr20,%fr24 |
fcnvff,sgl,dbl %fr20,%fr24 |
fcnvff,sgl,quad %fr20,%fr24 |
fcnvff,dbl,sgl %fr20,%fr24 |
fcnvff,dbl,dbl %fr20,%fr24 |
fcnvff,dbl,quad %fr20,%fr24 |
fcnvff,quad,sgl %fr20,%fr24 |
fcnvff,quad,dbl %fr20,%fr24 |
fcnvff,quad,quad %fr20,%fr24 |
|
fcnvxf,sgl,sgl %fr5,%fr10 |
fcnvxf,sgl,dbl %fr5,%fr10 |
fcnvxf,sgl,quad %fr5,%fr10 |
fcnvxf,dbl,sgl %fr5,%fr10 |
fcnvxf,dbl,dbl %fr5,%fr10 |
fcnvxf,dbl,quad %fr5,%fr10 |
fcnvxf,quad,sgl %fr5,%fr10 |
fcnvxf,quad,dbl %fr5,%fr10 |
fcnvxf,quad,quad %fr5,%fr10 |
fcnvxf,sgl,sgl %fr20,%fr24 |
fcnvxf,sgl,dbl %fr20,%fr24 |
fcnvxf,sgl,quad %fr20,%fr24 |
fcnvxf,dbl,sgl %fr20,%fr24 |
fcnvxf,dbl,dbl %fr20,%fr24 |
fcnvxf,dbl,quad %fr20,%fr24 |
fcnvxf,quad,sgl %fr20,%fr24 |
fcnvxf,quad,dbl %fr20,%fr24 |
fcnvxf,quad,quad %fr20,%fr24 |
|
fcnvfx,sgl,sgl %fr5,%fr10 |
fcnvfx,sgl,dbl %fr5,%fr10 |
fcnvfx,sgl,quad %fr5,%fr10 |
fcnvfx,dbl,sgl %fr5,%fr10 |
fcnvfx,dbl,dbl %fr5,%fr10 |
fcnvfx,dbl,quad %fr5,%fr10 |
fcnvfx,quad,sgl %fr5,%fr10 |
fcnvfx,quad,dbl %fr5,%fr10 |
fcnvfx,quad,quad %fr5,%fr10 |
fcnvfx,sgl,sgl %fr20,%fr24 |
fcnvfx,sgl,dbl %fr20,%fr24 |
fcnvfx,sgl,quad %fr20,%fr24 |
fcnvfx,dbl,sgl %fr20,%fr24 |
fcnvfx,dbl,dbl %fr20,%fr24 |
fcnvfx,dbl,quad %fr20,%fr24 |
fcnvfx,quad,sgl %fr20,%fr24 |
fcnvfx,quad,dbl %fr20,%fr24 |
fcnvfx,quad,quad %fr20,%fr24 |
|
fcnvfxt,sgl,sgl %fr5,%fr10 |
fcnvfxt,sgl,dbl %fr5,%fr10 |
fcnvfxt,sgl,quad %fr5,%fr10 |
fcnvfxt,dbl,sgl %fr5,%fr10 |
fcnvfxt,dbl,dbl %fr5,%fr10 |
fcnvfxt,dbl,quad %fr5,%fr10 |
fcnvfxt,quad,sgl %fr5,%fr10 |
fcnvfxt,quad,dbl %fr5,%fr10 |
fcnvfxt,quad,quad %fr5,%fr10 |
fcnvfxt,sgl,sgl %fr20,%fr24 |
fcnvfxt,sgl,dbl %fr20,%fr24 |
fcnvfxt,sgl,quad %fr20,%fr24 |
fcnvfxt,dbl,sgl %fr20,%fr24 |
fcnvfxt,dbl,dbl %fr20,%fr24 |
fcnvfxt,dbl,quad %fr20,%fr24 |
fcnvfxt,quad,sgl %fr20,%fr24 |
fcnvfxt,quad,dbl %fr20,%fr24 |
fcnvfxt,quad,quad %fr20,%fr24 |
|
/basic/immed.s
0,0 → 1,12
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
immediate_tests: |
ldo 5(%r26),%r26 |
ldil L%0xdeadbeef,%r26 |
addil L%0xdeadbeef,%r5 |
|
/basic/shift2.s
0,0 → 1,24
.code |
.align 4 |
; PA 2.0 format shift right instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
shrpw %r4,%r5,%sar,%r6 |
shrpw,= %r4,%r5,%sar,%r6 |
shrpw,< %r4,%r5,%sar,%r6 |
shrpw,od %r4,%r5,%sar,%r6 |
shrpw,tr %r4,%r5,%cr11,%r6 |
shrpw,<> %r4,%r5,%cr11,%r6 |
shrpw,>= %r4,%r5,%cr11,%r6 |
shrpw,ev %r4,%r5,%cr11,%r6 |
|
shrpw %r4,%r5,5,%r6 |
shrpw,= %r4,%r5,5,%r6 |
shrpw,< %r4,%r5,5,%r6 |
shrpw,od %r4,%r5,5,%r6 |
shrpw,tr %r4,%r5,5,%r6 |
shrpw,<> %r4,%r5,5,%r6 |
shrpw,>= %r4,%r5,5,%r6 |
shrpw,ev %r4,%r5,5,%r6 |
/basic/shladd.s
0,0 → 1,161
.level 1.1 |
.code |
.align 4 |
; Basic shladd instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
shladd %r4,1,%r5,%r6 |
shladd,= %r4,1,%r5,%r6 |
shladd,< %r4,1,%r5,%r6 |
shladd,<= %r4,1,%r5,%r6 |
shladd,nuv %r4,1,%r5,%r6 |
shladd,znv %r4,1,%r5,%r6 |
shladd,sv %r4,1,%r5,%r6 |
shladd,od %r4,1,%r5,%r6 |
shladd,tr %r4,1,%r5,%r6 |
shladd,<> %r4,1,%r5,%r6 |
shladd,>= %r4,1,%r5,%r6 |
shladd,> %r4,1,%r5,%r6 |
shladd,uv %r4,1,%r5,%r6 |
shladd,vnz %r4,1,%r5,%r6 |
shladd,nsv %r4,1,%r5,%r6 |
shladd,ev %r4,1,%r5,%r6 |
|
shladd,l %r4,1,%r5,%r6 |
shladd,l,= %r4,1,%r5,%r6 |
shladd,l,< %r4,1,%r5,%r6 |
shladd,l,<= %r4,1,%r5,%r6 |
shladd,l,nuv %r4,1,%r5,%r6 |
shladd,l,znv %r4,1,%r5,%r6 |
shladd,l,sv %r4,1,%r5,%r6 |
shladd,l,od %r4,1,%r5,%r6 |
shladd,l,tr %r4,1,%r5,%r6 |
shladd,l,<> %r4,1,%r5,%r6 |
shladd,l,>= %r4,1,%r5,%r6 |
shladd,l,> %r4,1,%r5,%r6 |
shladd,l,uv %r4,1,%r5,%r6 |
shladd,l,vnz %r4,1,%r5,%r6 |
shladd,l,nsv %r4,1,%r5,%r6 |
shladd,l,ev %r4,1,%r5,%r6 |
|
shladd,tsv %r4,1,%r5,%r6 |
shladd,tsv,= %r4,1,%r5,%r6 |
shladd,tsv,< %r4,1,%r5,%r6 |
shladd,tsv,<= %r4,1,%r5,%r6 |
shladd,tsv,nuv %r4,1,%r5,%r6 |
shladd,tsv,znv %r4,1,%r5,%r6 |
shladd,tsv,sv %r4,1,%r5,%r6 |
shladd,tsv,od %r4,1,%r5,%r6 |
shladd,tsv,tr %r4,1,%r5,%r6 |
shladd,tsv,<> %r4,1,%r5,%r6 |
shladd,tsv,>= %r4,1,%r5,%r6 |
shladd,tsv,> %r4,1,%r5,%r6 |
shladd,tsv,uv %r4,1,%r5,%r6 |
shladd,tsv,vnz %r4,1,%r5,%r6 |
shladd,tsv,nsv %r4,1,%r5,%r6 |
shladd,tsv,ev %r4,1,%r5,%r6 |
|
shladd %r4,2,%r5,%r6 |
shladd,= %r4,2,%r5,%r6 |
shladd,< %r4,2,%r5,%r6 |
shladd,<= %r4,2,%r5,%r6 |
shladd,nuv %r4,2,%r5,%r6 |
shladd,znv %r4,2,%r5,%r6 |
shladd,sv %r4,2,%r5,%r6 |
shladd,od %r4,2,%r5,%r6 |
shladd,tr %r4,2,%r5,%r6 |
shladd,<> %r4,2,%r5,%r6 |
shladd,>= %r4,2,%r5,%r6 |
shladd,> %r4,2,%r5,%r6 |
shladd,uv %r4,2,%r5,%r6 |
shladd,vnz %r4,2,%r5,%r6 |
shladd,nsv %r4,2,%r5,%r6 |
shladd,ev %r4,2,%r5,%r6 |
|
shladd,l %r4,2,%r5,%r6 |
shladd,l,= %r4,2,%r5,%r6 |
shladd,l,< %r4,2,%r5,%r6 |
shladd,l,<= %r4,2,%r5,%r6 |
shladd,l,nuv %r4,2,%r5,%r6 |
shladd,l,znv %r4,2,%r5,%r6 |
shladd,l,sv %r4,2,%r5,%r6 |
shladd,l,od %r4,2,%r5,%r6 |
shladd,l,tr %r4,2,%r5,%r6 |
shladd,l,<> %r4,2,%r5,%r6 |
shladd,l,>= %r4,2,%r5,%r6 |
shladd,l,> %r4,2,%r5,%r6 |
shladd,l,uv %r4,2,%r5,%r6 |
shladd,l,vnz %r4,2,%r5,%r6 |
shladd,l,nsv %r4,2,%r5,%r6 |
shladd,l,ev %r4,2,%r5,%r6 |
|
shladd,tsv %r4,2,%r5,%r6 |
shladd,tsv,= %r4,2,%r5,%r6 |
shladd,tsv,< %r4,2,%r5,%r6 |
shladd,tsv,<= %r4,2,%r5,%r6 |
shladd,tsv,nuv %r4,2,%r5,%r6 |
shladd,tsv,znv %r4,2,%r5,%r6 |
shladd,tsv,sv %r4,2,%r5,%r6 |
shladd,tsv,od %r4,2,%r5,%r6 |
shladd,tsv,tr %r4,2,%r5,%r6 |
shladd,tsv,<> %r4,2,%r5,%r6 |
shladd,tsv,>= %r4,2,%r5,%r6 |
shladd,tsv,> %r4,2,%r5,%r6 |
shladd,tsv,uv %r4,2,%r5,%r6 |
shladd,tsv,vnz %r4,2,%r5,%r6 |
shladd,tsv,nsv %r4,2,%r5,%r6 |
shladd,tsv,ev %r4,2,%r5,%r6 |
|
shladd %r4,3,%r5,%r6 |
shladd,= %r4,3,%r5,%r6 |
shladd,< %r4,3,%r5,%r6 |
shladd,<= %r4,3,%r5,%r6 |
shladd,nuv %r4,3,%r5,%r6 |
shladd,znv %r4,3,%r5,%r6 |
shladd,sv %r4,3,%r5,%r6 |
shladd,od %r4,3,%r5,%r6 |
shladd,tr %r4,3,%r5,%r6 |
shladd,<> %r4,3,%r5,%r6 |
shladd,>= %r4,3,%r5,%r6 |
shladd,> %r4,3,%r5,%r6 |
shladd,uv %r4,3,%r5,%r6 |
shladd,vnz %r4,3,%r5,%r6 |
shladd,nsv %r4,3,%r5,%r6 |
shladd,ev %r4,3,%r5,%r6 |
|
shladd,l %r4,3,%r5,%r6 |
shladd,l,= %r4,3,%r5,%r6 |
shladd,l,< %r4,3,%r5,%r6 |
shladd,l,<= %r4,3,%r5,%r6 |
shladd,l,nuv %r4,3,%r5,%r6 |
shladd,l,znv %r4,3,%r5,%r6 |
shladd,l,sv %r4,3,%r5,%r6 |
shladd,l,od %r4,3,%r5,%r6 |
shladd,l,tr %r4,3,%r5,%r6 |
shladd,l,<> %r4,3,%r5,%r6 |
shladd,l,>= %r4,3,%r5,%r6 |
shladd,l,> %r4,3,%r5,%r6 |
shladd,l,uv %r4,3,%r5,%r6 |
shladd,l,vnz %r4,3,%r5,%r6 |
shladd,l,nsv %r4,3,%r5,%r6 |
shladd,l,ev %r4,3,%r5,%r6 |
|
shladd,tsv %r4,3,%r5,%r6 |
shladd,tsv,= %r4,3,%r5,%r6 |
shladd,tsv,< %r4,3,%r5,%r6 |
shladd,tsv,<= %r4,3,%r5,%r6 |
shladd,tsv,nuv %r4,3,%r5,%r6 |
shladd,tsv,znv %r4,3,%r5,%r6 |
shladd,tsv,sv %r4,3,%r5,%r6 |
shladd,tsv,od %r4,3,%r5,%r6 |
shladd,tsv,tr %r4,3,%r5,%r6 |
shladd,tsv,<> %r4,3,%r5,%r6 |
shladd,tsv,>= %r4,3,%r5,%r6 |
shladd,tsv,> %r4,3,%r5,%r6 |
shladd,tsv,uv %r4,3,%r5,%r6 |
shladd,tsv,vnz %r4,3,%r5,%r6 |
shladd,tsv,nsv %r4,3,%r5,%r6 |
shladd,tsv,ev %r4,3,%r5,%r6 |
|
/basic/shift3.s
0,0 → 1,26
.LEVEL 2.0 |
.code |
.align 4 |
; PA 2.0 shift right instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
shrpd,* %r4,%r5,%sar,%r6 |
shrpd,*= %r4,%r5,%sar,%r6 |
shrpd,*< %r4,%r5,%sar,%r6 |
shrpd,*od %r4,%r5,%sar,%r6 |
shrpd,*tr %r4,%r5,%cr11,%r6 |
shrpd,*<> %r4,%r5,%cr11,%r6 |
shrpd,*>= %r4,%r5,%cr11,%r6 |
shrpd,*ev %r4,%r5,%cr11,%r6 |
|
shrpd,* %r4,%r5,5,%r6 |
shrpd,*= %r4,%r5,5,%r6 |
shrpd,*< %r4,%r5,5,%r6 |
shrpd,*od %r4,%r5,5,%r6 |
shrpd,*tr %r4,%r5,5,%r6 |
shrpd,*<> %r4,%r5,5,%r6 |
shrpd,*>= %r4,%r5,5,%r6 |
shrpd,*ev %r4,%r5,5,%r6 |
|
/basic/subi.s
0,0 → 1,57
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
subi 123,%r5,%r6 |
subi,= 123,%r5,%r6 |
subi,< 123,%r5,%r6 |
subi,<= 123,%r5,%r6 |
subi,<< 123,%r5,%r6 |
subi,<<= 123,%r5,%r6 |
subi,sv 123,%r5,%r6 |
subi,od 123,%r5,%r6 |
subi,tr 123,%r5,%r6 |
subi,<> 123,%r5,%r6 |
subi,>= 123,%r5,%r6 |
subi,> 123,%r5,%r6 |
subi,>>= 123,%r5,%r6 |
subi,>> 123,%r5,%r6 |
subi,nsv 123,%r5,%r6 |
subi,ev 123,%r5,%r6 |
|
subio 123,%r5,%r6 |
subio,= 123,%r5,%r6 |
subio,< 123,%r5,%r6 |
subio,<= 123,%r5,%r6 |
subio,<< 123,%r5,%r6 |
subio,<<= 123,%r5,%r6 |
subio,sv 123,%r5,%r6 |
subio,od 123,%r5,%r6 |
subio,tr 123,%r5,%r6 |
subio,<> 123,%r5,%r6 |
subio,>= 123,%r5,%r6 |
subio,> 123,%r5,%r6 |
subio,>>= 123,%r5,%r6 |
subio,>> 123,%r5,%r6 |
subio,nsv 123,%r5,%r6 |
subio,ev 123,%r5,%r6 |
|
subi,tsv 123,%r5,%r6 |
subi,tsv,= 123,%r5,%r6 |
subi,tsv,< 123,%r5,%r6 |
subi,tsv,<= 123,%r5,%r6 |
subi,tsv,<< 123,%r5,%r6 |
subi,tsv,<<= 123,%r5,%r6 |
subi,tsv,sv 123,%r5,%r6 |
subi,tsv,od 123,%r5,%r6 |
subi,tsv,tr 123,%r5,%r6 |
subi,tsv,<> 123,%r5,%r6 |
subi,tsv,>= 123,%r5,%r6 |
subi,tsv,> 123,%r5,%r6 |
subi,tsv,>>= 123,%r5,%r6 |
subi,tsv,>> 123,%r5,%r6 |
subi,tsv,nsv 123,%r5,%r6 |
subi,tsv,ev 123,%r5,%r6 |
/basic/copr.s
0,0 → 1,10
.code |
.align 4 |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
copr_tests: |
copr,4,5 |
copr,4,115 |
copr,4,5,n |
copr,4,115,n |
/basic/fp_comp2.s
0,0 → 1,30
.LEVEL 2.0 |
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
fmpyfadd,sgl %fr5R,%fr10L,%fr13R,%fr14L |
fmpyfadd,dbl %fr5,%fr10,%fr13,%fr14 |
fmpyfadd,sgl %fr18R,%fr27L,%fr6R,%fr21L |
fmpyfadd,dbl %fr18,%fr27,%fr6,%fr21 |
|
fmpynfadd,sgl %fr5R,%fr10L,%fr13R,%fr14L |
fmpynfadd,dbl %fr5,%fr10,%fr13,%fr14 |
fmpynfadd,sgl %fr18R,%fr27L,%fr6R,%fr21L |
fmpynfadd,dbl %fr18,%fr27,%fr6,%fr21 |
|
fneg,sgl %fr5,%fr10R |
fneg,dbl %fr5,%fr10 |
fneg,quad %fr5,%fr10 |
fneg,sgl %fr20R,%fr24L |
fneg,dbl %fr20,%fr24 |
|
fnegabs,sgl %fr5,%fr10R |
fnegabs,dbl %fr5,%fr10 |
fnegabs,quad %fr5,%fr10 |
fnegabs,sgl %fr20R,%fr24L |
fnegabs,dbl %fr20,%fr24 |
|
/basic/sh2add.s
0,0 → 1,58
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
sh2add %r4,%r5,%r6 |
sh2add,= %r4,%r5,%r6 |
sh2add,< %r4,%r5,%r6 |
sh2add,<= %r4,%r5,%r6 |
sh2add,nuv %r4,%r5,%r6 |
sh2add,znv %r4,%r5,%r6 |
sh2add,sv %r4,%r5,%r6 |
sh2add,od %r4,%r5,%r6 |
sh2add,tr %r4,%r5,%r6 |
sh2add,<> %r4,%r5,%r6 |
sh2add,>= %r4,%r5,%r6 |
sh2add,> %r4,%r5,%r6 |
sh2add,uv %r4,%r5,%r6 |
sh2add,vnz %r4,%r5,%r6 |
sh2add,nsv %r4,%r5,%r6 |
sh2add,ev %r4,%r5,%r6 |
|
sh2addl %r4,%r5,%r6 |
sh2addl,= %r4,%r5,%r6 |
sh2addl,< %r4,%r5,%r6 |
sh2addl,<= %r4,%r5,%r6 |
sh2addl,nuv %r4,%r5,%r6 |
sh2addl,znv %r4,%r5,%r6 |
sh2addl,sv %r4,%r5,%r6 |
sh2addl,od %r4,%r5,%r6 |
sh2addl,tr %r4,%r5,%r6 |
sh2addl,<> %r4,%r5,%r6 |
sh2addl,>= %r4,%r5,%r6 |
sh2addl,> %r4,%r5,%r6 |
sh2addl,uv %r4,%r5,%r6 |
sh2addl,vnz %r4,%r5,%r6 |
sh2addl,nsv %r4,%r5,%r6 |
sh2addl,ev %r4,%r5,%r6 |
|
sh2addo %r4,%r5,%r6 |
sh2addo,= %r4,%r5,%r6 |
sh2addo,< %r4,%r5,%r6 |
sh2addo,<= %r4,%r5,%r6 |
sh2addo,nuv %r4,%r5,%r6 |
sh2addo,znv %r4,%r5,%r6 |
sh2addo,sv %r4,%r5,%r6 |
sh2addo,od %r4,%r5,%r6 |
sh2addo,tr %r4,%r5,%r6 |
sh2addo,<> %r4,%r5,%r6 |
sh2addo,>= %r4,%r5,%r6 |
sh2addo,> %r4,%r5,%r6 |
sh2addo,uv %r4,%r5,%r6 |
sh2addo,vnz %r4,%r5,%r6 |
sh2addo,nsv %r4,%r5,%r6 |
sh2addo,ev %r4,%r5,%r6 |
|
/basic/ds.s
0,0 → 1,23
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
ds %r4,%r5,%r6 |
ds,= %r4,%r5,%r6 |
ds,< %r4,%r5,%r6 |
ds,<= %r4,%r5,%r6 |
ds,<< %r4,%r5,%r6 |
ds,<<= %r4,%r5,%r6 |
ds,sv %r4,%r5,%r6 |
ds,od %r4,%r5,%r6 |
ds,tr %r4,%r5,%r6 |
ds,<> %r4,%r5,%r6 |
ds,>= %r4,%r5,%r6 |
ds,> %r4,%r5,%r6 |
ds,>>= %r4,%r5,%r6 |
ds,>> %r4,%r5,%r6 |
ds,nsv %r4,%r5,%r6 |
ds,ev %r4,%r5,%r6 |
/basic/system2.s
0,0 → 1,19
.LEVEL 2.0 |
.code |
.align 4 |
; PA2.0 system instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
rfi |
rfi,r |
ssm 923,%r4 |
rsm 923,%r4 |
mfctl,w %cr11,%r4 |
|
probe,r (%sr0,%r5),%r6,%r7 |
probei,r (%sr0,%r5),1,%r7 |
probe,w (%sr0,%r5),%r6,%r7 |
probei,w (%sr0,%r5),1,%r7 |
|
/basic/deposit.s
0,0 → 1,79
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
zdep %r4,5,10,%r6 |
zdep,= %r4,5,10,%r6 |
zdep,< %r4,5,10,%r6 |
zdep,od %r4,5,10,%r6 |
zdep,tr %r4,5,10,%r6 |
zdep,<> %r4,5,10,%r6 |
zdep,>= %r4,5,10,%r6 |
zdep,ev %r4,5,10,%r6 |
|
dep %r4,5,10,%r6 |
dep,= %r4,5,10,%r6 |
dep,< %r4,5,10,%r6 |
dep,od %r4,5,10,%r6 |
dep,tr %r4,5,10,%r6 |
dep,<> %r4,5,10,%r6 |
dep,>= %r4,5,10,%r6 |
dep,ev %r4,5,10,%r6 |
|
zvdep %r4,5,%r6 |
zvdep,= %r4,5,%r6 |
zvdep,< %r4,5,%r6 |
zvdep,od %r4,5,%r6 |
zvdep,tr %r4,5,%r6 |
zvdep,<> %r4,5,%r6 |
zvdep,>= %r4,5,%r6 |
zvdep,ev %r4,5,%r6 |
|
vdep %r4,5,%r6 |
vdep,= %r4,5,%r6 |
vdep,< %r4,5,%r6 |
vdep,od %r4,5,%r6 |
vdep,tr %r4,5,%r6 |
vdep,<> %r4,5,%r6 |
vdep,>= %r4,5,%r6 |
vdep,ev %r4,5,%r6 |
|
vdepi -1,5,%r6 |
vdepi,= -1,5,%r6 |
vdepi,< -1,5,%r6 |
vdepi,od -1,5,%r6 |
vdepi,tr -1,5,%r6 |
vdepi,<> -1,5,%r6 |
vdepi,>= -1,5,%r6 |
vdepi,ev -1,5,%r6 |
|
zvdepi -1,5,%r6 |
zvdepi,= -1,5,%r6 |
zvdepi,< -1,5,%r6 |
zvdepi,od -1,5,%r6 |
zvdepi,tr -1,5,%r6 |
zvdepi,<> -1,5,%r6 |
zvdepi,>= -1,5,%r6 |
zvdepi,ev -1,5,%r6 |
|
depi -1,4,10,%r6 |
depi,= -1,4,10,%r6 |
depi,< -1,4,10,%r6 |
depi,od -1,4,10,%r6 |
depi,tr -1,4,10,%r6 |
depi,<> -1,4,10,%r6 |
depi,>= -1,4,10,%r6 |
depi,ev -1,4,10,%r6 |
|
zdepi -1,4,10,%r6 |
zdepi,= -1,4,10,%r6 |
zdepi,< -1,4,10,%r6 |
zdepi,od -1,4,10,%r6 |
zdepi,tr -1,4,10,%r6 |
zdepi,<> -1,4,10,%r6 |
zdepi,>= -1,4,10,%r6 |
zdepi,ev -1,4,10,%r6 |
|
/basic/extract.s
0,0 → 1,42
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
extru %r4,5,10,%r6 |
extru,= %r4,5,10,%r6 |
extru,< %r4,5,10,%r6 |
extru,od %r4,5,10,%r6 |
extru,tr %r4,5,10,%r6 |
extru,<> %r4,5,10,%r6 |
extru,>= %r4,5,10,%r6 |
extru,ev %r4,5,10,%r6 |
|
extrs %r4,5,10,%r6 |
extrs,= %r4,5,10,%r6 |
extrs,< %r4,5,10,%r6 |
extrs,od %r4,5,10,%r6 |
extrs,tr %r4,5,10,%r6 |
extrs,<> %r4,5,10,%r6 |
extrs,>= %r4,5,10,%r6 |
extrs,ev %r4,5,10,%r6 |
|
vextru %r4,5,%r6 |
vextru,= %r4,5,%r6 |
vextru,< %r4,5,%r6 |
vextru,od %r4,5,%r6 |
vextru,tr %r4,5,%r6 |
vextru,<> %r4,5,%r6 |
vextru,>= %r4,5,%r6 |
vextru,ev %r4,5,%r6 |
|
vextrs %r4,5,%r6 |
vextrs,= %r4,5,%r6 |
vextrs,< %r4,5,%r6 |
vextrs,od %r4,5,%r6 |
vextrs,tr %r4,5,%r6 |
vextrs,<> %r4,5,%r6 |
vextrs,>= %r4,5,%r6 |
vextrs,ev %r4,5,%r6 |
/basic/basic.exp
0,0 → 1,3863
# Copyright (C) 1993, 1996, 1997, 1999, 2002, 2007 |
# Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# dejagnu@gnu.org |
|
# Written by the Center for Software Science at the Univeristy of Utah |
# and by Cygnus Support. |
|
proc do_imem {} { |
set testname "imem.s: integer memory loads and stores" |
set x 0 |
|
gas_start "imem.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 489A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0000 0C80109A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 449A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 0C80105A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 409A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 0C80101A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 689A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 0C9A1280\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 649A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 0C9A1240\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 609A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 0C9A1200\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 4C9A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 6C9A0000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 0C85009A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 0C85209A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 0C8500BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 0C8520BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 0C85005A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 0C85205A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 0C85007A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 0C85207A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 0C85001A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 0C85201A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 0C85003A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 0C85203A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 0C85019A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 0C85219A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 0C8501BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 0C8521BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 0C8501DA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 0C8521DA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 0C8501FA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 0C8521FA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 0C80109A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 0C8030BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 0C8010BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 0C80105A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 0C80307A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 0C80107A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 0C80101A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 0C80303A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 0C80103A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 0C80119A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 0C8031BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 0C8011BA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 0C8011DA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 0C8031FA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 0C8011FA\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 0C9A1280\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 0C9A32A0\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 0C9A12A0\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 0C9A1240\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 0C9A3260\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 0C9A1260\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 0C9A1200\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 0C9A3220\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 0C9A1220\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 0C9A1380\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 0C9A33A0\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 0C9A13A0\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 0C9A1300\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 0C9A1300\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 0C9A3300\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 0C9A1320\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 0C9A3320\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==60] then { pass $testname } else { fail $testname } |
} |
|
proc do_immed {} { |
set testname "immed.s: immediate tests" |
set x 0 |
|
gas_start "immed.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 375A000A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 234DFBD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 28ADFBD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==3] then { pass $testname } else { fail $testname } |
} |
|
proc do_branch {} { |
set testname "branch.s: branch tests" |
set x 0 |
|
gas_start "branch.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 E85F1FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 E85F1FEF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 E81F1FE5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c E81F1FDF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 E85F3FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 E85F3FCF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 E8444000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c E8444002\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 E8044000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 E8044002\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 E840C000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c E840C002\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 E040446C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 E040446E\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 E440446C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c E440446E\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 CB441FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 CB443FED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 CB445FE5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c CB447FDD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 CB449FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 CB44BFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 CB44DFC5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c CB44FFBD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 CB441FB7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 CB443FAF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 CB445FA7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c CB447F9F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 CB449F97\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 CB44BF8F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 CB44DF87\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c CB44FF7F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 CF4A1FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 CF4A3FED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 CF4A5FE5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c CF4A7FDD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 CF4A9FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 CF4ABFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 CF4ADFC5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c CF4AFFBD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 CF4A1FB7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 CF4A3FAF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 CF4A5FA7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac CF4A7F9F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 CF4A9F97\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 CF4ABF8F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 CF4ADF87\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc CF4AFF7F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 80801FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 80803FED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 80805FE5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 80807FDD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 80809FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 8080BFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 8080DFC5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 8080FFBD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 88801FB5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 88803FAD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 88805FA5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 88807F9D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 88809F95\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 8880BF8D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 8880DF85\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 8880FF7D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 80801F77\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 80803F6F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 80805F67\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 80807F5F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 80809F57\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 8080BF4F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 8080DF47\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 8080FF3F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 88801F37\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 88803F2F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 88805F27\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 88807F1F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 88809F17\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 8880BF0F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 8880DF07\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 8880FEFF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 84801FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 84805FED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 84807FE5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c 84809FDD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 8480BFD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 8480DFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 8480FFC5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c 8C801FBD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 8C803FB5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 8C805FAD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 8C807FA5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c 8C809F9D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 8C80BF95\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 8C80DF8D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 8C80FE85\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c 84801F7F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0180 84803F77\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0184 84805F6F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0188 84807F67\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 018c 84809F5F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0190 8480BF57\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0194 8480DF4F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0198 8480FF47\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 019c 8C801F3F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a0 8C803F37\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a4 8C805F2F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a8 8C807F27\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ac 8C809F1F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b0 8C80BF17\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b4 8C80DF0F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b8 8C80FF07\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01bc A0811FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c0 A0813FED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c4 A0815FE5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c8 A0817FDD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01cc A0819FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d0 A081BFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d4 A081DFC5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d8 A081FFBD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01dc A8811FB5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e0 A8813FAD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e4 A8815FA5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e8 A8817F9D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ec A8819F95\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f0 A881BF8D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f4 A881DF85\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f8 A881FF7D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01fc A0811F77\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0200 A0813F6F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0204 A0815F67\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0208 A0817F5F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 020c A0819F57\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0210 A081BF4F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0214 A081DF47\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0218 A081FF3F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 021c A8811F37\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0220 A8813F2F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0224 A8815F27\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0228 A8817F1F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 022c A8819F17\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0230 A881BF0F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0234 A881DF07\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0238 A881FEFF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 023c A49F1FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0240 A49F3FED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0244 A49F5FE5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0248 A49F7FDD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 024c A49F9FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0250 A49FBFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0254 A49FDFC5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0258 A49FFFBD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 025c AC9F1FB5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0260 AC9F3FAD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0264 AC9F5FA5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0268 AC9F7F9D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 026c AC9F9F95\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0270 AC9FBF8D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0274 AC9FDF85\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0278 AC9FFC85\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 027c A49F1F77\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0280 A49F3F6F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0284 A49F5F67\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0288 A49F7F5F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 028c A49F9F57\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0290 A49FBF4F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0294 A49FDF47\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0298 A49FFF3F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 029c AC9F1F37\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02a0 AC9F3F2F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02a4 AC9F5F27\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02a8 AC9F7F1F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02ac AC9F9F17\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02b0 AC9FBF0F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02b4 AC9FDF07\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02b8 AC9FFEFF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02bc C0045FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02c0 C004DFED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02c4 C0045FE7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02c8 C004DFDF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02cc C4A45FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02d0 C4A4DFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02d4 C4A45FC7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02d8 C4A4DFBF\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==183] then { pass $testname } else { fail $testname } |
} |
|
proc do_branch2 {} { |
set testname "branch2.s: branch tests" |
set x 0 |
|
gas_start "branch2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 C0045FF5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 C004DFED\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 C0045FE7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c C004DFDF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 C0047FD5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 C004FFCD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 C0047FC7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c C004FFBF\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 C4A47FB5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 C4A4FFAD\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 C4A47FA7\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c C4A4FF9F\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 E8004005\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 E800400D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 E8004F9D\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c E8004001\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 E8044001\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==17] then { pass $testname } else { fail $testname } |
} |
|
proc do_add {} { |
set testname "add.s: add tests" |
set x 0 |
|
gas_start "add.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F606\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4AE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4CE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4EE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4BE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4DE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4FE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 08A40706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 08A42706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 08A44706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 08A46706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 08A48706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 08A4A706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 08A4C706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 08A4E706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 08A41706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 08A43706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 08A45706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 08A47706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 08A49706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 08A4B706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 08A4D706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 08A4F706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 08A40F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 08A42F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 08A44F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 08A46F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 08A48F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 08A4AF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 08A4CF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 08A4EF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 08A41F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 08A43F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 08A45F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 08A47F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 08A49F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 08A4BF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 08A4DF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 08A4FF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 08A40A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 08A42A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 08A44A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c 08A46A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 08A48A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 08A4AA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 08A4CA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c 08A4EA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 08A41A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 08A43A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 08A45A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c 08A47A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 08A49A06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 08A4BA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 08A4DA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c 08A4FA06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0180 08A40E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0184 08A42E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0188 08A44E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 018c 08A46E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0190 08A48E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0194 08A4AE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0198 08A4CE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 019c 08A4EE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a0 08A41E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a4 08A43E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a8 08A45E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ac 08A47E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b0 08A49E06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b4 08A4BE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b8 08A4DE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01bc 08A4FE06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c0 08A40706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c4 08A42706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c8 08A44706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01cc 08A46706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d0 08A48706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d4 08A4A706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d8 08A4C706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01dc 08A4E706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e0 08A41706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e4 08A43706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e8 08A45706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ec 08A47706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f0 08A49706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f4 08A4B706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f8 08A4D706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01fc 08A4F706\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0200 08A40F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0204 08A42F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0208 08A44F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 020c 08A46F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0210 08A48F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0214 08A4AF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0218 08A4CF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 021c 08A4EF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0220 08A41F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0224 08A43F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0228 08A45F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 022c 08A47F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0230 08A49F06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0234 08A4BF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0238 08A4DF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 023c 08A4FF06\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==144] then { pass $testname } else { fail $testname } |
} |
|
proc do_add2 {} { |
set testname "add2.s: add2 tests" |
set x 0 |
|
gas_start "add2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F626\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AA26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CA26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EA26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49A26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BA26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DA26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FA26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4AE26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4CE26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4EE26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49E26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4BE26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4DE26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4FE26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 08A40726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 08A42726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 08A44726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 08A46726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 08A48726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 08A4A726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 08A4C726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 08A4E726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 08A41726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 08A43726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 08A45726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 08A47726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 08A49726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 08A4B726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 08A4D726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 08A4F726\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 08A40F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 08A42F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 08A44F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 08A46F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 08A48F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 08A4AF26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 08A4CF26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 08A4EF26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 08A41F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 08A43F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 08A45F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 08A47F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 08A49F26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 08A4BF26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 08A4DF26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 08A4FF26\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==80] then { pass $testname } else { fail $testname } |
} |
|
proc do_sh1add {} { |
set testname "sh1add.s: sh1add tests" |
set x 0 |
|
gas_start "sh1add.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4AE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4CE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4EE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4BE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4DE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4FE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==48] then { pass $testname } else { fail $testname } |
} |
|
proc do_sh2add {} { |
set testname "sh2add.s: sh2add tests" |
set x 0 |
|
gas_start "sh2add.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4AE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4CE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4EE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4BE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4DE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4FE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==48] then { pass $testname } else { fail $testname } |
} |
|
proc do_sh3add {} { |
set testname "sh3add.s: sh3add tests" |
set x 0 |
|
gas_start "sh3add.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A406C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A426C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A446C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A466C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A486C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A416C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A436C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A456C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A476C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A496C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4AEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4CEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4EEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4BEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4DEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4FEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==48] then { pass $testname } else { fail $testname } |
} |
|
proc do_shladd {} { |
set testname "shladd.s: shladd tests" |
set x 0 |
|
gas_start "shladd.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F646\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49A46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FA46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4AE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4CE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4EE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49E46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4BE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4DE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4FE46\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 08A40686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 08A42686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 08A44686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 08A46686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 08A48686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 08A4A686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 08A4C686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 08A4E686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 08A41686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 08A43686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 08A45686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 08A47686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 08A49686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 08A4B686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 08A4D686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 08A4F686\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 08A40A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 08A42A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 08A44A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 08A46A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 08A48A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 08A4AA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 08A4CA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 08A4EA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 08A41A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 08A43A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 08A45A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 08A47A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 08A49A86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 08A4BA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 08A4DA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 08A4FA86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 08A40E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 08A42E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 08A44E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c 08A46E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 08A48E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 08A4AE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 08A4CE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c 08A4EE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 08A41E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 08A43E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 08A45E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c 08A47E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 08A49E86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 08A4BE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 08A4DE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c 08A4FE86\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0180 08A406C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0184 08A426C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0188 08A446C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 018c 08A466C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0190 08A486C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0194 08A4A6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0198 08A4C6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 019c 08A4E6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a0 08A416C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a4 08A436C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a8 08A456C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ac 08A476C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b0 08A496C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b4 08A4B6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b8 08A4D6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01bc 08A4F6C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c0 08A40AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c4 08A42AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c8 08A44AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01cc 08A46AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d0 08A48AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d4 08A4AAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d8 08A4CAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01dc 08A4EAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e0 08A41AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e4 08A43AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e8 08A45AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ec 08A47AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f0 08A49AC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f4 08A4BAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f8 08A4DAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01fc 08A4FAC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0200 08A40EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0204 08A42EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0208 08A44EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 020c 08A46EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0210 08A48EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0214 08A4AEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0218 08A4CEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 021c 08A4EEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0220 08A41EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0224 08A43EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0228 08A45EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 022c 08A47EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0230 08A49EC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0234 08A4BEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0238 08A4DEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 023c 08A4FEC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==144] then { pass $testname } else { fail $testname } |
} |
|
proc do_shladd2 {} { |
set testname "shladd2.s: shladd2 tests" |
set x 0 |
|
gas_start "shladd2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F666\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AA66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CA66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EA66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49A66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BA66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DA66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FA66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4AE66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4CE66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4EE66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49E66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4BE66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4DE66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4FE66\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 08A406A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 08A426A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 08A446A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 08A466A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 08A486A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 08A4A6A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 08A4C6A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 08A4E6A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 08A416A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 08A436A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 08A456A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 08A476A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 08A496A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 08A4B6A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 08A4D6A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 08A4F6A6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 08A40AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 08A42AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 08A44AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 08A46AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 08A48AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 08A4AAA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 08A4CAA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 08A4EAA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 08A41AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 08A43AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 08A45AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 08A47AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 08A49AA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 08A4BAA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 08A4DAA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 08A4FAA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 08A40EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 08A42EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 08A44EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c 08A46EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 08A48EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 08A4AEA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 08A4CEA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c 08A4EEA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 08A41EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 08A43EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 08A45EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c 08A47EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 08A49EA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 08A4BEA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 08A4DEA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c 08A4FEA6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0180 08A406E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0184 08A426E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0188 08A446E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 018c 08A466E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0190 08A486E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0194 08A4A6E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0198 08A4C6E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 019c 08A4E6E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a0 08A416E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a4 08A436E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a8 08A456E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ac 08A476E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b0 08A496E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b4 08A4B6E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b8 08A4D6E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01bc 08A4F6E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c0 08A40AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c4 08A42AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c8 08A44AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01cc 08A46AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d0 08A48AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d4 08A4AAE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d8 08A4CAE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01dc 08A4EAE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e0 08A41AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e4 08A43AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e8 08A45AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ec 08A47AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f0 08A49AE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f4 08A4BAE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f8 08A4DAE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01fc 08A4FAE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0200 08A40EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0204 08A42EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0208 08A44EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 020c 08A46EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0210 08A48EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0214 08A4AEE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0218 08A4CEE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 021c 08A4EEE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0220 08A41EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0224 08A43EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0228 08A45EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 022c 08A47EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0230 08A49EE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0234 08A4BEE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0238 08A4DEE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 023c 08A4FEE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==144] then { pass $testname } else { fail $testname } |
} |
|
proc do_sub {} { |
set testname "sub.s: sub tests" |
set x 0 |
|
gas_start "sub.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F406\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4A506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4C506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4E506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4B506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4D506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4F506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 08A40D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 08A42D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 08A44D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 08A46D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 08A48D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 08A4AD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 08A4CD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 08A4ED06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 08A41D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 08A43D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 08A45D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 08A47D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 08A49D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 08A4BD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 08A4DD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 08A4FD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 08A404C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 08A424C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 08A444C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 08A464C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 08A484C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 08A4A4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 08A4C4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 08A4E4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 08A414C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 08A434C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 08A454C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 08A474C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 08A494C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 08A4B4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 08A4D4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 08A4F4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 08A40CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 08A42CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 08A44CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c 08A46CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 08A48CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 08A4ACC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 08A4CCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c 08A4ECC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 08A41CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 08A43CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 08A45CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c 08A47CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 08A49CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 08A4BCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 08A4DCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c 08A4FCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0180 08A40C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0184 08A42C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0188 08A44C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 018c 08A46C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0190 08A48C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0194 08A4AC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0198 08A4CC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 019c 08A4EC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a0 08A41C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a4 08A43C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a8 08A45C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ac 08A47C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b0 08A49C06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b4 08A4BC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b8 08A4DC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01bc 08A4FC06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c0 08A40506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c4 08A42506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01c8 08A44506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01cc 08A46506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d0 08A48506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d4 08A4A506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01d8 08A4C506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01dc 08A4E506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e0 08A41506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e4 08A43506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01e8 08A45506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ec 08A47506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f0 08A49506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f4 08A4B506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01f8 08A4D506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01fc 08A4F506\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0200 08A40D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0204 08A42D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0208 08A44D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 020c 08A46D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0210 08A48D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0214 08A4AD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0218 08A4CD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 021c 08A4ED06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0220 08A41D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0224 08A43D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0228 08A45D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 022c 08A47D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0230 08A49D06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0234 08A4BD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0238 08A4DD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 023c 08A4FD06\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0240 08A404C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0244 08A424C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0248 08A444C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 024c 08A464C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0250 08A484C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0254 08A4A4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0258 08A4C4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 025c 08A4E4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0260 08A414C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0264 08A434C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0268 08A454C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 026c 08A474C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0270 08A494C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0274 08A4B4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0278 08A4D4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 027c 08A4F4C6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0280 08A40CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0284 08A42CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0288 08A44CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 028c 08A46CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0290 08A48CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0294 08A4ACC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0298 08A4CCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 029c 08A4ECC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02a0 08A41CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02a4 08A43CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02a8 08A45CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02ac 08A47CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02b0 08A49CC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02b4 08A4BCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02b8 08A4DCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 02bc 08A4FCC6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==176] then { pass $testname } else { fail $testname } |
} |
|
proc do_sub2 {} { |
set testname "sub2.s: sub2 tests" |
set x 0 |
|
gas_start "sub2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F426\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A40C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A42C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A44C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A46C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A48C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A4AC26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4CC26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4EC26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A41C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A43C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A45C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A47C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A49C26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4BC26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A4DC26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A4FC26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A40526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A42526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A44526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A46526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A48526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A4A526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A4C526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4E526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A41526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A43526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A45526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A47526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A49526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A4B526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4D526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4F526\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 08A40D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 08A42D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 08A44D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 08A46D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 08A48D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 08A4AD26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 08A4CD26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 08A4ED26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 08A41D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 08A43D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 08A45D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 08A47D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 08A49D26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 08A4BD26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 08A4DD26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 08A4FD26\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 08A404E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 08A424E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 08A444E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 08A464E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 08A484E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 08A4A4E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 08A4C4E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 08A4E4E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 08A414E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 08A434E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 08A454E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 08A474E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 08A494E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 08A4B4E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 08A4D4E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 08A4F4E6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 08A40CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 08A42CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 08A44CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c 08A46CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 08A48CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 08A4ACE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 08A4CCE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c 08A4ECE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 08A41CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 08A43CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 08A45CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c 08A47CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 08A49CE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 08A4BCE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 08A4DCE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c 08A4FCE6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==96] then { pass $testname } else { fail $testname } |
} |
|
proc do_ds {} { |
set testname "ds.s: ds tests" |
set x 0 |
|
gas_start "ds.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D446\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F446\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==16] then { pass $testname } else { fail $testname } |
} |
|
proc do_comclr {} { |
set testname "comclr.s: comclr tests" |
set x 0 |
|
gas_start "comclr.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A48886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4A886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A4C886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A4E886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A41886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A43886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A45886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A47886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A49886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A4B886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4D886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A4F886\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 90A600F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 90A620F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 90A640F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 90A660F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 90A680F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 90A6A0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 90A6C0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 90A6E0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 90A610F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 90A630F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 90A650F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 90A670F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 90A690F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 90A6B0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 90A6D0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 90A6F0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==32] then { pass $testname } else { fail $testname } |
} |
|
proc do_logical {} { |
set testname "logical.s: logical tests" |
set x 0 |
|
gas_start "logical.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A42246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A44246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A46246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A4E246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A41246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A43246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A45246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A47246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A4F246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A40286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A42286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A44286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A46286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A4E286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A41286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A43286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A45286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A47286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A4F286\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A40206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A42206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A44206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A46206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A4E206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A41206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A43206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A45206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A47206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4F206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A40006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A42006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A44006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A46006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A4E006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A41006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A43006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A45006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A47006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A4F006\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==40] then { pass $testname } else { fail $testname } |
} |
|
proc do_unit {} { |
set testname "unit.s: unit tests" |
set x 0 |
|
gas_start "unit.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A40386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A44386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A46386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A48386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A4C386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4E386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A41386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A45386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A47386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A49386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A4D386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A4F386\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A40986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A44986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A46986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A48986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A4C986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A4E986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A41986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A45986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A47986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A49986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4D986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4F986\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A409C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A449C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A469C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A489C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A4C9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4E9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A419C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A459C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A479C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A499C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A4D9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A4F9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 08A409C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 08A449C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 08A469C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 08A489C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 08A4C9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 08A4E9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 08A419C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 08A459C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 08A479C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 08A499C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 08A4D9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 08A4F9C6\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==48] then { pass $testname } else { fail $testname } |
} |
|
proc do_unit2 {} { |
set testname "unit2.s: unit2 tests" |
set x 0 |
|
gas_start "unit2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08A403A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08A443A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08A463A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08A483A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 08A4C3A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 08A4E3A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08A413A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08A453A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08A473A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08A493A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 08A4D3A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 08A4F3A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08A409A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08A449A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08A469A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08A489A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 08A4C9A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 08A4E9A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08A419A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08A459A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08A479A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08A499A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 08A4D9A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 08A4F9A6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08A409E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08A449E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08A469E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08A489E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 08A4C9E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 08A4E9E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08A419E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08A459E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08A479E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08A499E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 08A4D9E6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 08A4F9E6\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==36] then { pass $testname } else { fail $testname } |
} |
|
proc do_dcor {} { |
set testname "dcor.s: dcor tests" |
set x 0 |
|
gas_start "dcor.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08800B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08804B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08806B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08808B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 0880CB85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 0880EB85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08801B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08805B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08807B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08809B85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 0880DB85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 0880FB85\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08800BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08804BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08806BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08808BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 0880CBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 0880EBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08801BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08805BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08807BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08809BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 0880DBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 0880FBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 08800BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 08804BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 08806BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 08808BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 0880CBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 0880EBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 08801BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 08805BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 08807BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 08809BC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 0880DBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 0880FBC5\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==36] then { pass $testname } else { fail $testname } |
} |
|
proc do_dcor2 {} { |
set testname "dcor2.s: dcor2 tests" |
set x 0 |
|
gas_start "dcor2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08800BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 08804BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08806BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 08808BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 0880CBA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 0880EBA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 08801BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 08805BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 08807BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 08809BA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 0880DBA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 0880FBA5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 08800BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 08804BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 08806BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 08808BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 0880CBE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 0880EBE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 08801BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 08805BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 08807BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 08809BE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 0880DBE5\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 0880FBE5\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==24] then { pass $testname } else { fail $testname } |
} |
|
proc do_addi {} { |
set testname "addi.s: addi tests" |
set x 0 |
|
gas_start "addi.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 B4A600F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 B4A620F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 B4A640F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c B4A660F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 B4A680F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 B4A6A0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 B4A6C0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c B4A6E0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 B4A610F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 B4A630F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 B4A650F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c B4A670F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 B4A690F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 B4A6B0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 B4A6D0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c B4A6F0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 B4A608F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 B4A628F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 B4A648F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c B4A668F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 B4A688F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 B4A6A8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 B4A6C8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c B4A6E8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 B4A618F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 B4A638F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 B4A658F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c B4A678F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 B4A698F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 B4A6B8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 B4A6D8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c B4A6F8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 B0A600F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 B0A620F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 B0A640F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c B0A660F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 B0A680F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 B0A6A0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 B0A6C0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c B0A6E0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 B0A610F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 B0A630F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 B0A650F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac B0A670F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 B0A690F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 B0A6B0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 B0A6D0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc B0A6F0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 B0A608F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 B0A628F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 B0A648F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc B0A668F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 B0A688F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 B0A6A8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 B0A6C8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc B0A6E8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 B0A618F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 B0A638F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 B0A658F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec B0A678F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 B0A698F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 B0A6B8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 B0A6D8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc B0A6F8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 B4A608F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 B4A628F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 B4A648F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c B4A668F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 B4A688F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 B4A6A8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 B4A6C8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c B4A6E8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 B4A618F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 B4A638F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 B4A658F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c B4A678F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 B4A698F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 B4A6B8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 B4A6D8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c B4A6F8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 B0A600F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 B0A620F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 B0A640F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c B0A660F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 B0A680F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 B0A6A0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 B0A6C0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c B0A6E0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 B0A610F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 B0A630F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 B0A650F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c B0A670F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 B0A690F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 B0A6B0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 B0A6D0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c B0A6F0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0180 B0A608F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0184 B0A628F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0188 B0A648F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 018c B0A668F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0190 B0A688F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0194 B0A6A8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0198 B0A6C8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 019c B0A6E8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a0 B0A618F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a4 B0A638F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01a8 B0A658F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01ac B0A678F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b0 B0A698F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b4 B0A6B8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01b8 B0A6D8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 01bc B0A6F8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==112] then { pass $testname } else { fail $testname } |
} |
|
proc do_subi {} { |
set testname "subi.s: subi tests" |
set x 0 |
|
gas_start "subi.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 94A600F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 94A620F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 94A640F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 94A660F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 94A680F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 94A6A0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 94A6C0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 94A6E0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 94A610F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 94A630F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 94A650F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 94A670F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 94A690F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 94A6B0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 94A6D0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 94A6F0F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 94A608F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 94A628F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 94A648F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 94A668F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 94A688F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 94A6A8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 94A6C8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 94A6E8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 94A618F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 94A638F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 94A658F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 94A678F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 94A698F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 94A6B8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 94A6D8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 94A6F8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 94A608F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 94A628F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 94A648F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 94A668F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 94A688F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 94A6A8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 94A6C8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 94A6E8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 94A618F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 94A638F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 94A658F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 94A678F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 94A698F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 94A6B8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 94A6D8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 94A6F8F6\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==48] then { pass $testname } else { fail $testname } |
} |
|
proc do_shift {} { |
set testname "shift.s: shift tests" |
set x 0 |
|
gas_start "shift.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D0A40006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D0A42006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D0A44006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D0A46006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D0A48006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D0A4A006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D0A4C006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D0A4E006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D0A40B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D0A42B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D0A44B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D0A46B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D0A48B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D0A4AB46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D0A4CB46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D0A4EB46\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==16] then { pass $testname } else { fail $testname } |
} |
|
proc do_shift2 {} { |
set testname "shift2.s: shift tests" |
set x 0 |
|
gas_start "shift2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D0A40006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D0A42006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D0A44006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D0A46006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D0A48006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D0A4A006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D0A4C006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D0A4E006\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D0A40B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D0A42B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D0A44B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D0A46B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D0A48B46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D0A4AB46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D0A4CB46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D0A4EB46\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==16] then { pass $testname } else { fail $testname } |
} |
|
proc do_shift3 {} { |
set testname "shift3.s: shift3 tests" |
set x 0 |
|
gas_start "shift3.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D0A40206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D0A42206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D0A44206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D0A46206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D0A48206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D0A4A206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D0A4C206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D0A4E206\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D0A40F46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D0A42F46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D0A44F46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D0A46F46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D0A48F46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D0A4AF46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D0A4CF46\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D0A4EF46\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==16] then { pass $testname } else { fail $testname } |
} |
|
proc do_extract {} { |
set testname "extract.s: extract tests" |
set x 0 |
|
gas_start "extract.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D08618B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D08638B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D08658B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D08678B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D08698B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D086B8B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D086D8B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D086F8B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D0861CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D0863CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D0865CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D0867CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D0869CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D086BCB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D086DCB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D086FCB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 D086101B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 D086301B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 D086501B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c D086701B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 D086901B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 D086B01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 D086D01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c D086F01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 D086141B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 D086341B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 D086541B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c D086741B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 D086941B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 D086B41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 D086D41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c D086F41B\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==32] then { pass $testname } else { fail $testname } |
} |
|
proc do_extract2 {} { |
set testname "extract2.s: extract2 tests" |
set x 0 |
|
gas_start "extract2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D08618B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D08638B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D08658B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D08678B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D08698B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D086B8B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D086D8B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D086F8B6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D0861CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D0863CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D0865CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D0867CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D0869CB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D086BCB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D086DCB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D086FCB6\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 D086101B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 D086301B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 D086501B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c D086701B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 D086901B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 D086B01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 D086D01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c D086F01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 D086141B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 D086341B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 D086541B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c D086741B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 D086941B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 D086B41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 D086D41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c D086F41B\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==32] then { pass $testname } else { fail $testname } |
} |
|
proc do_extract3 {} { |
set testname "extract3.s: extract3 tests" |
set x 0 |
|
gas_start "extract3.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D886015B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D886215B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D886415B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D886615B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D886815B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D886A15B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D886C15B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D886E15B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D886055B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D886255B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D886455B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D886655B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D886855B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D886A55B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D886C55B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D886E55B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 D086121B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 D086321B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 D086521B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c D086721B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 D086921B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 D086B21B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 D086D21B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c D086F21B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 D086161B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 D086361B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 D086561B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c D086761B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 D086961B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 D086B61B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 D086D61B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c D086F61B\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==32] then { pass $testname } else { fail $testname } |
} |
|
proc do_deposit {} { |
set testname "deposit.s: deposit tests" |
set x 0 |
|
gas_start "deposit.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D4C40B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D4C42B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D4C44B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D4C46B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D4C48B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D4C4AB56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D4C4CB56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D4C4EB56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D4C40F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D4C42F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D4C44F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D4C46F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D4C48F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D4C4AF56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D4C4CF56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D4C4EF56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 D4C4001B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 D4C4201B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 D4C4401B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c D4C4601B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 D4C4801B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 D4C4A01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 D4C4C01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c D4C4E01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 D4C4041B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 D4C4241B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 D4C4441B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c D4C4641B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 D4C4841B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 D4C4A41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 D4C4C41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c D4C4E41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 D4DF141B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 D4DF341B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 D4DF541B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c D4DF741B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 D4DF941B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 D4DFB41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 D4DFD41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c D4DFF41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 D4DF101B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 D4DF301B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 D4DF501B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac D4DF701B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 D4DF901B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 D4DFB01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 D4DFD01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc D4DFF01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 D4DF1F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 D4DF3F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 D4DF5F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc D4DF7F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 D4DF9F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 D4DFBF76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 D4DFDF76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc D4DFFF76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 D4DF1B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 D4DF3B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 D4DF5B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec D4DF7B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 D4DF9B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 D4DFBB76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 D4DFDB76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc D4DFFB76\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==64] then { pass $testname } else { fail $testname } |
} |
|
proc do_deposit2 {} { |
set testname "deposit2.s: deposit2 tests" |
set x 0 |
|
gas_start "deposit2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 D4C40B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 D4C42B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 D4C44B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c D4C46B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 D4C48B56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 D4C4AB56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 D4C4CB56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c D4C4EB56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 D4C40F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 D4C42F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 D4C44F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c D4C46F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 D4C48F56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 D4C4AF56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 D4C4CF56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c D4C4EF56\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 D4C4001B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 D4C4201B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 D4C4401B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c D4C4601B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 D4C4801B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 D4C4A01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 D4C4C01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c D4C4E01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 D4C4041B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 D4C4241B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 D4C4441B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c D4C4641B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 D4C4841B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 D4C4A41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 D4C4C41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c D4C4E41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 D4DF141B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 D4DF341B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 D4DF541B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c D4DF741B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 D4DF941B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 D4DFB41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 D4DFD41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c D4DFF41B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 D4DF101B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 D4DF301B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 D4DF501B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac D4DF701B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 D4DF901B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 D4DFB01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 D4DFD01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc D4DFF01B\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 D4DF1F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 D4DF3F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 D4DF5F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc D4DF7F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 D4DF9F76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 D4DFBF76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 D4DFDF76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc D4DFFF76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 D4DF1B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 D4DF3B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 D4DF5B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec D4DF7B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 D4DF9B76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 D4DFBB76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 D4DFDB76\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc D4DFFB76\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==64] then { pass $testname } else { fail $testname } |
} |
|
proc do_deposit3 {} { |
set testname "deposit3.s: deposit3 tests" |
set x 0 |
|
gas_start "deposit3.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 F0C40ABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 F0C42ABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 F0C44ABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c F0C46ABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 F0C48ABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 F0C4AABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 F0C4CABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c F0C4EABB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 F0C40EBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 F0C42EBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 F0C44EBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c F0C46EBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 F0C48EBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 F0C4AEBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 F0C4CEBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c F0C4EEBB\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 D4C4021B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 D4C4221B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 D4C4421B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c D4C4621B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 D4C4821B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 D4C4A21B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 D4C4C21B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c D4C4E21B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 D4C4061B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 D4C4261B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 D4C4461B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c D4C4661B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 D4C4861B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 D4C4A61B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 D4C4C61B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c D4C4E61B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 D4DF161B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 D4DF361B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 D4DF561B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c D4DF761B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 D4DF961B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 D4DFB61B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 D4DFD61B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c D4DFF61B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 D4DF121B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 D4DF321B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 D4DF521B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac D4DF721B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 D4DF921B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 D4DFB21B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 D4DFD21B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc D4DFF21B\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 F4DF0EBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 F4DF2EBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 F4DF4EBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc F4DF6EBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 F4DF8EBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 F4DFAEBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 F4DFCEBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc F4DFEEBC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 F4DF0ABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 F4DF2ABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 F4DF4ABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec F4DF6ABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 F4DF8ABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 F4DFAABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 F4DFCABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc F4DFEABC\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==64] then { pass $testname } else { fail $testname } |
} |
|
proc do_system {} { |
set testname "system.s: system tests" |
set x 0 |
|
gas_start "system.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 00018005\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 00000C00\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 00000CA0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 00050D64\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 00050E64\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 00041860\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 00A010A4\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 00041820\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 01441840\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 000004A4\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 014008A4\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 00000400\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 00100400\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 140004D2\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 04A61187\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 04A13187\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 04A611C7\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 04A131C7\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 04A41346\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 04A41366\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 04A41306\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 04A41040\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 04A42040\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 04A41000\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 04A42000\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==25] then { pass $testname } else { fail $testname } |
} |
|
proc do_system2 {} { |
set testname "system2.s: system2 tests" |
set x 0 |
|
gas_start "system2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 00000C00\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 00000CA0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 039B0D64\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 039B0E64\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 016048A4\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 04A61187\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 04A13187\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 04A611C7\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 04A131C7\[^\n]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==9] then { pass $testname } else { fail $testname } |
} |
|
proc do_purge {} { |
set testname "purge.s: purge tests" |
set x 0 |
|
gas_start "purge.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 04A41200\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 04A41220\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 04A42200\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 04A42220\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 04A41240\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 04A41260\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 04A42240\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 04A42260\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 04A41380\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 04A413A0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 04A41280\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 04A412A0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 04A42280\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 04A422A0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 04A412C0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 04A412E0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 04A422C0\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 04A422E0\[^\n]*\n" { set x [expr $x+1] } |
|
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==18] then { pass $testname } else { fail $testname } |
} |
|
proc do_purge2 {} { |
set testname "purge2.s: purge2 tests" |
set x 0 |
|
gas_start "purge2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 04A41600\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 04A41620\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 04A42600\[^\n]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 04A42620\[^\n]*\n" { set x [expr $x+1] } |
|
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==4] then { pass $testname } else { fail $testname } |
} |
|
proc do_fp_misc {} { |
set testname "fp_misc.s: fp_misc tests" |
set x 0 |
|
gas_start "fp_misc.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 30002420\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
|
proc do_fmem {} { |
set testname "fmem.s: fmem tests" |
set x 0 |
|
gas_start "fmem.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 24A40006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 24A42006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 24A40026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 24A42026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 2CA40006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 2CA42006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 2CA40026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 2CA42026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 24A40206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 24A42206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 24A40226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 24A42226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 2CA40206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 2CA42206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 2CA40226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 2CA42226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 3CA40206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 3CA42206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 3CA40226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 3CA42226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 24A01006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 24A03026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 24A01026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 2CA01006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 2CA03026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 2CA01026\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 24A01206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 24A03226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 24A01226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 2CA01206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 2CA03226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 2CA01226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 3CA01206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 3CA03226\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 3CA01226\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==35] then { pass $testname } else { fail $testname } |
} |
|
proc do_fp_comp {} { |
set testname "fp_comp.s: fp_comp tests" |
set x 0 |
|
gas_start "fp_comp.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 30A0400A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 30A0480A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 30A0580A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 32804018\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 32804818\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 30A0600A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 30A0680A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 30A0780A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 32806018\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 32806818\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 30A0800A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 30A0880A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 30A0980A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 32808018\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 32808818\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 30A0A00A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 30A0A80A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 30A0B80A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 3280A018\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 3280A818\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 3088060C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 30880E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 30881E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 3298061C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 32980E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 32981E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 3088260C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 30882E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 30883E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 3298261C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 32982E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 32983E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 3088460C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 30884E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 30885E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 3298461C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 32984E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 32985E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 3088660C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 30886E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 30887E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 3298661C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 32986E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 32987E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 3088860C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 30888E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 30889E0C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 3298861C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 32988E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 32989E1C\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 180120E2\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 1A11A4D2\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 980120E2\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 9A11A4D2\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 38854706\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==55] then { pass $testname } else { fail $testname } |
} |
|
proc do_fp_comp2 {} { |
set testname "fp_comp2.s: fp_comp2 tests" |
set x 0 |
|
gas_start "fp_comp2.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 B8AA638E\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 B8AA6A0E\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 BA5B2595\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c BA5B2C15\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 B8AA63AE\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 B8AA6A2E\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 BA5B25B5\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c BA5B2C35\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 38A0C04A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 30A0C80A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 30A0D80A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 3A80C098\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 3280C818\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 38A0E04A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 30A0E80A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 30A0F80A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 3A80E098\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 3280E818\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==18] then { pass $testname } else { fail $testname } |
} |
|
proc do_fp_conv {} { |
set testname "fp_conv.s: fp_conv tests" |
set x 0 |
|
gas_start "fp_conv.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 30A0020A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 30A0220A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 30A0620A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 30A00A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 30A02A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 30A06A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 30A01A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 30A03A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 30A07A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 32800218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 32802218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 32806218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 32800A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 32802A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 32806A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 32801A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 32803A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 32807A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 30A0820A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 30A0A20A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 30A0E20A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 30A08A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 30A0AA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 30A0EA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 30A09A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 30A0BA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 30A0FA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 32808218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 3280A218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 3280E218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 32808A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 3280AA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 3280EA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 32809A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 3280BA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 3280FA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 30A1020A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 30A1220A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 30A1620A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 30A10A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 30A12A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 30A16A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 30A11A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 30A13A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 30A17A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 32810218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 32812218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 32816218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 32810A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 32812A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 32816A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 32811A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 32813A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 32817A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 30A1820A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 30A1A20A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 30A1E20A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 30A18A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 30A1AA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 30A1EA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 30A19A0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 30A1BA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 30A1FA0A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 32818218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 3281A218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 3281E218\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 32818A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 3281AA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 3281EA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 32819A18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 3281BA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 3281FA18\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==72] then { pass $testname } else { fail $testname } |
} |
|
proc do_fp_fcmp {} { |
set testname "fp_fcmp.s: fp_fcmp tests" |
set x 0 |
|
gas_start "fp_fcmp.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 30850400\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 30850401\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 30850402\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 30850403\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 30850404\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 30850405\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 30850406\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 30850407\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 30850408\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 30850409\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 3085040A\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 3085040B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 3085040C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 3085040D\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 3085040E\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 3085040F\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 30850410\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 30850411\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 30850412\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 30850413\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 30850414\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 30850415\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 30850416\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 30850417\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 30850418\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 30850419\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 3085041A\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 3085041B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 3085041C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 3085041D\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 3085041E\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 3085041F\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 30850C00\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 30850C01\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 30850C02\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 30850C03\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 30850C04\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 30850C05\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 30850C06\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 30850C07\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 30850C08\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 30850C09\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 30850C0A\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 30850C0B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 30850C0C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 30850C0D\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 30850C0E\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 30850C0F\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 30850C10\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 30850C11\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c8 30850C12\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00cc 30850C13\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d0 30850C14\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d4 30850C15\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00d8 30850C16\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00dc 30850C17\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e0 30850C18\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e4 30850C19\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00e8 30850C1A\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ec 30850C1B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f0 30850C1C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f4 30850C1D\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00f8 30850C1E\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00fc 30850C1F\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0100 30851C00\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0104 30851C01\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0108 30851C02\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 010c 30851C03\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0110 30851C04\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0114 30851C05\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0118 30851C06\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 011c 30851C07\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0120 30851C08\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0124 30851C09\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0128 30851C0A\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 012c 30851C0B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0130 30851C0C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0134 30851C0D\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0138 30851C0E\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 013c 30851C0F\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0140 30851C10\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0144 30851C11\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0148 30851C12\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 014c 30851C13\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0150 30851C14\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0154 30851C15\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0158 30851C16\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 015c 30851C17\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0160 30851C18\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0164 30851C19\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0168 30851C1A\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 016c 30851C1B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0170 30851C1C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0174 30851C1D\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0178 30851C1E\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 017c 30851C1F\[^\n\]*\n" {set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==96] then { pass $testname } else { fail $testname } |
} |
|
proc do_media {} { |
set testname "media.s: media tests" |
set x 0 |
|
gas_start "media.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 096703CC\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 0967034C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 0967030C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 096702CC\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 F8078B4B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 0967074C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 0967078C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 096707CC\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 F8E0CF4B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 F8E0CF4B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 F8E0CB4B\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 0967054C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 0967058C\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 096705CC\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 0ACE01C9\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 0ACE0149\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 0ACE0109\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 FACE8409\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 FACEC409\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c FACE8009\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 FACEC009\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 FAD60E49\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 FAD64A89\[^\n\]*\n" {set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c FAD66309\[^\n\]*\n" {set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==24] then { pass $testname } else { fail $testname } |
} |
|
proc do_special {} { |
set testname "special.s: special tests" |
set x 0 |
|
gas_start "special.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 04A41680\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 04A416A0\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 04A41A80\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 04A41AA0\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==4] then { pass $testname } else { fail $testname } |
} |
|
proc do_perf {} { |
set testname "perf.s: perf tests" |
set x 0 |
|
gas_start "perf.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
|
# The third one is questionable. HP as doesn't generate what the book |
# says. It outputs the nullify flag at 30 instead. |
|
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 30000680\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 30000280\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 300002A0\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==3] then { pass $testname } else { fail $testname } |
} |
|
proc do_spop {} { |
set testname "spop.s: spop tests" |
set x 0 |
|
# This tickles a bug in the expression parser. |
gas_start "spop.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 10000105\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 10001913\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 10000125\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 10001933\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 10002B05\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 10039B05\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 10002B25\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 10039B25\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 10A00505\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 10A01D13\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 10A00525\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 10A01D33\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 10C50705\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 10C51F13\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 10C50725\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 10C51F33\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==16] then { pass $testname } else { fail $testname } |
} |
|
proc do_copr {} { |
set testname "copr.s: copr tests" |
set x 0 |
|
gas_start "copr.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 30000105\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 30000713\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 30000125\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 30000733\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==4] then { pass $testname } else { fail $testname } |
} |
|
proc do_coprmem {} { |
set testname "coprmem.s: copr memory tests" |
set x 0 |
|
gas_start "coprmem.s" "-al" |
|
# Check the assembled instruction against a table built by the HP assembler |
# Any differences should be checked by hand -- with the number of problems |
# I've seen in the HP assembler I don't completely trust it. |
# |
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 2485011A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 2485211A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 2485013A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 2485213A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 2C85011A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 2C85211A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 2C85013A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 2C85213A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 2485031A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 2485231A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 2485033A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 2485233A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 2C85031A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 2C85231A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 2C85033A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 2C85233A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 2480111A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 2480313A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 2480113A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 2C80111A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 2C80313A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 2C80113A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 2480131A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 2480333A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 2480133A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 2C80131A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 2C80333A\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 2C80133A\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==28] then { pass $testname } else { fail $testname } |
} |
|
proc do_fmem_LR_tests {} { |
set testname "fmemLRbug.s: LR register selection on fp mem instructions" |
set x 0 |
|
gas_start "fmemLRbug.s" "-al" |
|
# Make sure we correctly handle field selectors. |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 27401246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 27481206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 27501206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 2F401206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0010 2F481206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 2F501206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0018 27401046\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 001c 27481006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0020 27501006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0024 2F401006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0028 2F481006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 002c 2F501006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0030 27401246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0034 27481206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0038 27501206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 003c 2F401206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0040 2F481206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0044 2F501206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0048 27401046\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 004c 27481006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0050 27501006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0054 2F401006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0058 2F481006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 005c 2F501006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0060 27590246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0064 27590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0068 27590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 006c 2F590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0070 2F590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0074 2F590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0078 27590046\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 007c 27590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0080 27590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0084 2F590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0088 2F590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 008c 2F590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0090 27590246\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0094 27590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0098 27590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 009c 2F590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a0 2F590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a4 2F590206\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00a8 27590046\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00ac 27590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b0 27590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b4 2F590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00b8 2F590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00bc 2F590006\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c0 E840C000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 00c4 08000240\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==50] then { pass $testname } else { fail $testname } |
} |
|
if [istarget hppa*-*-*] then { |
# Test the basic instruction parser. |
do_imem |
do_immed |
do_branch |
do_add |
do_add2 |
do_sh1add |
do_sh2add |
do_sh3add |
do_shladd |
do_shladd2 |
do_sub |
do_sub2 |
do_ds |
do_comclr |
do_logical |
do_unit |
do_unit2 |
do_dcor |
do_dcor2 |
do_addi |
do_subi |
do_shift |
do_shift2 |
do_shift3 |
do_extract |
do_extract2 |
do_extract3 |
do_deposit |
do_deposit2 |
do_deposit3 |
do_system |
do_system2 |
do_purge |
do_purge2 |
do_fp_misc |
do_fmem |
do_fp_comp |
do_fp_conv |
do_fp_fcmp |
do_special |
do_perf |
do_spop |
do_copr |
do_coprmem |
|
# The "weird.s" file from the gdb testsuite. Simply verify it |
# assembles. |
gas_test "weird.s" "" "" "stabs parsing" |
|
# Test that we correctly assemble some FP memory tests which |
# L/R register selects. (Regression test for a bug Tege found). |
do_fmem_LR_tests |
|
# PA2.0 tests |
do_fp_comp2 |
do_branch2 |
do_media |
} |
/basic/sub2.s
0,0 → 1,109
.LEVEL 2.0 |
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
sub,* %r4,%r5,%r6 |
sub,*= %r4,%r5,%r6 |
sub,*< %r4,%r5,%r6 |
sub,*<= %r4,%r5,%r6 |
sub,*<< %r4,%r5,%r6 |
sub,*<<= %r4,%r5,%r6 |
sub,*sv %r4,%r5,%r6 |
sub,*od %r4,%r5,%r6 |
sub,*tr %r4,%r5,%r6 |
sub,*<> %r4,%r5,%r6 |
sub,*>= %r4,%r5,%r6 |
sub,*> %r4,%r5,%r6 |
sub,*>>= %r4,%r5,%r6 |
sub,*>> %r4,%r5,%r6 |
sub,*nsv %r4,%r5,%r6 |
sub,*ev %r4,%r5,%r6 |
|
sub,tsv,* %r4,%r5,%r6 |
sub,tsv,*= %r4,%r5,%r6 |
sub,tsv,*< %r4,%r5,%r6 |
sub,tsv,*<= %r4,%r5,%r6 |
sub,tsv,*<< %r4,%r5,%r6 |
sub,tsv,*<<= %r4,%r5,%r6 |
sub,tsv,*sv %r4,%r5,%r6 |
sub,tsv,*od %r4,%r5,%r6 |
sub,tsv,*tr %r4,%r5,%r6 |
sub,tsv,*<> %r4,%r5,%r6 |
sub,tsv,*>= %r4,%r5,%r6 |
sub,tsv,*> %r4,%r5,%r6 |
sub,tsv,*>>= %r4,%r5,%r6 |
sub,tsv,*>> %r4,%r5,%r6 |
sub,tsv,*nsv %r4,%r5,%r6 |
sub,tsv,*ev %r4,%r5,%r6 |
|
sub,db,* %r4,%r5,%r6 |
sub,db,*= %r4,%r5,%r6 |
sub,db,*< %r4,%r5,%r6 |
sub,db,*<= %r4,%r5,%r6 |
sub,db,*<< %r4,%r5,%r6 |
sub,db,*<<= %r4,%r5,%r6 |
sub,db,*sv %r4,%r5,%r6 |
sub,db,*od %r4,%r5,%r6 |
sub,db,*tr %r4,%r5,%r6 |
sub,db,*<> %r4,%r5,%r6 |
sub,db,*>= %r4,%r5,%r6 |
sub,db,*> %r4,%r5,%r6 |
sub,db,*>>= %r4,%r5,%r6 |
sub,db,*>> %r4,%r5,%r6 |
sub,db,*nsv %r4,%r5,%r6 |
sub,db,*ev %r4,%r5,%r6 |
|
sub,db,tsv,* %r4,%r5,%r6 |
sub,db,tsv,*= %r4,%r5,%r6 |
sub,db,tsv,*< %r4,%r5,%r6 |
sub,db,tsv,*<= %r4,%r5,%r6 |
sub,db,tsv,*<< %r4,%r5,%r6 |
sub,db,tsv,*<<= %r4,%r5,%r6 |
sub,db,tsv,*sv %r4,%r5,%r6 |
sub,db,tsv,*od %r4,%r5,%r6 |
sub,tsv,db,*tr %r4,%r5,%r6 |
sub,tsv,db,*<> %r4,%r5,%r6 |
sub,tsv,db,*>= %r4,%r5,%r6 |
sub,tsv,db,*> %r4,%r5,%r6 |
sub,tsv,db,*>>= %r4,%r5,%r6 |
sub,tsv,db,*>> %r4,%r5,%r6 |
sub,tsv,db,*nsv %r4,%r5,%r6 |
sub,tsv,db,*ev %r4,%r5,%r6 |
|
sub,tc,* %r4,%r5,%r6 |
sub,tc,*= %r4,%r5,%r6 |
sub,tc,*< %r4,%r5,%r6 |
sub,tc,*<= %r4,%r5,%r6 |
sub,tc,*<< %r4,%r5,%r6 |
sub,tc,*<<= %r4,%r5,%r6 |
sub,tc,*sv %r4,%r5,%r6 |
sub,tc,*od %r4,%r5,%r6 |
sub,tc,*tr %r4,%r5,%r6 |
sub,tc,*<> %r4,%r5,%r6 |
sub,tc,*>= %r4,%r5,%r6 |
sub,tc,*> %r4,%r5,%r6 |
sub,tc,*>>= %r4,%r5,%r6 |
sub,tc,*>> %r4,%r5,%r6 |
sub,tc,*nsv %r4,%r5,%r6 |
sub,tc,*ev %r4,%r5,%r6 |
|
sub,tc,tsv,* %r4,%r5,%r6 |
sub,tc,tsv,*= %r4,%r5,%r6 |
sub,tc,tsv,*< %r4,%r5,%r6 |
sub,tc,tsv,*<= %r4,%r5,%r6 |
sub,tc,tsv,*<< %r4,%r5,%r6 |
sub,tc,tsv,*<<= %r4,%r5,%r6 |
sub,tc,tsv,*sv %r4,%r5,%r6 |
sub,tc,tsv,*od %r4,%r5,%r6 |
sub,tsv,tc,*tr %r4,%r5,%r6 |
sub,tsv,tc,*<> %r4,%r5,%r6 |
sub,tsv,tc,*>= %r4,%r5,%r6 |
sub,tsv,tc,*> %r4,%r5,%r6 |
sub,tsv,tc,*>>= %r4,%r5,%r6 |
sub,tsv,tc,*>> %r4,%r5,%r6 |
sub,tsv,tc,*nsv %r4,%r5,%r6 |
sub,tsv,tc,*ev %r4,%r5,%r6 |
/basic/shift.s
0,0 → 1,25
.code |
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
vshd %r4,%r5,%r6 |
vshd,= %r4,%r5,%r6 |
vshd,< %r4,%r5,%r6 |
vshd,od %r4,%r5,%r6 |
vshd,tr %r4,%r5,%r6 |
vshd,<> %r4,%r5,%r6 |
vshd,>= %r4,%r5,%r6 |
vshd,ev %r4,%r5,%r6 |
|
shd %r4,%r5,5,%r6 |
shd,= %r4,%r5,5,%r6 |
shd,< %r4,%r5,5,%r6 |
shd,od %r4,%r5,5,%r6 |
shd,tr %r4,%r5,5,%r6 |
shd,<> %r4,%r5,5,%r6 |
shd,>= %r4,%r5,5,%r6 |
shd,ev %r4,%r5,5,%r6 |
|
/unsorted/globalbug.s
0,0 → 1,16
|
.space $PRIVATE$ |
.subspa $GLOBAL$ |
.export $global$ |
$global$ |
.space $TEXT$ |
.subspa $CODE$ |
|
.proc |
.callinfo |
ivaaddr |
nop |
nop |
addil L%ivaaddr-$global$,%dp |
ldo R%ivaaddr-$global$(%r1),%r19 |
.procend |
/unsorted/align4.s
0,0 → 1,4
.space $TEXT$ |
.subspa $YABBA$ |
.subspa $MILLICODE$ |
.align 64 |
/unsorted/ss_align.s
0,0 → 1,12
.SPACE $PRIVATE$ |
.SUBSPA $DATA$,QUAD=1,ALIGN=64,ACCESS=31 |
.SPACE $TEXT$ |
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44 |
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY |
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
.SPACE $PRIVATE$ |
.SUBSPA $DATA$ |
sym1: .WORD 2 |
|
/unsorted/brlenbug.s
0,0 → 1,3488
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
.data |
|
.align 4 |
done___2 |
.word 0 |
.IMPORT memset,CODE |
.EXPORT re_syntax_options,DATA |
.align 4 |
re_syntax_options |
.word 0 |
|
.align 4 |
re_error_msg |
.word 0 |
.word L$C0000 |
.word L$C0001 |
.word L$C0002 |
.word L$C0003 |
.word L$C0004 |
.word L$C0005 |
.word L$C0006 |
.word L$C0007 |
.word L$C0008 |
.word L$C0009 |
.word L$C0010 |
.word L$C0011 |
.word L$C0012 |
.word L$C0013 |
.word L$C0014 |
.word L$C0015 |
.code |
|
.align 4 |
L$C0015 |
.STRING "Unmatched ) or \\)\x00" |
.align 4 |
L$C0014 |
.STRING "Regular expression too big\x00" |
.align 4 |
L$C0013 |
.STRING "Premature end of regular expression\x00" |
.align 4 |
L$C0012 |
.STRING "Invalid preceding regular expression\x00" |
.align 4 |
L$C0011 |
.STRING "Memory exhausted\x00" |
.align 4 |
L$C0010 |
.STRING "Invalid range end\x00" |
.align 4 |
L$C0009 |
.STRING "Invalid content of \\{\\}\x00" |
.align 4 |
L$C0008 |
.STRING "Unmatched \\{\x00" |
.align 4 |
L$C0007 |
.STRING "Unmatched ( or \\(\x00" |
.align 4 |
L$C0006 |
.STRING "Unmatched [ or [^\x00" |
.align 4 |
L$C0005 |
.STRING "Invalid back reference\x00" |
.align 4 |
L$C0004 |
.STRING "Trailing backslash\x00" |
.align 4 |
L$C0003 |
.STRING "Invalid character class name\x00" |
.align 4 |
L$C0002 |
.STRING "Invalid collation character\x00" |
.align 4 |
L$C0001 |
.STRING "Invalid regular expression\x00" |
.align 4 |
L$C0000 |
.STRING "No match\x00" |
.EXPORT re_max_failures,DATA |
.data |
|
.align 4 |
re_max_failures |
.word 2000 |
.IMPORT malloc,CODE |
.IMPORT realloc,CODE |
.IMPORT free,CODE |
.IMPORT strcmp,CODE |
.code |
|
.align 4 |
L$C0016 |
.STRING "alnum\x00" |
.align 4 |
L$C0017 |
.STRING "alpha\x00" |
.align 4 |
L$C0018 |
.STRING "blank\x00" |
.align 4 |
L$C0019 |
.STRING "cntrl\x00" |
.align 4 |
L$C0020 |
.STRING "digit\x00" |
.align 4 |
L$C0021 |
.STRING "graph\x00" |
.align 4 |
L$C0022 |
.STRING "lower\x00" |
.align 4 |
L$C0023 |
.STRING "print\x00" |
.align 4 |
L$C0024 |
.STRING "punct\x00" |
.align 4 |
L$C0025 |
.STRING "space\x00" |
.align 4 |
L$C0026 |
.STRING "upper\x00" |
.align 4 |
L$C0027 |
.STRING "xdigit\x00" |
.IMPORT __alnum,DATA |
.IMPORT __ctype2,DATA |
.IMPORT __ctype,DATA |
.IMPORT at_begline_loc_p,CODE |
.IMPORT at_endline_loc_p,CODE |
.IMPORT store_op1,CODE |
.IMPORT insert_op1,CODE |
.IMPORT store_op2,CODE |
.IMPORT insert_op2,CODE |
.IMPORT compile_range,CODE |
.IMPORT group_in_compile_stack,CODE |
.code |
|
.align 4 |
regex_compile |
.PROC |
.CALLINFO FRAME=320,CALLS,SAVE_RP,ENTRY_GR=18 |
.ENTRY |
stw %r2,-20(%r30) ;# 8989 reload_outsi+2/6 |
ldo 320(%r30),%r30 ;# 8991 addsi3/2 |
stw %r18,-168(%r30) ;# 8993 reload_outsi+2/6 |
stw %r17,-164(%r30) ;# 8995 reload_outsi+2/6 |
stw %r16,-160(%r30) ;# 8997 reload_outsi+2/6 |
stw %r15,-156(%r30) ;# 8999 reload_outsi+2/6 |
stw %r14,-152(%r30) ;# 9001 reload_outsi+2/6 |
stw %r13,-148(%r30) ;# 9003 reload_outsi+2/6 |
stw %r12,-144(%r30) ;# 9005 reload_outsi+2/6 |
stw %r11,-140(%r30) ;# 9007 reload_outsi+2/6 |
stw %r10,-136(%r30) ;# 9009 reload_outsi+2/6 |
stw %r9,-132(%r30) ;# 9011 reload_outsi+2/6 |
stw %r8,-128(%r30) ;# 9013 reload_outsi+2/6 |
stw %r7,-124(%r30) ;# 9015 reload_outsi+2/6 |
stw %r6,-120(%r30) ;# 9017 reload_outsi+2/6 |
stw %r5,-116(%r30) ;# 9019 reload_outsi+2/6 |
stw %r4,-112(%r30) ;# 9021 reload_outsi+2/6 |
stw %r3,-108(%r30) ;# 9023 reload_outsi+2/6 |
stw %r26,-276(%r30) ;# 4 reload_outsi+2/6 |
ldi 0,%r9 ;# 25 reload_outsi+2/2 |
ldi 0,%r8 ;# 28 reload_outsi+2/2 |
stw %r0,-260(%r30) ;# 34 reload_outsi+2/6 |
ldi 0,%r10 ;# 31 reload_outsi+2/2 |
ldi 640,%r26 ;# 37 reload_outsi+2/2 |
ldw -276(%r30),%r1 ;# 8774 reload_outsi+2/5 |
copy %r24,%r15 ;# 8 reload_outsi+2/1 |
stw %r1,-296(%r30) ;# 2325 reload_outsi+2/6 |
copy %r23,%r5 ;# 10 reload_outsi+2/1 |
addl %r1,%r25,%r16 ;# 19 addsi3/1 |
.CALL ARGW0=GR |
bl malloc,%r2 ;# 39 call_value_internal_symref |
ldw 20(%r5),%r14 ;# 22 reload_outsi+2/5 |
comib,<> 0,%r28,L$0021 ;# 48 bleu+1 |
stw %r28,-312(%r30) ;# 43 reload_outsi+2/6 |
L$0953 |
bl L$0867,%r0 ;# 53 jump |
ldi 12,%r28 ;# 51 reload_outsi+2/2 |
L$0021 |
ldi 32,%r19 ;# 58 reload_outsi+2/2 |
stw %r19,-308(%r30) ;# 59 reload_outsi+2/6 |
stw %r0,-304(%r30) ;# 62 reload_outsi+2/6 |
stw %r15,12(%r5) ;# 65 reload_outsi+2/6 |
stw %r0,8(%r5) ;# 85 reload_outsi+2/6 |
stw %r0,24(%r5) ;# 88 reload_outsi+2/6 |
addil LR'done___2-$global$,%r27 ;# 92 pic2_lo_sum+1 |
ldw 28(%r5),%r19 ;# 68 reload_outsi+2/5 |
ldw RR'done___2-$global$(%r1),%r20 ;# 94 reload_outsi+2/5 |
depi 0,3,1,%r19 ;# 69 andsi3/2 |
depi 0,6,2,%r19 ;# 80 andsi3/2 |
comib,<> 0,%r20,L$0022 ;# 95 bleu+1 |
stw %r19,28(%r5) ;# 82 reload_outsi+2/6 |
addil LR're_syntax_table-$global$,%r27 ;# 99 pic2_lo_sum+1 |
ldo RR're_syntax_table-$global$(%r1),%r4 ;# 100 movhi-2 |
copy %r4,%r26 ;# 101 reload_outsi+2/1 |
ldi 0,%r25 ;# 102 reload_outsi+2/2 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 ;# 104 call_value_internal_symref |
ldi 256,%r24 ;# 103 reload_outsi+2/2 |
ldi 1,%r20 ;# 8732 movqi+1/2 |
ldo 97(%r4),%r19 ;# 8736 addsi3/2 |
ldo 122(%r4),%r4 ;# 8738 addsi3/2 |
stbs,ma %r20,1(%r19) ;# 115 movqi+1/6 |
L$1155 |
comb,>=,n %r4,%r19,L$1155 ;# 121 bleu+1 |
stbs,ma %r20,1(%r19) ;# 115 movqi+1/6 |
ldi 1,%r21 ;# 8717 movqi+1/2 |
addil LR're_syntax_table-$global$,%r27 ;# 8712 pic2_lo_sum+1 |
ldo RR're_syntax_table-$global$(%r1),%r19 ;# 8715 movhi-2 |
ldo 65(%r19),%r20 ;# 8721 addsi3/2 |
ldo 90(%r19),%r19 ;# 8723 addsi3/2 |
stbs,ma %r21,1(%r20) ;# 138 movqi+1/6 |
L$1156 |
comb,>=,n %r19,%r20,L$1156 ;# 144 bleu+1 |
stbs,ma %r21,1(%r20) ;# 138 movqi+1/6 |
ldi 48,%r20 ;# 151 reload_outsi+2/2 |
ldi 57,%r22 ;# 7976 reload_outsi+2/2 |
ldi 1,%r21 ;# 8707 movqi+1/2 |
addil LR're_syntax_table-$global$+48,%r27 ;# 8705 pic2_lo_sum+1 |
ldo RR're_syntax_table-$global$+48(%r1),%r19 ;# 8711 movhi-2 |
L$0037 |
ldo 1(%r20),%r20 ;# 164 addsi3/2 |
comb,>= %r22,%r20,L$0037 ;# 167 bleu+1 |
stbs,ma %r21,1(%r19) ;# 161 movqi+1/6 |
addil LR're_syntax_table-$global$,%r27 ;# 174 pic2_lo_sum+1 |
ldo RR're_syntax_table-$global$(%r1),%r19 ;# 175 movhi-2 |
ldi 1,%r20 ;# 176 movqi+1/2 |
stb %r20,95(%r19) ;# 177 movqi+1/6 |
addil LR'done___2-$global$,%r27 ;# 178 pic2_lo_sum+1 |
ldi 1,%r19 ;# 180 reload_outsi+2/2 |
stw %r19,RR'done___2-$global$(%r1) ;# 181 reload_outsi+2/6 |
L$0022 |
ldw 4(%r5),%r19 ;# 187 reload_outsi+2/5 |
comib,<>,n 0,%r19,L$0039 ;# 189 bleu+1 |
ldw 0(%r5),%r26 ;# 193 reload_outsi+2/5 |
comib,=,n 0,%r26,L$0040 ;# 195 bleu+1 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 205 call_value_internal_symref |
ldi 32,%r25 ;# 203 reload_outsi+2/2 |
bl L$1157,%r0 ;# 211 jump |
stw %r28,0(%r5) ;# 223 reload_outsi+2/6 |
L$0040 |
.CALL ARGW0=GR |
bl malloc,%r2 ;# 219 call_value_internal_symref |
ldi 32,%r26 ;# 217 reload_outsi+2/2 |
stw %r28,0(%r5) ;# 223 reload_outsi+2/6 |
L$1157 |
ldw 0(%r5),%r19 ;# 228 reload_outsi+2/5 |
comib,<> 0,%r19,L$0042 ;# 230 bleu+1 |
ldi 32,%r19 ;# 243 reload_outsi+2/2 |
.CALL ARGW0=GR |
bl free,%r2 ;# 234 call_internal_symref |
ldw -312(%r30),%r26 ;# 232 reload_outsi+2/5 |
bl L$0867,%r0 ;# 238 jump |
ldi 12,%r28 ;# 51 reload_outsi+2/2 |
L$0042 |
stw %r19,4(%r5) ;# 244 reload_outsi+2/6 |
L$0039 |
ldw 0(%r5),%r6 ;# 249 reload_outsi+2/5 |
ldw -296(%r30),%r19 ;# 7981 reload_outsi+2/5 |
comclr,<> %r16,%r19,%r0 ;# 7982 bleu+1 |
bl L$0044,%r0 |
copy %r6,%r12 ;# 253 reload_outsi+2/1 |
ldw -296(%r30),%r19 ;# 2334 reload_outsi+2/5 |
L$1178 |
ldbs,ma 1(%r19),%r7 ;# 277 zero_extendqisi2/2 |
comib,= 0,%r14,L$0047 ;# 282 bleu+1 |
stw %r19,-296(%r30) ;# 2337 reload_outsi+2/6 |
addl %r14,%r7,%r19 ;# 283 addsi3/1 |
ldb 0(%r19),%r7 ;# 286 zero_extendqisi2/2 |
L$0047 |
ldo -10(%r7),%r19 ;# 7895 addsi3/2 |
addi,uv -115,%r19,%r0 ;# 7896 casesi0 |
blr,n %r19,%r0 |
b,n L$0076 |
L$0863 |
bl L$0376,%r0 |
nop ;# 9092 switch_jump |
L$0954 |
bl L$0076,%r0 |
nop ;# 9095 switch_jump |
L$0955 |
bl L$0076,%r0 |
nop ;# 9098 switch_jump |
L$0956 |
bl L$0076,%r0 |
nop ;# 9101 switch_jump |
L$0957 |
bl L$0076,%r0 |
nop ;# 9104 switch_jump |
L$0958 |
bl L$0076,%r0 |
nop ;# 9107 switch_jump |
L$0959 |
bl L$0076,%r0 |
nop ;# 9110 switch_jump |
L$0960 |
bl L$0076,%r0 |
nop ;# 9113 switch_jump |
L$0961 |
bl L$0076,%r0 |
nop ;# 9116 switch_jump |
L$0962 |
bl L$0076,%r0 |
nop ;# 9119 switch_jump |
L$0963 |
bl L$0076,%r0 |
nop ;# 9122 switch_jump |
L$0964 |
bl L$0076,%r0 |
nop ;# 9125 switch_jump |
L$0965 |
bl L$0076,%r0 |
nop ;# 9128 switch_jump |
L$0966 |
bl L$0076,%r0 |
nop ;# 9131 switch_jump |
L$0967 |
bl L$0076,%r0 |
nop ;# 9134 switch_jump |
L$0968 |
bl L$0076,%r0 |
nop ;# 9137 switch_jump |
L$0969 |
bl L$0076,%r0 |
nop ;# 9140 switch_jump |
L$0970 |
bl L$0076,%r0 |
nop ;# 9143 switch_jump |
L$0971 |
bl L$0076,%r0 |
nop ;# 9146 switch_jump |
L$0972 |
bl L$0076,%r0 |
nop ;# 9149 switch_jump |
L$0973 |
bl L$0076,%r0 |
nop ;# 9152 switch_jump |
L$0974 |
bl L$0076,%r0 |
nop ;# 9155 switch_jump |
L$0975 |
bl L$0076,%r0 |
nop ;# 9158 switch_jump |
L$0976 |
bl L$0076,%r0 |
nop ;# 9161 switch_jump |
L$0977 |
bl L$0076,%r0 |
nop ;# 9164 switch_jump |
L$0978 |
bl L$0076,%r0 |
nop ;# 9167 switch_jump |
L$0979 |
bl L$0077,%r0 ;# 9170 switch_jump |
ldw -296(%r30),%r26 ;# 2349 reload_outsi+2/5 |
L$0980 |
bl L$0076,%r0 |
nop ;# 9173 switch_jump |
L$0981 |
bl L$0076,%r0 |
nop ;# 9176 switch_jump |
L$0982 |
bl L$0076,%r0 |
nop ;# 9179 switch_jump |
L$0983 |
bl L$0368,%r0 |
nop ;# 9182 switch_jump |
L$0984 |
bl L$0372,%r0 |
nop ;# 9185 switch_jump |
L$0985 |
bl L$0104,%r0 |
nop ;# 9188 switch_jump |
L$0986 |
bl L$1158,%r0 ;# 9191 switch_jump |
ldi 1026,%r19 ;# 662 reload_outsi+2/2 |
L$0987 |
bl L$0076,%r0 |
nop ;# 9194 switch_jump |
L$0988 |
bl L$0076,%r0 |
nop ;# 9197 switch_jump |
L$0989 |
bl L$0196,%r0 ;# 9200 switch_jump |
ldw 0(%r5),%r4 ;# 8027 reload_outsi+2/5 |
L$0990 |
bl L$0076,%r0 |
nop ;# 9203 switch_jump |
L$0991 |
bl L$0076,%r0 |
nop ;# 9206 switch_jump |
L$0992 |
bl L$0076,%r0 |
nop ;# 9209 switch_jump |
L$0993 |
bl L$0076,%r0 |
nop ;# 9212 switch_jump |
L$0994 |
bl L$0076,%r0 |
nop ;# 9215 switch_jump |
L$0995 |
bl L$0076,%r0 |
nop ;# 9218 switch_jump |
L$0996 |
bl L$0076,%r0 |
nop ;# 9221 switch_jump |
L$0997 |
bl L$0076,%r0 |
nop ;# 9224 switch_jump |
L$0998 |
bl L$0076,%r0 |
nop ;# 9227 switch_jump |
L$0999 |
bl L$0076,%r0 |
nop ;# 9230 switch_jump |
L$1000 |
bl L$0076,%r0 |
nop ;# 9233 switch_jump |
L$1001 |
bl L$0076,%r0 |
nop ;# 9236 switch_jump |
L$1002 |
bl L$0076,%r0 |
nop ;# 9239 switch_jump |
L$1003 |
bl L$0076,%r0 |
nop ;# 9242 switch_jump |
L$1004 |
bl L$0076,%r0 |
nop ;# 9245 switch_jump |
L$1005 |
bl L$0076,%r0 |
nop ;# 9248 switch_jump |
L$1006 |
bl L$0101,%r0 ;# 9251 switch_jump |
ldi 1026,%r19 ;# 662 reload_outsi+2/2 |
L$1007 |
bl L$0076,%r0 |
nop ;# 9254 switch_jump |
L$1008 |
bl L$0076,%r0 |
nop ;# 9257 switch_jump |
L$1009 |
bl L$0076,%r0 |
nop ;# 9260 switch_jump |
L$1010 |
bl L$0076,%r0 |
nop ;# 9263 switch_jump |
L$1011 |
bl L$0076,%r0 |
nop ;# 9266 switch_jump |
L$1012 |
bl L$0076,%r0 |
nop ;# 9269 switch_jump |
L$1013 |
bl L$0076,%r0 |
nop ;# 9272 switch_jump |
L$1014 |
bl L$0076,%r0 |
nop ;# 9275 switch_jump |
L$1015 |
bl L$0076,%r0 |
nop ;# 9278 switch_jump |
L$1016 |
bl L$0076,%r0 |
nop ;# 9281 switch_jump |
L$1017 |
bl L$0076,%r0 |
nop ;# 9284 switch_jump |
L$1018 |
bl L$0076,%r0 |
nop ;# 9287 switch_jump |
L$1019 |
bl L$0076,%r0 |
nop ;# 9290 switch_jump |
L$1020 |
bl L$0076,%r0 |
nop ;# 9293 switch_jump |
L$1021 |
bl L$0076,%r0 |
nop ;# 9296 switch_jump |
L$1022 |
bl L$0076,%r0 |
nop ;# 9299 switch_jump |
L$1023 |
bl L$0076,%r0 |
nop ;# 9302 switch_jump |
L$1024 |
bl L$0076,%r0 |
nop ;# 9305 switch_jump |
L$1025 |
bl L$0076,%r0 |
nop ;# 9308 switch_jump |
L$1026 |
bl L$0076,%r0 |
nop ;# 9311 switch_jump |
L$1027 |
bl L$0076,%r0 |
nop ;# 9314 switch_jump |
L$1028 |
bl L$0076,%r0 |
nop ;# 9317 switch_jump |
L$1029 |
bl L$0076,%r0 |
nop ;# 9320 switch_jump |
L$1030 |
bl L$0076,%r0 |
nop ;# 9323 switch_jump |
L$1031 |
bl L$0076,%r0 |
nop ;# 9326 switch_jump |
L$1032 |
bl L$0076,%r0 |
nop ;# 9329 switch_jump |
L$1033 |
bl L$0076,%r0 |
nop ;# 9332 switch_jump |
L$1034 |
bl L$0216,%r0 ;# 9335 switch_jump |
ldw -296(%r30),%r19 ;# 2418 reload_outsi+2/5 |
L$1035 |
bl L$0387,%r0 ;# 9338 switch_jump |
ldw -296(%r30),%r19 ;# 3797 reload_outsi+2/5 |
L$1036 |
bl L$0076,%r0 |
nop ;# 9341 switch_jump |
L$1037 |
bl L$0053,%r0 ;# 9344 switch_jump |
ldw -276(%r30),%r1 ;# 8777 reload_outsi+2/5 |
L$1038 |
bl L$0076,%r0 |
nop ;# 9347 switch_jump |
L$1039 |
bl L$0076,%r0 |
nop ;# 9350 switch_jump |
L$1040 |
bl L$0076,%r0 |
nop ;# 9353 switch_jump |
L$1041 |
bl L$0076,%r0 |
nop ;# 9356 switch_jump |
L$1042 |
bl L$0076,%r0 |
nop ;# 9359 switch_jump |
L$1043 |
bl L$0076,%r0 |
nop ;# 9362 switch_jump |
L$1044 |
bl L$0076,%r0 |
nop ;# 9365 switch_jump |
L$1045 |
bl L$0076,%r0 |
nop ;# 9368 switch_jump |
L$1046 |
bl L$0076,%r0 |
nop ;# 9371 switch_jump |
L$1047 |
bl L$0076,%r0 |
nop ;# 9374 switch_jump |
L$1048 |
bl L$0076,%r0 |
nop ;# 9377 switch_jump |
L$1049 |
bl L$0076,%r0 |
nop ;# 9380 switch_jump |
L$1050 |
bl L$0076,%r0 |
nop ;# 9383 switch_jump |
L$1051 |
bl L$0076,%r0 |
nop ;# 9386 switch_jump |
L$1052 |
bl L$0076,%r0 |
nop ;# 9389 switch_jump |
L$1053 |
bl L$0076,%r0 |
nop ;# 9392 switch_jump |
L$1054 |
bl L$0076,%r0 |
nop ;# 9395 switch_jump |
L$1055 |
bl L$0076,%r0 |
nop ;# 9398 switch_jump |
L$1056 |
bl L$0076,%r0 |
nop ;# 9401 switch_jump |
L$1057 |
bl L$0076,%r0 |
nop ;# 9404 switch_jump |
L$1058 |
bl L$0076,%r0 |
nop ;# 9407 switch_jump |
L$1059 |
bl L$0076,%r0 |
nop ;# 9410 switch_jump |
L$1060 |
bl L$0076,%r0 |
nop ;# 9413 switch_jump |
L$1061 |
bl L$0076,%r0 |
nop ;# 9416 switch_jump |
L$1062 |
bl L$0076,%r0 |
nop ;# 9419 switch_jump |
L$1063 |
bl L$0076,%r0 |
nop ;# 9422 switch_jump |
L$1064 |
bl L$0076,%r0 |
nop ;# 9425 switch_jump |
L$1065 |
bl L$0076,%r0 |
nop ;# 9428 switch_jump |
L$1066 |
bl L$0383,%r0 ;# 9431 switch_jump |
ldi 4608,%r20 ;# 3778 reload_outsi+2/2 |
L$1067 |
bl L$0380,%r0 |
nop ;# 9434 switch_jump |
L$1068 |
bl,n L$0076,%r0 ;# 7899 jump |
L$0053 |
ldw -296(%r30),%r25 ;# 2343 reload_outsi+2/5 |
ldo 1(%r1),%r19 ;# 306 addsi3/2 |
comb,=,n %r19,%r25,L$0055 ;# 308 bleu+1 |
bb,< %r15,28,L$0055 ;# 313 bleu+3 |
ldw -276(%r30),%r26 ;# 315 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl at_begline_loc_p,%r2 ;# 321 call_value_internal_symref |
copy %r15,%r24 ;# 319 reload_outsi+2/1 |
extrs %r28,31,8,%r28 ;# 324 extendqisi2 |
comiclr,<> 0,%r28,%r0 ;# 326 bleu+1 |
bl,n L$0076,%r0 |
L$0055 |
ldw 0(%r5),%r4 ;# 7986 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 7989 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 7987 subsi3/1 |
ldo 1(%r19),%r19 ;# 7988 addsi3/2 |
comb,>>=,n %r20,%r19,L$0060 ;# 7990 bleu+1 |
ldil L'65536,%r3 ;# 8701 reload_outsi+2/3 |
L$0061 |
comclr,<> %r3,%r20,%r0 ;# 357 bleu+1 |
bl L$0944,%r0 |
zdep %r20,30,31,%r19 ;# 367 ashlsi3+1 |
comb,>>= %r3,%r19,L$0066 ;# 375 bleu+1 |
stw %r19,4(%r5) ;# 369 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 378 reload_outsi+2/6 |
L$0066 |
ldw 0(%r5),%r26 ;# 385 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 389 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 387 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 397 bleu+1 |
stw %r28,0(%r5) ;# 393 reload_outsi+2/6 |
comb,= %r28,%r4,L$0059 ;# 407 bleu+1 |
sub %r6,%r4,%r19 ;# 409 subsi3/1 |
addl %r28,%r19,%r6 ;# 412 addsi3/1 |
sub %r12,%r4,%r19 ;# 413 subsi3/1 |
comib,= 0,%r10,L$0069 ;# 418 bleu+1 |
addl %r28,%r19,%r12 ;# 416 addsi3/1 |
sub %r10,%r4,%r19 ;# 419 subsi3/1 |
addl %r28,%r19,%r10 ;# 422 addsi3/1 |
L$0069 |
comib,= 0,%r8,L$0070 ;# 425 bleu+1 |
sub %r8,%r4,%r19 ;# 426 subsi3/1 |
addl %r28,%r19,%r8 ;# 429 addsi3/1 |
L$0070 |
comib,= 0,%r9,L$0059 ;# 432 bleu+1 |
sub %r9,%r4,%r19 ;# 433 subsi3/1 |
addl %r28,%r19,%r9 ;# 436 addsi3/1 |
L$0059 |
ldw 0(%r5),%r4 ;# 337 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 341 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 338 subsi3/1 |
ldo 1(%r19),%r19 ;# 339 addsi3/2 |
comb,<< %r20,%r19,L$0061 |
nop ;# 343 bleu+1 |
L$0060 |
ldi 8,%r19 ;# 458 movqi+1/2 |
bl L$0043,%r0 ;# 479 jump |
stbs,ma %r19,1(%r6) ;# 459 movqi+1/6 |
L$0077 |
comb,=,n %r16,%r26,L$0079 ;# 485 bleu+1 |
bb,< %r15,28,L$0079 ;# 490 bleu+3 |
copy %r16,%r25 ;# 494 reload_outsi+2/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl at_endline_loc_p,%r2 ;# 498 call_value_internal_symref |
copy %r15,%r24 ;# 496 reload_outsi+2/1 |
extrs %r28,31,8,%r28 ;# 501 extendqisi2 |
comiclr,<> 0,%r28,%r0 ;# 503 bleu+1 |
bl,n L$0076,%r0 |
L$0079 |
ldw 0(%r5),%r4 ;# 7994 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 7997 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 7995 subsi3/1 |
ldo 1(%r19),%r19 ;# 7996 addsi3/2 |
comb,>>=,n %r20,%r19,L$0084 ;# 7998 bleu+1 |
ldil L'65536,%r3 ;# 8699 reload_outsi+2/3 |
L$0085 |
comclr,<> %r3,%r20,%r0 ;# 534 bleu+1 |
bl L$0944,%r0 |
zdep %r20,30,31,%r19 ;# 544 ashlsi3+1 |
comb,>>= %r3,%r19,L$0090 ;# 552 bleu+1 |
stw %r19,4(%r5) ;# 546 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 555 reload_outsi+2/6 |
L$0090 |
ldw 0(%r5),%r26 ;# 562 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 566 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 564 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 574 bleu+1 |
stw %r28,0(%r5) ;# 570 reload_outsi+2/6 |
comb,= %r28,%r4,L$0083 ;# 584 bleu+1 |
sub %r6,%r4,%r19 ;# 586 subsi3/1 |
addl %r28,%r19,%r6 ;# 589 addsi3/1 |
sub %r12,%r4,%r19 ;# 590 subsi3/1 |
comib,= 0,%r10,L$0093 ;# 595 bleu+1 |
addl %r28,%r19,%r12 ;# 593 addsi3/1 |
sub %r10,%r4,%r19 ;# 596 subsi3/1 |
addl %r28,%r19,%r10 ;# 599 addsi3/1 |
L$0093 |
comib,= 0,%r8,L$0094 ;# 602 bleu+1 |
sub %r8,%r4,%r19 ;# 603 subsi3/1 |
addl %r28,%r19,%r8 ;# 606 addsi3/1 |
L$0094 |
comib,= 0,%r9,L$0083 ;# 609 bleu+1 |
sub %r9,%r4,%r19 ;# 610 subsi3/1 |
addl %r28,%r19,%r9 ;# 613 addsi3/1 |
L$0083 |
ldw 0(%r5),%r4 ;# 514 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 518 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 515 subsi3/1 |
ldo 1(%r19),%r19 ;# 516 addsi3/2 |
comb,<< %r20,%r19,L$0085 |
nop ;# 520 bleu+1 |
L$0084 |
ldi 9,%r19 ;# 635 movqi+1/2 |
bl L$0043,%r0 ;# 656 jump |
stbs,ma %r19,1(%r6) ;# 636 movqi+1/6 |
L$0877 |
bl L$0110,%r0 ;# 897 jump |
stw %r21,-296(%r30) ;# 2391 reload_outsi+2/6 |
L$0101 |
L$1158 |
and %r15,%r19,%r19 ;# 663 andsi3/1 |
comiclr,= 0,%r19,%r0 ;# 665 bleu+1 |
bl,n L$0076,%r0 |
L$0104 |
comib,<> 0,%r8,L$0105 ;# 674 bleu+1 |
ldi 0,%r13 ;# 711 reload_outsi+2/2 |
extrs,>= %r15,26,1,%r0 ;# 681 bleu+3 |
extrs,< %r15,27,1,%r0 ;# 700 movsi-4 |
nop |
bl,n L$0076,%r0 |
L$0105 |
ldi 0,%r11 ;# 714 reload_outsi+2/2 |
ldi 0,%r22 ;# 716 reload_outsi+2/2 |
ldi 43,%r24 ;# 8688 reload_outsi+2/2 |
ldi 63,%r23 ;# 8690 reload_outsi+2/2 |
ldi 42,%r28 ;# 8692 reload_outsi+2/2 |
ldi 2,%r19 ;# 8694 reload_outsi+2/2 |
and %r15,%r19,%r25 ;# 8695 andsi3/1 |
ldi 92,%r26 ;# 8697 reload_outsi+2/2 |
L$0109 |
comb,= %r24,%r7,L$0112 ;# 727 bleu+1 |
copy %r11,%r19 ;# 8780 reload_outsi+2/1 |
depi -1,31,1,%r19 ;# 729 iorsi3+1/2 |
bl L$0113,%r0 ;# 731 jump |
extrs %r19,31,8,%r19 ;# 730 extendqisi2 |
L$0112 |
extrs %r11,31,8,%r19 ;# 734 extendqisi2 |
L$0113 |
L$1159 |
comb,= %r23,%r7,L$0114 ;# 744 bleu+1 |
copy %r19,%r11 ;# 737 reload_outsi+2/1 |
copy %r22,%r19 ;# 8783 reload_outsi+2/1 |
depi -1,31,1,%r19 ;# 746 iorsi3+1/2 |
bl L$0115,%r0 ;# 748 jump |
extrs %r19,31,8,%r19 ;# 747 extendqisi2 |
L$0114 |
extrs %r22,31,8,%r19 ;# 751 extendqisi2 |
L$0115 |
ldw -296(%r30),%r21 ;# 2355 reload_outsi+2/5 |
comb,= %r16,%r21,L$0110 ;# 757 bleu+1 |
copy %r19,%r22 ;# 754 reload_outsi+2/1 |
copy %r21,%r20 ;# 8743 reload_outsi+2/1 |
ldbs,ma 1(%r20),%r7 ;# 776 zero_extendqisi2/2 |
comib,= 0,%r14,L$0118 ;# 781 bleu+1 |
stw %r20,-296(%r30) ;# 2364 reload_outsi+2/6 |
addl %r14,%r7,%r19 ;# 782 addsi3/1 |
ldb 0(%r19),%r7 ;# 785 zero_extendqisi2/2 |
L$0118 |
comb,= %r28,%r7,L$0109 |
nop ;# 802 bleu+1 |
comib,<>,n 0,%r25,L$0869 ;# 807 bleu+1 |
comb,= %r24,%r7,L$1159 ;# 811 bleu+1 |
extrs %r11,31,8,%r19 ;# 734 extendqisi2 |
comb,= %r23,%r7,L$0109 ;# 815 bleu+1 |
ldw -296(%r30),%r19 ;# 2400 reload_outsi+2/5 |
bl,n L$1160,%r0 ;# 827 jump |
L$0869 |
comb,<> %r26,%r7,L$0126 ;# 831 bleu+1 |
ldw -296(%r30),%r19 ;# 2400 reload_outsi+2/5 |
comclr,<> %r16,%r20,%r0 ;# 835 bleu+1 |
bl L$0903,%r0 |
ldo 1(%r20),%r19 ;# 863 addsi3/2 |
ldb 1(%r21),%r3 ;# 860 zero_extendqisi2/2 |
comib,= 0,%r14,L$0129 ;# 865 bleu+1 |
stw %r19,-296(%r30) ;# 2379 reload_outsi+2/6 |
addl %r14,%r3,%r19 ;# 866 addsi3/1 |
ldb 0(%r19),%r3 ;# 869 zero_extendqisi2/2 |
L$0129 |
comb,= %r24,%r3,L$0109 ;# 886 bleu+1 |
copy %r3,%r7 ;# 903 reload_outsi+2/1 |
comb,<> %r23,%r3,L$0877 |
nop ;# 890 bleu+1 |
bl,n L$0109,%r0 ;# 905 jump |
L$0126 |
L$1160 |
ldo -1(%r19),%r19 ;# 910 addsi3/2 |
stw %r19,-296(%r30) ;# 2397 reload_outsi+2/6 |
L$0110 |
comiclr,<> 0,%r8,%r0 ;# 927 bleu+1 |
bl L$1161,%r0 |
ldw -296(%r30),%r19 ;# 2328 reload_outsi+2/5 |
comib,=,n 0,%r22,L$0137 ;# 934 bleu+1 |
ldw 0(%r5),%r3 ;# 8002 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8005 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8003 subsi3/1 |
ldo 3(%r19),%r19 ;# 8004 addsi3/2 |
comb,>>=,n %r20,%r19,L$0139 ;# 8006 bleu+1 |
ldil L'65536,%r4 ;# 8686 reload_outsi+2/3 |
L$0140 |
comclr,<> %r4,%r20,%r0 ;# 961 bleu+1 |
bl L$0944,%r0 |
zdep %r20,30,31,%r19 ;# 971 ashlsi3+1 |
comb,>>= %r4,%r19,L$0145 ;# 979 bleu+1 |
stw %r19,4(%r5) ;# 973 reload_outsi+2/6 |
stw %r4,4(%r5) ;# 982 reload_outsi+2/6 |
L$0145 |
ldw 0(%r5),%r26 ;# 989 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 993 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 991 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 1001 bleu+1 |
stw %r28,0(%r5) ;# 997 reload_outsi+2/6 |
comb,= %r28,%r3,L$0138 ;# 1011 bleu+1 |
sub %r6,%r3,%r19 ;# 1013 subsi3/1 |
addl %r28,%r19,%r6 ;# 1016 addsi3/1 |
sub %r12,%r3,%r19 ;# 1017 subsi3/1 |
comib,= 0,%r10,L$0148 ;# 1022 bleu+1 |
addl %r28,%r19,%r12 ;# 1020 addsi3/1 |
sub %r10,%r3,%r19 ;# 1023 subsi3/1 |
addl %r28,%r19,%r10 ;# 1026 addsi3/1 |
L$0148 |
comib,= 0,%r8,L$0149 ;# 1029 bleu+1 |
sub %r8,%r3,%r19 ;# 1030 subsi3/1 |
addl %r28,%r19,%r8 ;# 1033 addsi3/1 |
L$0149 |
comib,= 0,%r9,L$0138 ;# 1036 bleu+1 |
sub %r9,%r3,%r19 ;# 1037 subsi3/1 |
addl %r28,%r19,%r9 ;# 1040 addsi3/1 |
L$0138 |
ldw 0(%r5),%r3 ;# 941 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 945 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 942 subsi3/1 |
ldo 3(%r19),%r19 ;# 943 addsi3/2 |
comb,<< %r20,%r19,L$0140 |
nop ;# 947 bleu+1 |
L$0139 |
comib,= 0,%r14,L$0154 ;# 1063 bleu+1 |
ldw -296(%r30),%r19 ;# 2403 reload_outsi+2/5 |
ldb -2(%r19),%r19 ;# 1066 zero_extendqisi2/2 |
addl %r14,%r19,%r19 ;# 1067 addsi3/1 |
bl L$0947,%r0 ;# 1071 jump |
ldb 0(%r19),%r19 ;# 1069 movqi+1/5 |
L$0154 |
ldb -2(%r19),%r19 ;# 1075 movqi+1/5 |
L$0947 |
comib,= 0,%r14,L$0156 ;# 1079 bleu+1 |
extrs %r19,31,8,%r20 ;# 1076 extendqisi2 |
ldb 46(%r14),%r19 ;# 1081 movqi+1/5 |
extrs %r19,31,8,%r19 ;# 1082 extendqisi2 |
comb,= %r19,%r20,L$0157 ;# 1084 bleu+1 |
ldi 17,%r26 ;# 1159 reload_outsi+2/2 |
bl,n L$1162,%r0 ;# 1085 jump |
L$0156 |
ldi 46,%r19 ;# 1089 reload_outsi+2/2 |
comb,<> %r19,%r20,L$1162 ;# 1091 bleu+1 |
ldi 17,%r26 ;# 1159 reload_outsi+2/2 |
L$0157 |
comib,= 0,%r11,L$0153 ;# 1096 bleu+1 |
ldw -296(%r30),%r19 ;# 2409 reload_outsi+2/5 |
comb,<<= %r16,%r19,L$1162 ;# 1098 bleu+1 |
ldi 17,%r26 ;# 1159 reload_outsi+2/2 |
comib,=,n 0,%r14,L$0158 ;# 1100 bleu+1 |
ldb 0(%r19),%r19 ;# 1103 zero_extendqisi2/2 |
addl %r14,%r19,%r19 ;# 1104 addsi3/1 |
L$0158 |
ldb 0(%r19),%r19 ;# 1112 movqi+1/5 |
comib,= 0,%r14,L$0160 ;# 1116 bleu+1 |
extrs %r19,31,8,%r20 ;# 1113 extendqisi2 |
ldb 10(%r14),%r19 ;# 1118 movqi+1/5 |
extrs %r19,31,8,%r19 ;# 1119 extendqisi2 |
comb,= %r19,%r20,L$0161 ;# 1121 bleu+1 |
ldi 17,%r26 ;# 1159 reload_outsi+2/2 |
bl,n L$1162,%r0 ;# 1122 jump |
L$0160 |
comib,<> 10,%r20,L$1162 ;# 1126 bleu+1 |
ldi 17,%r26 ;# 1159 reload_outsi+2/2 |
L$0161 |
bb,< %r15,25,L$1162 ;# 1134 bleu+3 |
ldi 17,%r26 ;# 1159 reload_outsi+2/2 |
ldi 12,%r26 ;# 1140 reload_outsi+2/2 |
copy %r6,%r25 ;# 1142 reload_outsi+2/1 |
sub %r8,%r6,%r24 ;# 1137 subsi3/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl store_op1,%r2 ;# 1146 call_internal_symref |
ldo -3(%r24),%r24 ;# 1144 addsi3/2 |
bl L$0162,%r0 ;# 1151 jump |
ldi 1,%r13 ;# 1149 reload_outsi+2/2 |
L$0153 |
ldi 17,%r26 ;# 1159 reload_outsi+2/2 |
L$1162 |
copy %r6,%r25 ;# 1161 reload_outsi+2/1 |
sub %r8,%r6,%r24 ;# 1156 subsi3/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl store_op1,%r2 ;# 1165 call_internal_symref |
ldo -6(%r24),%r24 ;# 1163 addsi3/2 |
L$0162 |
ldo 3(%r6),%r6 ;# 1168 addsi3/2 |
L$0137 |
ldw 0(%r5),%r3 ;# 8010 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8013 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8011 subsi3/1 |
ldo 3(%r19),%r19 ;# 8012 addsi3/2 |
comb,>>=,n %r20,%r19,L$0164 ;# 8014 bleu+1 |
ldil L'65536,%r4 ;# 8684 reload_outsi+2/3 |
L$0165 |
comclr,<> %r4,%r20,%r0 ;# 1195 bleu+1 |
bl L$0944,%r0 |
zdep %r20,30,31,%r19 ;# 1205 ashlsi3+1 |
comb,>>= %r4,%r19,L$0170 ;# 1213 bleu+1 |
stw %r19,4(%r5) ;# 1207 reload_outsi+2/6 |
stw %r4,4(%r5) ;# 1216 reload_outsi+2/6 |
L$0170 |
ldw 0(%r5),%r26 ;# 1223 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 1227 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 1225 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 1235 bleu+1 |
stw %r28,0(%r5) ;# 1231 reload_outsi+2/6 |
comb,= %r28,%r3,L$0163 ;# 1245 bleu+1 |
sub %r6,%r3,%r19 ;# 1247 subsi3/1 |
addl %r28,%r19,%r6 ;# 1250 addsi3/1 |
sub %r12,%r3,%r19 ;# 1251 subsi3/1 |
comib,= 0,%r10,L$0173 ;# 1256 bleu+1 |
addl %r28,%r19,%r12 ;# 1254 addsi3/1 |
sub %r10,%r3,%r19 ;# 1257 subsi3/1 |
addl %r28,%r19,%r10 ;# 1260 addsi3/1 |
L$0173 |
comib,= 0,%r8,L$0174 ;# 1263 bleu+1 |
sub %r8,%r3,%r19 ;# 1264 subsi3/1 |
addl %r28,%r19,%r8 ;# 1267 addsi3/1 |
L$0174 |
comib,= 0,%r9,L$0163 ;# 1270 bleu+1 |
sub %r9,%r3,%r19 ;# 1271 subsi3/1 |
addl %r28,%r19,%r9 ;# 1274 addsi3/1 |
L$0163 |
ldw 0(%r5),%r3 ;# 1175 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 1179 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 1176 subsi3/1 |
ldo 3(%r19),%r19 ;# 1177 addsi3/2 |
comb,<< %r20,%r19,L$0165 |
nop ;# 1181 bleu+1 |
L$0164 |
ldi 14,%r26 ;# 8786 reload_outsi+2/2 |
comiclr,= 0,%r13,%r0 ;# 1310 beq-1/2 |
ldi 15,%r26 |
copy %r8,%r25 ;# 1312 reload_outsi+2/1 |
sub %r6,%r8,%r24 ;# 1314 subsi3/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl insert_op1,%r2 ;# 1318 call_internal_symref |
copy %r6,%r23 ;# 1316 reload_outsi+2/1 |
ldi 0,%r9 ;# 1321 reload_outsi+2/2 |
comib,<> 0,%r11,L$0043 ;# 1326 bleu+1 |
ldo 3(%r6),%r6 ;# 1323 addsi3/2 |
ldw 0(%r5),%r3 ;# 8019 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8022 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8020 subsi3/1 |
ldo 3(%r19),%r19 ;# 8021 addsi3/2 |
comb,>>=,n %r20,%r19,L$0182 ;# 8023 bleu+1 |
ldil L'65536,%r4 ;# 8682 reload_outsi+2/3 |
L$0183 |
comb,= %r4,%r20,L$0944 ;# 1352 bleu+1 |
zdep %r20,30,31,%r19 ;# 1362 ashlsi3+1 |
comb,>>= %r4,%r19,L$0188 ;# 1370 bleu+1 |
stw %r19,4(%r5) ;# 1364 reload_outsi+2/6 |
stw %r4,4(%r5) ;# 1373 reload_outsi+2/6 |
L$0188 |
ldw 0(%r5),%r26 ;# 1380 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 1384 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 1382 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 1392 bleu+1 |
stw %r28,0(%r5) ;# 1388 reload_outsi+2/6 |
comb,= %r28,%r3,L$0181 ;# 1402 bleu+1 |
sub %r6,%r3,%r19 ;# 1404 subsi3/1 |
addl %r28,%r19,%r6 ;# 1407 addsi3/1 |
sub %r12,%r3,%r19 ;# 1408 subsi3/1 |
comib,= 0,%r10,L$0191 ;# 1413 bleu+1 |
addl %r28,%r19,%r12 ;# 1411 addsi3/1 |
sub %r10,%r3,%r19 ;# 1414 subsi3/1 |
addl %r28,%r19,%r10 ;# 1417 addsi3/1 |
L$0191 |
comib,= 0,%r8,L$0192 ;# 1420 bleu+1 |
sub %r8,%r3,%r19 ;# 1421 subsi3/1 |
addl %r28,%r19,%r8 ;# 1424 addsi3/1 |
L$0192 |
comib,= 0,%r9,L$0181 ;# 1427 bleu+1 |
sub %r9,%r3,%r19 ;# 1428 subsi3/1 |
addl %r28,%r19,%r9 ;# 1431 addsi3/1 |
L$0181 |
ldw 0(%r5),%r3 ;# 1332 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 1336 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 1333 subsi3/1 |
ldo 3(%r19),%r19 ;# 1334 addsi3/2 |
comb,<< %r20,%r19,L$0183 |
nop ;# 1338 bleu+1 |
L$0182 |
ldi 18,%r26 ;# 1454 reload_outsi+2/2 |
copy %r8,%r25 ;# 1456 reload_outsi+2/1 |
ldi 3,%r24 ;# 1458 reload_outsi+2/2 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl insert_op1,%r2 ;# 1462 call_internal_symref |
copy %r6,%r23 ;# 1460 reload_outsi+2/1 |
bl L$0043,%r0 ;# 1470 jump |
ldo 3(%r6),%r6 ;# 1464 addsi3/2 |
L$0196 |
ldw 4(%r5),%r20 ;# 8030 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8028 subsi3/1 |
ldo 1(%r19),%r19 ;# 8029 addsi3/2 |
comb,>>= %r20,%r19,L$0201 ;# 8031 bleu+1 |
copy %r6,%r8 ;# 1475 reload_outsi+2/1 |
ldil L'65536,%r3 ;# 8680 reload_outsi+2/3 |
L$0202 |
comb,= %r3,%r20,L$0944 ;# 1503 bleu+1 |
zdep %r20,30,31,%r19 ;# 1513 ashlsi3+1 |
comb,>>= %r3,%r19,L$0207 ;# 1521 bleu+1 |
stw %r19,4(%r5) ;# 1515 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 1524 reload_outsi+2/6 |
L$0207 |
ldw 0(%r5),%r26 ;# 1531 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 1535 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 1533 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 1543 bleu+1 |
stw %r28,0(%r5) ;# 1539 reload_outsi+2/6 |
comb,= %r28,%r4,L$0200 ;# 1553 bleu+1 |
sub %r6,%r4,%r19 ;# 1555 subsi3/1 |
addl %r28,%r19,%r6 ;# 1558 addsi3/1 |
sub %r12,%r4,%r19 ;# 1559 subsi3/1 |
comib,= 0,%r10,L$0210 ;# 1564 bleu+1 |
addl %r28,%r19,%r12 ;# 1562 addsi3/1 |
sub %r10,%r4,%r19 ;# 1565 subsi3/1 |
addl %r28,%r19,%r10 ;# 1568 addsi3/1 |
L$0210 |
comib,= 0,%r8,L$0211 ;# 1571 bleu+1 |
sub %r8,%r4,%r19 ;# 1572 subsi3/1 |
addl %r28,%r19,%r8 ;# 1575 addsi3/1 |
L$0211 |
comib,= 0,%r9,L$0200 ;# 1578 bleu+1 |
sub %r9,%r4,%r19 ;# 1579 subsi3/1 |
addl %r28,%r19,%r9 ;# 1582 addsi3/1 |
L$0200 |
ldw 0(%r5),%r4 ;# 1483 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 1487 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 1484 subsi3/1 |
ldo 1(%r19),%r19 ;# 1485 addsi3/2 |
comb,<< %r20,%r19,L$0202 |
nop ;# 1489 bleu+1 |
L$0201 |
ldi 2,%r19 ;# 1604 movqi+1/2 |
bl L$0043,%r0 ;# 1617 jump |
stbs,ma %r19,1(%r6) ;# 1605 movqi+1/6 |
L$0216 |
comb,= %r16,%r19,L$0902 ;# 1626 bleu+1 |
ldi 0,%r13 ;# 1623 reload_outsi+2/2 |
ldw 0(%r5),%r3 ;# 8035 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8038 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8036 subsi3/1 |
ldo 34(%r19),%r19 ;# 8037 addsi3/2 |
comb,>>= %r20,%r19,L$0219 ;# 8039 bleu+1 |
ldil L'65536,%r4 ;# 8678 reload_outsi+2/3 |
L$0220 |
comb,= %r4,%r20,L$0944 ;# 1661 bleu+1 |
zdep %r20,30,31,%r19 ;# 1671 ashlsi3+1 |
comb,>>= %r4,%r19,L$0225 ;# 1679 bleu+1 |
stw %r19,4(%r5) ;# 1673 reload_outsi+2/6 |
stw %r4,4(%r5) ;# 1682 reload_outsi+2/6 |
L$0225 |
ldw 0(%r5),%r26 ;# 1689 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 1693 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 1691 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 1701 bleu+1 |
stw %r28,0(%r5) ;# 1697 reload_outsi+2/6 |
comb,= %r28,%r3,L$0218 ;# 1711 bleu+1 |
sub %r6,%r3,%r19 ;# 1713 subsi3/1 |
addl %r28,%r19,%r6 ;# 1716 addsi3/1 |
sub %r12,%r3,%r19 ;# 1717 subsi3/1 |
comib,= 0,%r10,L$0228 ;# 1722 bleu+1 |
addl %r28,%r19,%r12 ;# 1720 addsi3/1 |
sub %r10,%r3,%r19 ;# 1723 subsi3/1 |
addl %r28,%r19,%r10 ;# 1726 addsi3/1 |
L$0228 |
comib,= 0,%r8,L$0229 ;# 1729 bleu+1 |
sub %r8,%r3,%r19 ;# 1730 subsi3/1 |
addl %r28,%r19,%r8 ;# 1733 addsi3/1 |
L$0229 |
comib,= 0,%r9,L$0218 ;# 1736 bleu+1 |
sub %r9,%r3,%r19 ;# 1737 subsi3/1 |
addl %r28,%r19,%r9 ;# 1740 addsi3/1 |
L$0218 |
ldw 0(%r5),%r3 ;# 1641 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 1645 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 1642 subsi3/1 |
ldo 34(%r19),%r19 ;# 1643 addsi3/2 |
comb,<< %r20,%r19,L$0220 |
nop ;# 1647 bleu+1 |
L$0219 |
ldw 0(%r5),%r4 ;# 8043 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8046 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8044 subsi3/1 |
ldo 1(%r19),%r19 ;# 8045 addsi3/2 |
comb,>>= %r20,%r19,L$0237 ;# 8047 bleu+1 |
copy %r6,%r8 ;# 1763 reload_outsi+2/1 |
ldil L'65536,%r3 ;# 8676 reload_outsi+2/3 |
L$0238 |
comb,= %r3,%r20,L$0944 ;# 1791 bleu+1 |
zdep %r20,30,31,%r19 ;# 1801 ashlsi3+1 |
comb,>>= %r3,%r19,L$0243 ;# 1809 bleu+1 |
stw %r19,4(%r5) ;# 1803 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 1812 reload_outsi+2/6 |
L$0243 |
ldw 0(%r5),%r26 ;# 1819 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 1823 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 1821 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 1831 bleu+1 |
stw %r28,0(%r5) ;# 1827 reload_outsi+2/6 |
comb,= %r28,%r4,L$0236 ;# 1841 bleu+1 |
sub %r6,%r4,%r19 ;# 1843 subsi3/1 |
addl %r28,%r19,%r6 ;# 1846 addsi3/1 |
sub %r12,%r4,%r19 ;# 1847 subsi3/1 |
comib,= 0,%r10,L$0246 ;# 1852 bleu+1 |
addl %r28,%r19,%r12 ;# 1850 addsi3/1 |
sub %r10,%r4,%r19 ;# 1853 subsi3/1 |
addl %r28,%r19,%r10 ;# 1856 addsi3/1 |
L$0246 |
comib,= 0,%r8,L$0247 ;# 1859 bleu+1 |
sub %r8,%r4,%r19 ;# 1860 subsi3/1 |
addl %r28,%r19,%r8 ;# 1863 addsi3/1 |
L$0247 |
comib,= 0,%r9,L$0236 ;# 1866 bleu+1 |
sub %r9,%r4,%r19 ;# 1867 subsi3/1 |
addl %r28,%r19,%r9 ;# 1870 addsi3/1 |
L$0236 |
ldw 0(%r5),%r4 ;# 1771 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 1775 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 1772 subsi3/1 |
ldo 1(%r19),%r19 ;# 1773 addsi3/2 |
comb,<< %r20,%r19,L$0238 |
nop ;# 1777 bleu+1 |
L$0237 |
copy %r6,%r22 ;# 1909 reload_outsi+2/1 |
ldo 1(%r6),%r6 ;# 1891 addsi3/2 |
ldw -296(%r30),%r19 ;# 2421 reload_outsi+2/5 |
ldb 0(%r19),%r19 ;# 1893 movqi+1/5 |
ldi 94,%r21 ;# 1896 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 1894 extendqisi2 |
comb,<> %r21,%r19,L$0251 ;# 1898 bleu+1 |
ldi 3,%r20 ;# 8051 movqi+1/2 |
ldi 4,%r20 ;# 1900 movqi+1/2 |
L$0251 |
stb %r20,0(%r22) ;# 1911 movqi+1/6 |
ldw -296(%r30),%r20 ;# 2424 reload_outsi+2/5 |
ldb 0(%r20),%r19 ;# 1923 movqi+1/5 |
extrs %r19,31,8,%r19 ;# 1924 extendqisi2 |
comb,<> %r21,%r19,L$0254 ;# 1928 bleu+1 |
ldo 1(%r20),%r19 ;# 1930 addsi3/2 |
stw %r19,-296(%r30) ;# 2427 reload_outsi+2/6 |
L$0254 |
ldw 0(%r5),%r4 ;# 8052 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8055 reload_outsi+2/5 |
ldw -296(%r30),%r1 ;# 2433 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8053 subsi3/1 |
ldo 1(%r19),%r19 ;# 8054 addsi3/2 |
comb,>>= %r20,%r19,L$0259 ;# 8056 bleu+1 |
stw %r1,-268(%r30) ;# 8789 reload_outsi+2/6 |
ldil L'65536,%r3 ;# 8674 reload_outsi+2/3 |
L$0260 |
comb,= %r3,%r20,L$0944 ;# 1962 bleu+1 |
zdep %r20,30,31,%r19 ;# 1972 ashlsi3+1 |
comb,>>= %r3,%r19,L$0265 ;# 1980 bleu+1 |
stw %r19,4(%r5) ;# 1974 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 1983 reload_outsi+2/6 |
L$0265 |
ldw 0(%r5),%r26 ;# 1990 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 1994 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 1992 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 2002 bleu+1 |
stw %r28,0(%r5) ;# 1998 reload_outsi+2/6 |
comb,= %r28,%r4,L$0258 ;# 2012 bleu+1 |
sub %r6,%r4,%r19 ;# 2014 subsi3/1 |
addl %r28,%r19,%r6 ;# 2017 addsi3/1 |
sub %r12,%r4,%r19 ;# 2018 subsi3/1 |
comib,= 0,%r10,L$0268 ;# 2023 bleu+1 |
addl %r28,%r19,%r12 ;# 2021 addsi3/1 |
sub %r10,%r4,%r19 ;# 2024 subsi3/1 |
addl %r28,%r19,%r10 ;# 2027 addsi3/1 |
L$0268 |
comib,= 0,%r8,L$0269 ;# 2030 bleu+1 |
sub %r8,%r4,%r19 ;# 2031 subsi3/1 |
addl %r28,%r19,%r8 ;# 2034 addsi3/1 |
L$0269 |
comib,= 0,%r9,L$0258 ;# 2037 bleu+1 |
sub %r9,%r4,%r19 ;# 2038 subsi3/1 |
addl %r28,%r19,%r9 ;# 2041 addsi3/1 |
L$0258 |
ldw 0(%r5),%r4 ;# 1942 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 1946 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 1943 subsi3/1 |
ldo 1(%r19),%r19 ;# 1944 addsi3/2 |
comb,<< %r20,%r19,L$0260 |
nop ;# 1948 bleu+1 |
L$0259 |
ldi 32,%r19 ;# 2063 movqi+1/2 |
stbs,ma %r19,1(%r6) ;# 2064 movqi+1/6 |
copy %r6,%r26 ;# 2077 reload_outsi+2/1 |
ldi 0,%r25 ;# 2079 reload_outsi+2/2 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 ;# 2083 call_value_internal_symref |
ldi 32,%r24 ;# 2081 reload_outsi+2/2 |
ldb -2(%r6),%r19 ;# 2087 zero_extendqisi2/2 |
comib,<> 4,%r19,L$0274 ;# 2089 bleu+1 |
ldi 93,%r17 ;# 8622 reload_outsi+2/2 |
bb,>=,n %r15,23,L$0274 ;# 2094 movsi-4 |
ldb 1(%r6),%r19 ;# 2097 movqi+1/5 |
depi -1,29,1,%r19 ;# 2099 iorsi3+1/2 |
stb %r19,1(%r6) ;# 2101 movqi+1/6 |
L$0274 |
ldi 4,%r18 ;# 8628 reload_outsi+2/2 |
and %r15,%r18,%r1 ;# 8629 andsi3/1 |
stw %r1,-252(%r30) ;# 8792 reload_outsi+2/6 |
ldo -288(%r30),%r11 ;# 8632 addsi3/2 |
L$0275 |
ldw -296(%r30),%r20 ;# 2436 reload_outsi+2/5 |
L$1165 |
comb,= %r16,%r20,L$0902 ;# 2109 bleu+1 |
copy %r20,%r21 ;# 8745 reload_outsi+2/1 |
ldbs,ma 1(%r21),%r7 ;# 2134 zero_extendqisi2/2 |
comib,= 0,%r14,L$0280 ;# 2139 bleu+1 |
stw %r21,-296(%r30) ;# 2445 reload_outsi+2/6 |
addl %r14,%r7,%r19 ;# 2140 addsi3/1 |
ldb 0(%r19),%r7 ;# 2143 zero_extendqisi2/2 |
L$0280 |
bb,>= %r15,31,L$0285 ;# 2159 movsi-4 |
ldi 92,%r19 ;# 2161 reload_outsi+2/2 |
comb,<>,n %r19,%r7,L$0285 ;# 2163 bleu+1 |
comb,= %r16,%r21,L$0903 ;# 2167 bleu+1 |
ldo 1(%r21),%r19 ;# 2195 addsi3/2 |
ldb 1(%r20),%r3 ;# 2192 zero_extendqisi2/2 |
comib,= 0,%r14,L$0288 ;# 2197 bleu+1 |
stw %r19,-296(%r30) ;# 2460 reload_outsi+2/6 |
addl %r14,%r3,%r19 ;# 2198 addsi3/1 |
ldb 0(%r19),%r3 ;# 2201 zero_extendqisi2/2 |
L$0288 |
extru %r3,28,29,%r19 ;# 2216 lshrsi3/2 |
addl %r6,%r19,%r19 ;# 2219 addsi3/1 |
bl L$0948,%r0 ;# 2235 jump |
extru %r3,31,3,%r20 ;# 2222 andsi3/1 |
L$0285 |
comb,<>,n %r17,%r7,L$0293 ;# 2243 bleu+1 |
ldw -268(%r30),%r1 ;# 8798 reload_outsi+2/5 |
ldw -296(%r30),%r20 ;# 2466 reload_outsi+2/5 |
ldo 1(%r1),%r19 ;# 2244 addsi3/2 |
comb,<>,n %r19,%r20,L$0276 ;# 2246 bleu+1 |
L$0293 |
comib,= 0,%r13,L$0294 ;# 2253 bleu+1 |
ldi 45,%r1 ;# 8801 reload_outsi+2/2 |
comb,<> %r1,%r7,L$1163 ;# 2257 bleu+1 |
ldw -296(%r30),%r20 ;# 2524 reload_outsi+2/5 |
ldw -296(%r30),%r19 ;# 2469 reload_outsi+2/5 |
ldb 0(%r19),%r19 ;# 2259 movqi+1/5 |
extrs %r19,31,8,%r19 ;# 2260 extendqisi2 |
comb,<>,n %r17,%r19,L$0895 ;# 2264 bleu+1 |
L$0294 |
ldi 45,%r1 ;# 8804 reload_outsi+2/2 |
comb,<> %r1,%r7,L$1163 ;# 2280 bleu+1 |
ldw -296(%r30),%r20 ;# 2524 reload_outsi+2/5 |
ldw -276(%r30),%r1 ;# 8807 reload_outsi+2/5 |
ldo -2(%r20),%r19 ;# 2281 addsi3/2 |
comb,>>,n %r1,%r19,L$1179 ;# 2283 bleu+1 |
ldb -2(%r20),%r19 ;# 2285 movqi+1/5 |
ldi 91,%r1 ;# 8810 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 2286 extendqisi2 |
comb,= %r1,%r19,L$1163 ;# 2290 bleu+1 |
ldw -276(%r30),%r1 ;# 8813 reload_outsi+2/5 |
L$1179 |
ldo -3(%r20),%r19 ;# 2294 addsi3/2 |
comb,>>,n %r1,%r19,L$0297 ;# 2296 bleu+1 |
ldb -3(%r20),%r19 ;# 2298 movqi+1/5 |
ldi 91,%r1 ;# 8816 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 2299 extendqisi2 |
comb,<> %r1,%r19,L$1164 ;# 2303 bleu+1 |
ldw -296(%r30),%r19 ;# 2487 reload_outsi+2/5 |
ldb -2(%r20),%r19 ;# 2305 movqi+1/5 |
ldi 94,%r20 ;# 2308 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 2306 extendqisi2 |
comb,= %r20,%r19,L$1163 ;# 2310 bleu+1 |
ldw -296(%r30),%r20 ;# 2524 reload_outsi+2/5 |
L$0297 |
ldw -296(%r30),%r19 ;# 2487 reload_outsi+2/5 |
L$1164 |
ldb 0(%r19),%r19 ;# 2315 movqi+1/5 |
extrs %r19,31,8,%r19 ;# 2316 extendqisi2 |
comb,<> %r17,%r19,L$0302 ;# 2320 bleu+1 |
ldw -296(%r30),%r20 ;# 2524 reload_outsi+2/5 |
L$1163 |
ldb 0(%r20),%r19 ;# 2526 movqi+1/5 |
ldi 45,%r1 ;# 8819 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 2527 extendqisi2 |
comb,<>,n %r1,%r19,L$0300 ;# 2531 bleu+1 |
ldb 1(%r20),%r19 ;# 2535 movqi+1/5 |
extrs %r19,31,8,%r19 ;# 2536 extendqisi2 |
comb,=,n %r17,%r19,L$0300 ;# 2540 bleu+1 |
comb,= %r16,%r20,L$0922 ;# 2550 bleu+1 |
ldo 1(%r20),%r19 ;# 2559 addsi3/2 |
stw %r19,-296(%r30) ;# 2561 reload_outsi+2/6 |
L$0302 |
stw %r6,-52(%r30) ;# 2588 reload_outsi+2/6 |
ldo -296(%r30),%r26 ;# 2590 addsi3/2 |
copy %r16,%r25 ;# 2592 reload_outsi+2/1 |
copy %r14,%r24 ;# 2594 reload_outsi+2/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl compile_range,%r2 ;# 2598 call_value_internal_symref |
copy %r15,%r23 ;# 2596 reload_outsi+2/1 |
movb,= %r28,%r4,L$1165 ;# 2603 decrement_and_branch_until_zero+2/1 |
ldw -296(%r30),%r20 ;# 2436 reload_outsi+2/5 |
.CALL ARGW0=GR |
bl free,%r2 ;# 2607 call_internal_symref |
ldw -312(%r30),%r26 ;# 2605 reload_outsi+2/5 |
bl L$0867,%r0 ;# 2611 jump |
copy %r4,%r28 ;# 2609 reload_outsi+2/1 |
L$0300 |
ldw -252(%r30),%r1 ;# 8822 reload_outsi+2/5 |
comib,= 0,%r1,L$0309 ;# 2624 bleu+1 |
ldi 91,%r1 ;# 8825 reload_outsi+2/2 |
comb,<> %r1,%r7,L$1166 ;# 2628 bleu+1 |
ldi 0,%r13 ;# 3624 reload_outsi+2/2 |
ldw -296(%r30),%r20 ;# 2630 reload_outsi+2/5 |
ldb 0(%r20),%r19 ;# 2632 movqi+1/5 |
ldi 58,%r1 ;# 8828 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 2633 extendqisi2 |
comb,<>,n %r1,%r19,L$1166 ;# 2637 bleu+1 |
comb,= %r16,%r20,L$0922 ;# 2647 bleu+1 |
ldo 1(%r20),%r19 ;# 2656 addsi3/2 |
stw %r19,-296(%r30) ;# 2658 reload_outsi+2/6 |
comb,= %r16,%r19,L$0902 ;# 2689 bleu+1 |
ldi 0,%r3 ;# 2684 reload_outsi+2/2 |
L$0317 |
ldw -296(%r30),%r19 ;# 2709 reload_outsi+2/5 |
comb,= %r16,%r19,L$0922 ;# 2711 bleu+1 |
ldo 1(%r19),%r20 ;# 2720 addsi3/2 |
stw %r20,-296(%r30) ;# 2722 reload_outsi+2/6 |
comib,= 0,%r14,L$0321 ;# 2729 bleu+1 |
ldb 0(%r19),%r7 ;# 2725 zero_extendqisi2/2 |
addl %r14,%r7,%r19 ;# 2730 addsi3/1 |
ldb 0(%r19),%r7 ;# 2733 zero_extendqisi2/2 |
L$0321 |
ldi 58,%r1 ;# 8831 reload_outsi+2/2 |
comb,= %r1,%r7,L$1167 ;# 2750 bleu+1 |
addl %r11,%r3,%r19 ;# 2789 addsi3/1 |
comb,=,n %r17,%r7,L$1167 ;# 2754 bleu+1 |
comb,=,n %r16,%r20,L$1167 ;# 2758 bleu+1 |
comib,= 6,%r3,L$1167 ;# 2760 bleu+1 |
copy %r3,%r20 ;# 2770 reload_outsi+2/1 |
ldo 1(%r20),%r19 ;# 2771 addsi3/2 |
extru %r19,31,8,%r3 ;# 2772 zero_extendqisi2/1 |
addl %r11,%r20,%r20 ;# 2776 addsi3/1 |
bl L$0317,%r0 ;# 2783 jump |
stb %r7,0(%r20) ;# 2778 movqi+1/6 |
L$1167 |
comb,<> %r1,%r7,L$0328 ;# 2796 bleu+1 |
stb %r0,0(%r19) ;# 2791 movqi+1/6 |
ldw -296(%r30),%r19 ;# 2798 reload_outsi+2/5 |
ldb 0(%r19),%r19 ;# 2800 movqi+1/5 |
extrs %r19,31,8,%r19 ;# 2801 extendqisi2 |
comb,<> %r17,%r19,L$1168 ;# 2805 bleu+1 |
ldi 255,%r19 ;# 8069 reload_outsi+2/2 |
copy %r11,%r26 ;# 2813 reload_outsi+2/1 |
ldil LR'L$C0016,%r1 ;# 8835 add_high_const+3 |
ldo RR'L$C0016(%r1),%r1 ;# 8836 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2817 call_value_internal_symref |
copy %r1,%r25 ;# 2815 reload_outsi+2/1 |
copy %r11,%r26 ;# 2829 reload_outsi+2/1 |
ldil LR'L$C0017,%r1 ;# 8837 add_high_const+3 |
ldo RR'L$C0017(%r1),%r1 ;# 8838 movhi-2 |
copy %r1,%r25 ;# 2831 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2821 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2833 call_value_internal_symref |
stw %r28,-244(%r30) ;# 8841 reload_outsi+2/6 |
copy %r11,%r26 ;# 2845 reload_outsi+2/1 |
ldil LR'L$C0018,%r1 ;# 8842 add_high_const+3 |
ldo RR'L$C0018(%r1),%r1 ;# 8843 movhi-2 |
copy %r1,%r25 ;# 2847 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2837 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2849 call_value_internal_symref |
stw %r28,-236(%r30) ;# 8846 reload_outsi+2/6 |
copy %r11,%r26 ;# 2861 reload_outsi+2/1 |
ldil LR'L$C0019,%r1 ;# 8847 add_high_const+3 |
ldo RR'L$C0019(%r1),%r1 ;# 8848 movhi-2 |
copy %r1,%r25 ;# 2863 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2853 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2865 call_value_internal_symref |
stw %r28,-228(%r30) ;# 8851 reload_outsi+2/6 |
copy %r11,%r26 ;# 2877 reload_outsi+2/1 |
ldil LR'L$C0020,%r1 ;# 8852 add_high_const+3 |
ldo RR'L$C0020(%r1),%r1 ;# 8853 movhi-2 |
copy %r1,%r25 ;# 2879 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2869 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2881 call_value_internal_symref |
stw %r28,-220(%r30) ;# 8856 reload_outsi+2/6 |
copy %r11,%r26 ;# 2893 reload_outsi+2/1 |
ldil LR'L$C0021,%r1 ;# 8857 add_high_const+3 |
ldo RR'L$C0021(%r1),%r1 ;# 8858 movhi-2 |
copy %r1,%r25 ;# 2895 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2885 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2897 call_value_internal_symref |
stw %r28,-212(%r30) ;# 8861 reload_outsi+2/6 |
copy %r11,%r26 ;# 2909 reload_outsi+2/1 |
ldil LR'L$C0022,%r1 ;# 8862 add_high_const+3 |
ldo RR'L$C0022(%r1),%r1 ;# 8863 movhi-2 |
copy %r1,%r25 ;# 2911 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2901 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2913 call_value_internal_symref |
stw %r28,-204(%r30) ;# 8866 reload_outsi+2/6 |
copy %r11,%r26 ;# 2925 reload_outsi+2/1 |
ldil LR'L$C0023,%r1 ;# 8867 add_high_const+3 |
ldo RR'L$C0023(%r1),%r1 ;# 8868 movhi-2 |
copy %r1,%r25 ;# 2927 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2917 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2929 call_value_internal_symref |
stw %r28,-196(%r30) ;# 8871 reload_outsi+2/6 |
copy %r11,%r26 ;# 2941 reload_outsi+2/1 |
ldil LR'L$C0024,%r1 ;# 8872 add_high_const+3 |
ldo RR'L$C0024(%r1),%r1 ;# 8873 movhi-2 |
copy %r1,%r25 ;# 2943 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2933 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2945 call_value_internal_symref |
stw %r28,-188(%r30) ;# 8876 reload_outsi+2/6 |
copy %r11,%r26 ;# 2957 reload_outsi+2/1 |
ldil LR'L$C0025,%r1 ;# 8877 add_high_const+3 |
ldo RR'L$C0025(%r1),%r1 ;# 8878 movhi-2 |
copy %r1,%r25 ;# 2959 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2949 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2961 call_value_internal_symref |
stw %r28,-180(%r30) ;# 8881 reload_outsi+2/6 |
copy %r11,%r26 ;# 2973 reload_outsi+2/1 |
ldil LR'L$C0026,%r19 ;# 2970 add_high_const+3 |
ldo RR'L$C0026(%r19),%r3 ;# 2971 movhi-2 |
copy %r3,%r25 ;# 2975 reload_outsi+2/1 |
comiclr,<> 0,%r28,%r28 ;# 2965 scc |
ldi 1,%r28 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2977 call_value_internal_symref |
stw %r28,-172(%r30) ;# 8884 reload_outsi+2/6 |
copy %r11,%r26 ;# 2989 reload_outsi+2/1 |
ldil LR'L$C0027,%r19 ;# 2986 add_high_const+3 |
ldo RR'L$C0027(%r19),%r4 ;# 2987 movhi-2 |
comiclr,<> 0,%r28,%r13 ;# 2981 scc |
ldi 1,%r13 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 2993 call_value_internal_symref |
copy %r4,%r25 ;# 2991 reload_outsi+2/1 |
copy %r11,%r26 ;# 3005 reload_outsi+2/1 |
ldil LR'L$C0017,%r1 ;# 8885 add_high_const+3 |
ldo RR'L$C0017(%r1),%r1 ;# 8886 movhi-2 |
comiclr,<> 0,%r28,%r7 ;# 2997 scc |
ldi 1,%r7 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3009 call_value_internal_symref |
copy %r1,%r25 ;# 3007 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3013 bleu+1 |
copy %r11,%r26 ;# 3018 reload_outsi+2/1 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3022 call_value_internal_symref |
copy %r3,%r25 ;# 3020 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3026 bleu+1 |
copy %r11,%r26 ;# 3031 reload_outsi+2/1 |
ldil LR'L$C0022,%r1 ;# 8887 add_high_const+3 |
ldo RR'L$C0022(%r1),%r1 ;# 8888 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3035 call_value_internal_symref |
copy %r1,%r25 ;# 3033 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3039 bleu+1 |
copy %r11,%r26 ;# 3044 reload_outsi+2/1 |
ldil LR'L$C0020,%r1 ;# 8889 add_high_const+3 |
ldo RR'L$C0020(%r1),%r1 ;# 8890 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3048 call_value_internal_symref |
copy %r1,%r25 ;# 3046 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3052 bleu+1 |
copy %r11,%r26 ;# 3057 reload_outsi+2/1 |
ldil LR'L$C0016,%r1 ;# 8891 add_high_const+3 |
ldo RR'L$C0016(%r1),%r1 ;# 8892 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3061 call_value_internal_symref |
copy %r1,%r25 ;# 3059 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3065 bleu+1 |
copy %r11,%r26 ;# 3070 reload_outsi+2/1 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3074 call_value_internal_symref |
copy %r4,%r25 ;# 3072 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3078 bleu+1 |
copy %r11,%r26 ;# 3083 reload_outsi+2/1 |
ldil LR'L$C0025,%r1 ;# 8893 add_high_const+3 |
ldo RR'L$C0025(%r1),%r1 ;# 8894 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3087 call_value_internal_symref |
copy %r1,%r25 ;# 3085 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3091 bleu+1 |
copy %r11,%r26 ;# 3096 reload_outsi+2/1 |
ldil LR'L$C0023,%r1 ;# 8895 add_high_const+3 |
ldo RR'L$C0023(%r1),%r1 ;# 8896 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3100 call_value_internal_symref |
copy %r1,%r25 ;# 3098 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3104 bleu+1 |
copy %r11,%r26 ;# 3109 reload_outsi+2/1 |
ldil LR'L$C0024,%r1 ;# 8897 add_high_const+3 |
ldo RR'L$C0024(%r1),%r1 ;# 8898 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3113 call_value_internal_symref |
copy %r1,%r25 ;# 3111 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3117 bleu+1 |
copy %r11,%r26 ;# 3122 reload_outsi+2/1 |
ldil LR'L$C0021,%r1 ;# 8899 add_high_const+3 |
ldo RR'L$C0021(%r1),%r1 ;# 8900 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3126 call_value_internal_symref |
copy %r1,%r25 ;# 3124 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3130 bleu+1 |
copy %r11,%r26 ;# 3135 reload_outsi+2/1 |
ldil LR'L$C0019,%r1 ;# 8901 add_high_const+3 |
ldo RR'L$C0019(%r1),%r1 ;# 8902 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3139 call_value_internal_symref |
copy %r1,%r25 ;# 3137 reload_outsi+2/1 |
comib,= 0,%r28,L$0329 ;# 3143 bleu+1 |
copy %r11,%r26 ;# 3148 reload_outsi+2/1 |
ldil LR'L$C0018,%r1 ;# 8903 add_high_const+3 |
ldo RR'L$C0018(%r1),%r1 ;# 8904 movhi-2 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 ;# 3152 call_value_internal_symref |
copy %r1,%r25 ;# 3150 reload_outsi+2/1 |
comib,<>,n 0,%r28,L$0900 ;# 3156 bleu+1 |
L$0329 |
ldw -296(%r30),%r19 ;# 3173 reload_outsi+2/5 |
comb,= %r16,%r19,L$0922 ;# 3175 bleu+1 |
ldo 1(%r19),%r19 ;# 3184 addsi3/2 |
comb,= %r16,%r19,L$0902 ;# 3214 bleu+1 |
stw %r19,-296(%r30) ;# 3186 reload_outsi+2/6 |
ldi 0,%r22 ;# 3227 reload_outsi+2/2 |
addil LR'__alnum-$global$,%r27 ;# 8596 pic2_lo_sum+1 |
copy %r1,%r2 ;# 8907 reload_outsi+2/1 |
addil LR'__ctype2-$global$,%r27 ;# 8598 pic2_lo_sum+1 |
copy %r1,%r23 ;# 8910 reload_outsi+2/1 |
addil LR'__ctype-$global$,%r27 ;# 8600 pic2_lo_sum+1 |
copy %r1,%r4 ;# 8913 reload_outsi+2/1 |
ldi 32,%r25 ;# 8605 reload_outsi+2/2 |
ldi 2,%r24 ;# 8607 reload_outsi+2/2 |
ldi 16,%r31 ;# 8609 reload_outsi+2/2 |
ldi 8,%r29 ;# 8611 reload_outsi+2/2 |
ldi 128,%r28 ;# 8613 reload_outsi+2/2 |
ldi 255,%r26 ;# 8615 reload_outsi+2/2 |
ldw -244(%r30),%r1 ;# 8916 reload_outsi+2/5 |
L$1173 |
comib,=,n 0,%r1,L$0343 ;# 3240 bleu+1 |
stw %r22,RR'__alnum-$global$(%r2) ;# 3244 reload_outsi+2/6 |
ldw RR'__ctype2-$global$(%r23),%r19 ;# 3248 reload_outsi+2/5 |
ldw RR'__ctype-$global$(%r4),%r21 ;# 3260 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3253 addsi3/1 |
addl %r21,%r22,%r21 ;# 3265 addsi3/1 |
ldb 0(%r19),%r20 ;# 3255 movqi+1/5 |
ldb 0(%r21),%r19 ;# 3267 movqi+1/5 |
extru %r20,31,1,%r20 ;# 3256 andsi3/1 |
and %r19,%r18,%r19 ;# 3270 andsi3/1 |
or %r20,%r19,%r20 ;# 3278 xordi3-1 |
comib,<> 0,%r20,L$1169 ;# 3280 bleu+1 |
extru %r22,31,8,%r19 ;# 3330 zero_extendqisi2/1 |
L$0343 |
ldw -236(%r30),%r1 ;# 8919 reload_outsi+2/5 |
comib,= 0,%r1,L$0344 ;# 3285 bleu+1 |
ldw RR'__ctype2-$global$(%r23),%r19 ;# 3289 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3290 addsi3/1 |
ldb 0(%r19),%r19 ;# 3292 movqi+1/5 |
bb,< %r19,31,L$1169 ;# 3296 bleu+3 |
extru %r22,31,8,%r19 ;# 3330 zero_extendqisi2/1 |
L$0344 |
ldw -228(%r30),%r1 ;# 8922 reload_outsi+2/5 |
comib,=,n 0,%r1,L$0345 ;# 3301 bleu+1 |
comb,= %r25,%r22,L$1169 ;# 3305 bleu+1 |
extru %r22,31,8,%r19 ;# 3330 zero_extendqisi2/1 |
comib,= 9,%r22,L$1170 ;# 3307 bleu+1 |
extru %r19,28,29,%r21 ;# 3332 lshrsi3/2 |
L$0345 |
ldw -220(%r30),%r1 ;# 8925 reload_outsi+2/5 |
comib,= 0,%r1,L$0341 ;# 3312 bleu+1 |
ldw RR'__ctype-$global$(%r4),%r19 ;# 3316 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3317 addsi3/1 |
ldb 0(%r19),%r19 ;# 3319 movqi+1/5 |
and %r19,%r25,%r19 ;# 3322 andsi3/1 |
comib,= 0,%r19,L$0341 ;# 3325 bleu+1 |
extru %r22,31,8,%r19 ;# 3330 zero_extendqisi2/1 |
L$1169 |
extru %r19,28,29,%r21 ;# 3332 lshrsi3/2 |
L$1170 |
addl %r6,%r21,%r21 ;# 3335 addsi3/1 |
extru %r19,31,3,%r19 ;# 3339 andsi3/1 |
subi 31,%r19,%r19 ;# 3340 subsi3/2 |
ldb 0(%r21),%r20 ;# 3343 movqi+1/5 |
mtsar %r19 ;# 8928 reload_outsi+2/7 |
vdepi -1,1,%r20 ;# 3348 vdepi_ior |
stb %r20,0(%r21) ;# 3350 movqi+1/6 |
L$0341 |
ldw -212(%r30),%r1 ;# 8931 reload_outsi+2/5 |
comib,= 0,%r1,L$0348 ;# 3354 bleu+1 |
ldw RR'__ctype-$global$(%r4),%r19 ;# 3358 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3359 addsi3/1 |
ldb 0(%r19),%r19 ;# 3361 movqi+1/5 |
and %r19,%r18,%r19 ;# 3364 andsi3/1 |
comib,<> 0,%r19,L$1171 ;# 3367 bleu+1 |
extru %r22,31,8,%r19 ;# 3426 zero_extendqisi2/1 |
L$0348 |
ldw -204(%r30),%r1 ;# 8934 reload_outsi+2/5 |
comib,= 0,%r1,L$0349 ;# 3372 bleu+1 |
ldw RR'__ctype2-$global$(%r23),%r19 ;# 3376 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3377 addsi3/1 |
ldb 0(%r19),%r19 ;# 3379 movqi+1/5 |
and %r19,%r24,%r19 ;# 3382 andsi3/1 |
comib,<> 0,%r19,L$1171 ;# 3385 bleu+1 |
extru %r22,31,8,%r19 ;# 3426 zero_extendqisi2/1 |
L$0349 |
ldw -196(%r30),%r1 ;# 8937 reload_outsi+2/5 |
comib,= 0,%r1,L$0350 ;# 3390 bleu+1 |
ldw RR'__ctype-$global$(%r4),%r19 ;# 3394 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3395 addsi3/1 |
ldb 0(%r19),%r19 ;# 3397 movqi+1/5 |
and %r19,%r24,%r19 ;# 3400 andsi3/1 |
comib,<> 0,%r19,L$1171 ;# 3403 bleu+1 |
extru %r22,31,8,%r19 ;# 3426 zero_extendqisi2/1 |
L$0350 |
ldw -188(%r30),%r1 ;# 8940 reload_outsi+2/5 |
comib,= 0,%r1,L$0346 ;# 3408 bleu+1 |
ldw RR'__ctype2-$global$(%r23),%r19 ;# 3412 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3413 addsi3/1 |
ldb 0(%r19),%r19 ;# 3415 movqi+1/5 |
and %r19,%r18,%r19 ;# 3418 andsi3/1 |
comib,= 0,%r19,L$0346 ;# 3421 bleu+1 |
extru %r22,31,8,%r19 ;# 3426 zero_extendqisi2/1 |
L$1171 |
extru %r19,28,29,%r21 ;# 3428 lshrsi3/2 |
addl %r6,%r21,%r21 ;# 3431 addsi3/1 |
extru %r19,31,3,%r19 ;# 3435 andsi3/1 |
subi 31,%r19,%r19 ;# 3436 subsi3/2 |
ldb 0(%r21),%r20 ;# 3439 movqi+1/5 |
mtsar %r19 ;# 8943 reload_outsi+2/7 |
vdepi -1,1,%r20 ;# 3444 vdepi_ior |
stb %r20,0(%r21) ;# 3446 movqi+1/6 |
L$0346 |
ldw -180(%r30),%r1 ;# 8946 reload_outsi+2/5 |
comib,= 0,%r1,L$0353 ;# 3450 bleu+1 |
ldw RR'__ctype-$global$(%r4),%r19 ;# 3454 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3455 addsi3/1 |
ldb 0(%r19),%r19 ;# 3457 movqi+1/5 |
and %r19,%r31,%r19 ;# 3460 andsi3/1 |
comib,<> 0,%r19,L$1172 ;# 3463 bleu+1 |
extru %r22,31,8,%r19 ;# 3520 zero_extendqisi2/1 |
L$0353 |
ldw -172(%r30),%r1 ;# 8949 reload_outsi+2/5 |
comib,= 0,%r1,L$0354 ;# 3468 bleu+1 |
ldw RR'__ctype-$global$(%r4),%r19 ;# 3472 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3473 addsi3/1 |
ldb 0(%r19),%r19 ;# 3475 movqi+1/5 |
and %r19,%r29,%r19 ;# 3478 andsi3/1 |
comib,<> 0,%r19,L$1172 ;# 3481 bleu+1 |
extru %r22,31,8,%r19 ;# 3520 zero_extendqisi2/1 |
L$0354 |
comib,= 0,%r13,L$0355 ;# 3486 bleu+1 |
ldw RR'__ctype-$global$(%r4),%r19 ;# 3490 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3491 addsi3/1 |
ldb 0(%r19),%r19 ;# 3493 movqi+1/5 |
bb,< %r19,31,L$1172 ;# 3497 bleu+3 |
extru %r22,31,8,%r19 ;# 3520 zero_extendqisi2/1 |
L$0355 |
comib,= 0,%r7,L$0339 ;# 3502 bleu+1 |
ldw RR'__ctype-$global$(%r4),%r19 ;# 3506 reload_outsi+2/5 |
addl %r19,%r22,%r19 ;# 3507 addsi3/1 |
ldb 0(%r19),%r19 ;# 3509 movqi+1/5 |
and %r19,%r28,%r19 ;# 3512 andsi3/1 |
comib,= 0,%r19,L$0339 ;# 3515 bleu+1 |
extru %r22,31,8,%r19 ;# 3520 zero_extendqisi2/1 |
L$1172 |
extru %r19,28,29,%r21 ;# 3522 lshrsi3/2 |
addl %r6,%r21,%r21 ;# 3525 addsi3/1 |
extru %r19,31,3,%r19 ;# 3529 andsi3/1 |
subi 31,%r19,%r19 ;# 3530 subsi3/2 |
ldb 0(%r21),%r20 ;# 3533 movqi+1/5 |
mtsar %r19 ;# 8952 reload_outsi+2/7 |
vdepi -1,1,%r20 ;# 3538 vdepi_ior |
stb %r20,0(%r21) ;# 3540 movqi+1/6 |
L$0339 |
ldo 1(%r22),%r22 ;# 3546 addsi3/2 |
comb,>=,n %r26,%r22,L$1173 ;# 3233 bleu+1 |
ldw -244(%r30),%r1 ;# 8916 reload_outsi+2/5 |
bl L$0275,%r0 ;# 3559 jump |
ldi 1,%r13 ;# 3556 reload_outsi+2/2 |
L$0328 |
ldi 255,%r19 ;# 8069 reload_outsi+2/2 |
L$1168 |
comb,= %r19,%r3,L$0359 ;# 8070 bleu+1 |
copy %r19,%r21 ;# 8595 reload_outsi+2/1 |
L$0360 |
ldo -1(%r3),%r20 ;# 3571 addsi3/2 |
ldw -296(%r30),%r19 ;# 3583 reload_outsi+2/5 |
extru %r20,31,8,%r3 ;# 3572 zero_extendqisi2/1 |
ldo -1(%r19),%r19 ;# 3584 addsi3/2 |
comb,<> %r21,%r3,L$0360 ;# 3577 bleu+1 |
stw %r19,-296(%r30) ;# 3588 reload_outsi+2/6 |
L$0359 |
ldb 11(%r6),%r19 ;# 3599 movqi+1/5 |
depi -1,28,1,%r19 ;# 3601 iorsi3+1/2 |
stb %r19,11(%r6) ;# 3603 movqi+1/6 |
ldb 7(%r6),%r19 ;# 3606 movqi+1/5 |
ldi 0,%r13 ;# 3613 reload_outsi+2/2 |
depi -1,29,1,%r19 ;# 3608 iorsi3+1/2 |
bl L$0275,%r0 ;# 3618 jump |
stb %r19,7(%r6) ;# 3610 movqi+1/6 |
L$0309 |
ldi 0,%r13 ;# 3624 reload_outsi+2/2 |
L$1166 |
extru %r7,21+8-1,8,%r19 ;# 3627 extzv |
addl %r6,%r19,%r19 ;# 3630 addsi3/1 |
extru %r7,31,3,%r20 ;# 3633 andsi3/1 |
L$0948 |
subi 31,%r20,%r20 ;# 3634 subsi3/2 |
ldb 0(%r19),%r21 ;# 3637 movqi+1/5 |
mtsar %r20 ;# 8955 reload_outsi+2/7 |
vdepi -1,1,%r21 ;# 3642 vdepi_ior |
bl L$0275,%r0 ;# 3653 jump |
stb %r21,0(%r19) ;# 3644 movqi+1/6 |
L$0276 |
ldb -1(%r6),%r20 ;# 8074 movqi+1/5 |
extru %r20,31,8,%r19 ;# 8075 zero_extendqisi2/1 |
comib,= 0,%r19,L$0364 ;# 8076 bleu+1 |
addl %r19,%r6,%r19 ;# 8079 addsi3/1 |
ldb -1(%r19),%r19 ;# 8082 zero_extendqisi2/2 |
comib,<> 0,%r19,L$0364 ;# 8083 bleu+1 |
ldo -1(%r20),%r19 ;# 8242 addsi3/2 |
bl L$1183,%r0 ;# 8253 jump |
stb %r19,-1(%r6) ;# 3688 movqi+1/6 |
L$0365 |
ldo -1(%r19),%r19 ;# 3686 addsi3/2 |
stb %r19,-1(%r6) ;# 3688 movqi+1/6 |
L$1183 |
extru %r19,31,8,%r19 ;# 3662 zero_extendqisi2/1 |
comib,= 0,%r19,L$0364 ;# 3664 bleu+1 |
addl %r19,%r6,%r19 ;# 3668 addsi3/1 |
ldb -1(%r19),%r19 ;# 3672 zero_extendqisi2/2 |
comib,=,n 0,%r19,L$0365 ;# 3674 bleu+1 |
ldb -1(%r6),%r19 ;# 3683 movqi+1/5 |
L$0364 |
ldb -1(%r6),%r19 ;# 3700 zero_extendqisi2/2 |
bl L$0043,%r0 ;# 3705 jump |
addl %r6,%r19,%r6 ;# 3701 addsi3/1 |
L$0368 |
bb,>=,n %r15,18,L$0076 ;# 3713 movsi-4 |
bl L$1181,%r0 ;# 3721 jump |
ldw 24(%r5),%r19 ;# 3861 reload_outsi+2/5 |
L$0372 |
bb,>=,n %r15,18,L$0076 ;# 3730 movsi-4 |
bl,n L$0374,%r0 ;# 3738 jump |
L$0376 |
bb,>=,n %r15,20,L$0076 ;# 3747 movsi-4 |
bl,n L$0378,%r0 ;# 3755 jump |
L$0380 |
bb,>=,n %r15,16,L$0076 ;# 3764 movsi-4 |
bl,n L$0378,%r0 ;# 3772 jump |
L$0383 |
and %r15,%r20,%r19 ;# 3779 andsi3/1 |
comb,= %r20,%r19,L$1174 ;# 3783 bleu+1 |
ldi -1,%r4 ;# 5074 reload_outsi+2/2 |
bl,n L$0076,%r0 ;# 3791 jump |
L$0387 |
comb,=,n %r16,%r19,L$0903 ;# 3799 bleu+1 |
ldb 0(%r19),%r7 ;# 3831 zero_extendqisi2/2 |
ldo 1(%r19),%r19 ;# 3826 addsi3/2 |
stw %r19,-296(%r30) ;# 3828 reload_outsi+2/6 |
ldo -39(%r7),%r19 ;# 7446 addsi3/2 |
addi,uv -86,%r19,%r0 ;# 7447 casesi0 |
blr,n %r19,%r0 |
b,n L$0397 |
L$0817 |
bl L$0759,%r0 ;# 9437 switch_jump |
ldw 0(%r5),%r4 ;# 8204 reload_outsi+2/5 |
L$1069 |
bl L$0395,%r0 |
nop ;# 9440 switch_jump |
L$1070 |
bl L$0422,%r0 |
nop ;# 9443 switch_jump |
L$1071 |
bl L$0397,%r0 |
nop ;# 9446 switch_jump |
L$1072 |
bl L$0811,%r0 |
nop ;# 9449 switch_jump |
L$1073 |
bl L$0397,%r0 |
nop ;# 9452 switch_jump |
L$1074 |
bl L$0397,%r0 |
nop ;# 9455 switch_jump |
L$1075 |
bl L$0397,%r0 |
nop ;# 9458 switch_jump |
L$1076 |
bl L$0397,%r0 |
nop ;# 9461 switch_jump |
L$1077 |
bl L$0397,%r0 |
nop ;# 9464 switch_jump |
L$1078 |
bl L$0787,%r0 |
nop ;# 9467 switch_jump |
L$1079 |
bl L$0787,%r0 |
nop ;# 9470 switch_jump |
L$1080 |
bl L$0787,%r0 |
nop ;# 9473 switch_jump |
L$1081 |
bl L$0787,%r0 |
nop ;# 9476 switch_jump |
L$1082 |
bl L$0787,%r0 |
nop ;# 9479 switch_jump |
L$1083 |
bl L$0787,%r0 |
nop ;# 9482 switch_jump |
L$1084 |
bl L$0787,%r0 |
nop ;# 9485 switch_jump |
L$1085 |
bl L$0787,%r0 |
nop ;# 9488 switch_jump |
L$1086 |
bl L$0787,%r0 |
nop ;# 9491 switch_jump |
L$1087 |
bl L$0397,%r0 |
nop ;# 9494 switch_jump |
L$1088 |
bl L$0397,%r0 |
nop ;# 9497 switch_jump |
L$1089 |
bl L$0659,%r0 ;# 9500 switch_jump |
ldw 0(%r5),%r4 ;# 8164 reload_outsi+2/5 |
L$1090 |
bl L$0397,%r0 |
nop ;# 9503 switch_jump |
L$1091 |
bl L$0679,%r0 ;# 9506 switch_jump |
ldw 0(%r5),%r4 ;# 8172 reload_outsi+2/5 |
L$1092 |
bl L$0811,%r0 |
nop ;# 9509 switch_jump |
L$1093 |
bl L$0397,%r0 |
nop ;# 9512 switch_jump |
L$1094 |
bl L$0397,%r0 |
nop ;# 9515 switch_jump |
L$1095 |
bl L$0719,%r0 ;# 9518 switch_jump |
ldw 0(%r5),%r4 ;# 8188 reload_outsi+2/5 |
L$1096 |
bl L$0397,%r0 |
nop ;# 9521 switch_jump |
L$1097 |
bl L$0397,%r0 |
nop ;# 9524 switch_jump |
L$1098 |
bl L$0397,%r0 |
nop ;# 9527 switch_jump |
L$1099 |
bl L$0397,%r0 |
nop ;# 9530 switch_jump |
L$1100 |
bl L$0397,%r0 |
nop ;# 9533 switch_jump |
L$1101 |
bl L$0397,%r0 |
nop ;# 9536 switch_jump |
L$1102 |
bl L$0397,%r0 |
nop ;# 9539 switch_jump |
L$1103 |
bl L$0397,%r0 |
nop ;# 9542 switch_jump |
L$1104 |
bl L$0397,%r0 |
nop ;# 9545 switch_jump |
L$1105 |
bl L$0397,%r0 |
nop ;# 9548 switch_jump |
L$1106 |
bl L$0397,%r0 |
nop ;# 9551 switch_jump |
L$1107 |
bl L$0397,%r0 |
nop ;# 9554 switch_jump |
L$1108 |
bl L$0397,%r0 |
nop ;# 9557 switch_jump |
L$1109 |
bl L$0397,%r0 |
nop ;# 9560 switch_jump |
L$1110 |
bl L$0397,%r0 |
nop ;# 9563 switch_jump |
L$1111 |
bl L$0397,%r0 |
nop ;# 9566 switch_jump |
L$1112 |
bl L$0397,%r0 |
nop ;# 9569 switch_jump |
L$1113 |
bl L$0397,%r0 |
nop ;# 9572 switch_jump |
L$1114 |
bl L$0397,%r0 |
nop ;# 9575 switch_jump |
L$1115 |
bl L$0397,%r0 |
nop ;# 9578 switch_jump |
L$1116 |
bl L$0639,%r0 ;# 9581 switch_jump |
ldw 0(%r5),%r4 ;# 8156 reload_outsi+2/5 |
L$1117 |
bl L$0397,%r0 |
nop ;# 9584 switch_jump |
L$1118 |
bl L$0397,%r0 |
nop ;# 9587 switch_jump |
L$1119 |
bl L$0397,%r0 |
nop ;# 9590 switch_jump |
L$1120 |
bl L$0397,%r0 |
nop ;# 9593 switch_jump |
L$1121 |
bl L$0397,%r0 |
nop ;# 9596 switch_jump |
L$1122 |
bl L$0397,%r0 |
nop ;# 9599 switch_jump |
L$1123 |
bl L$0397,%r0 |
nop ;# 9602 switch_jump |
L$1124 |
bl L$0397,%r0 |
nop ;# 9605 switch_jump |
L$1125 |
bl L$0739,%r0 ;# 9608 switch_jump |
ldw 0(%r5),%r4 ;# 8196 reload_outsi+2/5 |
L$1126 |
bl L$0397,%r0 |
nop ;# 9611 switch_jump |
L$1127 |
bl L$0699,%r0 ;# 9614 switch_jump |
ldw 0(%r5),%r4 ;# 8180 reload_outsi+2/5 |
L$1128 |
bl L$0397,%r0 |
nop ;# 9617 switch_jump |
L$1129 |
bl L$0397,%r0 |
nop ;# 9620 switch_jump |
L$1130 |
bl L$0397,%r0 |
nop ;# 9623 switch_jump |
L$1131 |
bl L$0397,%r0 |
nop ;# 9626 switch_jump |
L$1132 |
bl L$0397,%r0 |
nop ;# 9629 switch_jump |
L$1133 |
bl L$0397,%r0 |
nop ;# 9632 switch_jump |
L$1134 |
bl L$0397,%r0 |
nop ;# 9635 switch_jump |
L$1135 |
bl L$0397,%r0 |
nop ;# 9638 switch_jump |
L$1136 |
bl L$0397,%r0 |
nop ;# 9641 switch_jump |
L$1137 |
bl L$0397,%r0 |
nop ;# 9644 switch_jump |
L$1138 |
bl L$0397,%r0 |
nop ;# 9647 switch_jump |
L$1139 |
bl L$0397,%r0 |
nop ;# 9650 switch_jump |
L$1140 |
bl L$0397,%r0 |
nop ;# 9653 switch_jump |
L$1141 |
bl L$0397,%r0 |
nop ;# 9656 switch_jump |
L$1142 |
bl L$0397,%r0 |
nop ;# 9659 switch_jump |
L$1143 |
bl L$0397,%r0 |
nop ;# 9662 switch_jump |
L$1144 |
bl L$0397,%r0 |
nop ;# 9665 switch_jump |
L$1145 |
bl L$0397,%r0 |
nop ;# 9668 switch_jump |
L$1146 |
bl L$0397,%r0 |
nop ;# 9671 switch_jump |
L$1147 |
bl L$0397,%r0 |
nop ;# 9674 switch_jump |
L$1148 |
bl L$0619,%r0 ;# 9677 switch_jump |
ldw 0(%r5),%r4 ;# 8148 reload_outsi+2/5 |
L$1149 |
bl L$0397,%r0 |
nop ;# 9680 switch_jump |
L$1150 |
bl L$0397,%r0 |
nop ;# 9683 switch_jump |
L$1151 |
bl L$0397,%r0 |
nop ;# 9686 switch_jump |
L$1152 |
bl L$0506,%r0 |
nop ;# 9689 switch_jump |
L$1153 |
bl L$0472,%r0 ;# 9692 switch_jump |
ldil L'33792,%r19 ;# 4724 add_high_const+3 |
L$1154 |
bl,n L$0397,%r0 ;# 7450 jump |
L$0395 |
bb,<,n %r15,18,L$0397 ;# 3853 bleu+3 |
ldw 24(%r5),%r19 ;# 3861 reload_outsi+2/5 |
L$1181 |
ldo 1(%r19),%r19 ;# 3862 addsi3/2 |
stw %r19,24(%r5) ;# 3866 reload_outsi+2/6 |
ldw -304(%r30),%r20 ;# 3871 reload_outsi+2/5 |
ldw -260(%r30),%r1 ;# 8958 reload_outsi+2/5 |
ldw -308(%r30),%r19 ;# 3873 reload_outsi+2/5 |
ldo 1(%r1),%r1 ;# 3868 addsi3/2 |
comb,<> %r19,%r20,L$0398 ;# 3875 bleu+1 |
stw %r1,-260(%r30) ;# 8961 reload_outsi+2/6 |
zdep %r20,28,29,%r25 ;# 3885 ashlsi3+1 |
sh1addl %r20,%r25,%r25 ;# 3886 ashlsi3-2 |
ldw -312(%r30),%r26 ;# 3890 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 3894 call_value_internal_symref |
zdep %r25,29,30,%r25 ;# 3892 ashlsi3+1 |
comib,= 0,%r28,L$0953 ;# 3903 bleu+1 |
stw %r28,-312(%r30) ;# 3898 reload_outsi+2/6 |
ldw -308(%r30),%r19 ;# 3912 reload_outsi+2/5 |
zdep %r19,30,31,%r19 ;# 3914 ashlsi3+1 |
stw %r19,-308(%r30) ;# 3916 reload_outsi+2/6 |
L$0398 |
ldw -304(%r30),%r20 ;# 3921 reload_outsi+2/5 |
ldw -312(%r30),%r21 ;# 3923 reload_outsi+2/5 |
ldw 0(%r5),%r19 ;# 3933 reload_outsi+2/5 |
sh2addl %r20,%r20,%r20 ;# 3928 ashlsi3-2 |
sh2addl %r20,%r21,%r21 ;# 3931 ashlsi3-2 |
sub %r12,%r19,%r19 ;# 3934 subsi3/1 |
stw %r19,0(%r21) ;# 3936 reload_outsi+2/6 |
ldw -304(%r30),%r19 ;# 3939 reload_outsi+2/5 |
ldw -312(%r30),%r20 ;# 3941 reload_outsi+2/5 |
sh2addl %r19,%r19,%r19 ;# 3946 ashlsi3-2 |
comib,= 0,%r10,L$0400 ;# 3951 bleu+1 |
sh2addl %r19,%r20,%r20 ;# 3949 ashlsi3-2 |
ldw 0(%r5),%r19 ;# 3953 reload_outsi+2/5 |
sub %r10,%r19,%r19 ;# 3954 subsi3/1 |
ldo 1(%r19),%r19 ;# 3955 addsi3/2 |
bl L$0401,%r0 ;# 3958 jump |
stw %r19,4(%r20) ;# 3957 reload_outsi+2/6 |
L$0400 |
stw %r0,4(%r20) ;# 3962 reload_outsi+2/6 |
L$0401 |
ldw -304(%r30),%r20 ;# 3966 reload_outsi+2/5 |
ldw -312(%r30),%r21 ;# 3968 reload_outsi+2/5 |
ldw 0(%r5),%r19 ;# 3978 reload_outsi+2/5 |
sh2addl %r20,%r20,%r20 ;# 3973 ashlsi3-2 |
sh2addl %r20,%r21,%r21 ;# 3976 ashlsi3-2 |
sub %r6,%r19,%r19 ;# 3979 subsi3/1 |
stw %r19,12(%r21) ;# 3981 reload_outsi+2/6 |
ldw -304(%r30),%r19 ;# 3984 reload_outsi+2/5 |
ldw -312(%r30),%r20 ;# 3986 reload_outsi+2/5 |
ldw -260(%r30),%r1 ;# 8964 reload_outsi+2/5 |
sh2addl %r19,%r19,%r19 ;# 3991 ashlsi3-2 |
sh2addl %r19,%r20,%r20 ;# 3994 ashlsi3-2 |
ldi 255,%r19 ;# 3999 reload_outsi+2/2 |
comb,<< %r19,%r1,L$0402 ;# 4001 bleu+1 |
stw %r1,16(%r20) ;# 3996 reload_outsi+2/6 |
ldw -304(%r30),%r20 ;# 4005 reload_outsi+2/5 |
ldw -312(%r30),%r21 ;# 4007 reload_outsi+2/5 |
ldw 0(%r5),%r19 ;# 4017 reload_outsi+2/5 |
sh2addl %r20,%r20,%r20 ;# 4012 ashlsi3-2 |
sh2addl %r20,%r21,%r21 ;# 4015 ashlsi3-2 |
sub %r6,%r19,%r19 ;# 4018 subsi3/1 |
ldo 2(%r19),%r19 ;# 4019 addsi3/2 |
stw %r19,8(%r21) ;# 4021 reload_outsi+2/6 |
ldw 0(%r5),%r4 ;# 8087 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8090 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8088 subsi3/1 |
ldo 3(%r19),%r19 ;# 8089 addsi3/2 |
comb,>>=,n %r20,%r19,L$0407 ;# 8091 bleu+1 |
ldil L'65536,%r3 ;# 8593 reload_outsi+2/3 |
L$0408 |
comb,= %r3,%r20,L$0944 ;# 4049 bleu+1 |
zdep %r20,30,31,%r19 ;# 4059 ashlsi3+1 |
comb,>>= %r3,%r19,L$0413 ;# 4067 bleu+1 |
stw %r19,4(%r5) ;# 4061 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 4070 reload_outsi+2/6 |
L$0413 |
ldw 0(%r5),%r26 ;# 4077 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 4081 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 4079 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 4089 bleu+1 |
stw %r28,0(%r5) ;# 4085 reload_outsi+2/6 |
comb,= %r28,%r4,L$0406 ;# 4099 bleu+1 |
sub %r6,%r4,%r19 ;# 4101 subsi3/1 |
comib,= 0,%r10,L$0416 ;# 4110 bleu+1 |
addl %r28,%r19,%r6 ;# 4104 addsi3/1 |
sub %r10,%r4,%r19 ;# 4111 subsi3/1 |
addl %r28,%r19,%r10 ;# 4114 addsi3/1 |
L$0416 |
comib,= 0,%r8,L$0417 ;# 4117 bleu+1 |
sub %r8,%r4,%r19 ;# 4118 subsi3/1 |
addl %r28,%r19,%r8 ;# 4121 addsi3/1 |
L$0417 |
comib,= 0,%r9,L$0406 ;# 4124 bleu+1 |
sub %r9,%r4,%r19 ;# 4125 subsi3/1 |
addl %r28,%r19,%r9 ;# 4128 addsi3/1 |
L$0406 |
ldw 0(%r5),%r4 ;# 4029 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 4033 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 4030 subsi3/1 |
ldo 3(%r19),%r19 ;# 4031 addsi3/2 |
comb,<< %r20,%r19,L$0408 |
nop ;# 4035 bleu+1 |
L$0407 |
ldi 5,%r19 ;# 4150 movqi+1/2 |
stbs,ma %r19,1(%r6) ;# 4151 movqi+1/6 |
ldb -257(%r30),%r1 ;# 4156 movqi+1/5 |
stbs,ma %r1,1(%r6) ;# 8968 movqi+1/6 |
stbs,ma %r0,1(%r6) ;# 4159 movqi+1/6 |
L$0402 |
ldi 0,%r10 ;# 4182 reload_outsi+2/2 |
ldi 0,%r8 ;# 4185 reload_outsi+2/2 |
copy %r6,%r12 ;# 4188 reload_outsi+2/1 |
ldw -304(%r30),%r19 ;# 4174 reload_outsi+2/5 |
ldi 0,%r9 ;# 4191 reload_outsi+2/2 |
ldo 1(%r19),%r19 ;# 4175 addsi3/2 |
bl L$0043,%r0 ;# 4193 jump |
stw %r19,-304(%r30) ;# 4179 reload_outsi+2/6 |
L$0422 |
bb,< %r15,18,L$0397 ;# 4201 bleu+3 |
ldw -304(%r30),%r19 ;# 4207 reload_outsi+2/5 |
comib,<>,n 0,%r19,L$0374 ;# 4209 bleu+1 |
bb,>=,n %r15,14,L$0950 ;# 4215 movsi-4 |
bl,n L$0397,%r0 ;# 4230 jump |
L$0374 |
comib,=,n 0,%r10,L$0427 ;# 4237 bleu+1 |
ldw 0(%r5),%r4 ;# 8095 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8098 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8096 subsi3/1 |
ldo 1(%r19),%r19 ;# 8097 addsi3/2 |
comb,>>=,n %r20,%r19,L$0432 ;# 8099 bleu+1 |
ldil L'65536,%r3 ;# 8591 reload_outsi+2/3 |
L$0433 |
comb,= %r3,%r20,L$0944 ;# 4266 bleu+1 |
zdep %r20,30,31,%r19 ;# 4276 ashlsi3+1 |
comb,>>= %r3,%r19,L$0438 ;# 4284 bleu+1 |
stw %r19,4(%r5) ;# 4278 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 4287 reload_outsi+2/6 |
L$0438 |
ldw 0(%r5),%r26 ;# 4294 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 4298 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 4296 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 4306 bleu+1 |
stw %r28,0(%r5) ;# 4302 reload_outsi+2/6 |
comb,= %r28,%r4,L$0431 ;# 4316 bleu+1 |
sub %r6,%r4,%r19 ;# 4318 subsi3/1 |
addl %r28,%r19,%r6 ;# 4321 addsi3/1 |
sub %r12,%r4,%r19 ;# 4322 subsi3/1 |
comib,= 0,%r10,L$0441 ;# 4327 bleu+1 |
addl %r28,%r19,%r12 ;# 4325 addsi3/1 |
sub %r10,%r4,%r19 ;# 4328 subsi3/1 |
addl %r28,%r19,%r10 ;# 4331 addsi3/1 |
L$0441 |
comib,= 0,%r8,L$0442 ;# 4334 bleu+1 |
sub %r8,%r4,%r19 ;# 4335 subsi3/1 |
addl %r28,%r19,%r8 ;# 4338 addsi3/1 |
L$0442 |
comib,= 0,%r9,L$0431 ;# 4341 bleu+1 |
sub %r9,%r4,%r19 ;# 4342 subsi3/1 |
addl %r28,%r19,%r9 ;# 4345 addsi3/1 |
L$0431 |
ldw 0(%r5),%r4 ;# 4246 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 4250 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 4247 subsi3/1 |
ldo 1(%r19),%r19 ;# 4248 addsi3/2 |
comb,<< %r20,%r19,L$0433 |
nop ;# 4252 bleu+1 |
L$0432 |
ldi 19,%r19 ;# 4367 movqi+1/2 |
stbs,ma %r19,1(%r6) ;# 4368 movqi+1/6 |
uaddcm %r6,%r10,%r24 ;# 4381 adddi3+1 |
ldi 13,%r26 ;# 4384 reload_outsi+2/2 |
copy %r10,%r25 ;# 4386 reload_outsi+2/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl store_op1,%r2 ;# 4390 call_internal_symref |
ldo -3(%r24),%r24 ;# 4388 addsi3/2 |
L$0427 |
ldw -304(%r30),%r19 ;# 4395 reload_outsi+2/5 |
comib,<>,n 0,%r19,L$0447 ;# 4397 bleu+1 |
bb,<,n %r15,14,L$0076 ;# 4403 bleu+3 |
L$0950 |
.CALL ARGW0=GR |
bl free,%r2 ;# 4414 call_internal_symref |
ldw -312(%r30),%r26 ;# 4412 reload_outsi+2/5 |
bl L$0867,%r0 ;# 4418 jump |
ldi 16,%r28 ;# 4416 reload_outsi+2/2 |
L$0447 |
ldo -1(%r19),%r19 ;# 4427 addsi3/2 |
stw %r19,-304(%r30) ;# 4431 reload_outsi+2/6 |
ldw -312(%r30),%r20 ;# 4436 reload_outsi+2/5 |
sh2addl %r19,%r19,%r19 ;# 4441 ashlsi3-2 |
sh2addl %r19,%r20,%r20 ;# 4444 ashlsi3-2 |
ldw 0(%r5),%r21 ;# 4446 reload_outsi+2/5 |
ldw 0(%r20),%r19 ;# 4448 reload_outsi+2/5 |
ldw 4(%r20),%r20 ;# 4464 reload_outsi+2/5 |
comib,= 0,%r20,L$0450 ;# 4466 bleu+1 |
addl %r21,%r19,%r12 ;# 4449 addsi3/1 |
addl %r21,%r20,%r19 ;# 4483 addsi3/1 |
bl L$0451,%r0 ;# 4485 jump |
ldo -1(%r19),%r10 ;# 4484 addsi3/2 |
L$0450 |
ldi 0,%r10 ;# 4489 reload_outsi+2/2 |
L$0451 |
ldw -304(%r30),%r19 ;# 4493 reload_outsi+2/5 |
ldw -312(%r30),%r20 ;# 4495 reload_outsi+2/5 |
ldw 0(%r5),%r21 ;# 4505 reload_outsi+2/5 |
sh2addl %r19,%r19,%r19 ;# 4500 ashlsi3-2 |
sh2addl %r19,%r20,%r20 ;# 4503 ashlsi3-2 |
ldw 12(%r20),%r19 ;# 4507 reload_outsi+2/5 |
ldw 16(%r20),%r7 ;# 4523 reload_outsi+2/5 |
addl %r21,%r19,%r8 ;# 4508 addsi3/1 |
ldi 255,%r19 ;# 4529 reload_outsi+2/2 |
comb,<< %r19,%r7,L$0043 ;# 4531 bleu+1 |
ldi 0,%r9 ;# 4526 reload_outsi+2/2 |
ldw 8(%r20),%r19 ;# 4550 reload_outsi+2/5 |
ldw -260(%r30),%r1 ;# 8971 reload_outsi+2/5 |
addl %r21,%r19,%r19 ;# 4551 addsi3/1 |
sub %r1,%r7,%r20 ;# 4557 subsi3/1 |
stb %r20,0(%r19) ;# 4559 movqi+1/6 |
ldw 0(%r5),%r4 ;# 8103 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8106 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8104 subsi3/1 |
ldo 3(%r19),%r19 ;# 8105 addsi3/2 |
comb,>>=,n %r20,%r19,L$0457 ;# 8107 bleu+1 |
ldil L'65536,%r3 ;# 8589 reload_outsi+2/3 |
L$0458 |
comb,= %r3,%r20,L$0944 ;# 4587 bleu+1 |
zdep %r20,30,31,%r19 ;# 4597 ashlsi3+1 |
comb,>>= %r3,%r19,L$0463 ;# 4605 bleu+1 |
stw %r19,4(%r5) ;# 4599 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 4608 reload_outsi+2/6 |
L$0463 |
ldw 0(%r5),%r26 ;# 4615 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 4619 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 4617 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 4627 bleu+1 |
stw %r28,0(%r5) ;# 4623 reload_outsi+2/6 |
comb,= %r28,%r4,L$0456 ;# 4637 bleu+1 |
sub %r6,%r4,%r19 ;# 4639 subsi3/1 |
addl %r28,%r19,%r6 ;# 4642 addsi3/1 |
sub %r12,%r4,%r19 ;# 4643 subsi3/1 |
comib,= 0,%r10,L$0466 ;# 4648 bleu+1 |
addl %r28,%r19,%r12 ;# 4646 addsi3/1 |
sub %r10,%r4,%r19 ;# 4649 subsi3/1 |
addl %r28,%r19,%r10 ;# 4652 addsi3/1 |
L$0466 |
comib,= 0,%r8,L$0467 ;# 4655 bleu+1 |
sub %r8,%r4,%r19 ;# 4656 subsi3/1 |
addl %r28,%r19,%r8 ;# 4659 addsi3/1 |
L$0467 |
comib,= 0,%r9,L$0456 ;# 4662 bleu+1 |
sub %r9,%r4,%r19 ;# 4663 subsi3/1 |
addl %r28,%r19,%r9 ;# 4666 addsi3/1 |
L$0456 |
ldw 0(%r5),%r4 ;# 4567 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 4571 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 4568 subsi3/1 |
ldo 3(%r19),%r19 ;# 4569 addsi3/2 |
comb,<< %r20,%r19,L$0458 |
nop ;# 4573 bleu+1 |
L$0457 |
ldi 6,%r19 ;# 4688 movqi+1/2 |
stbs,ma %r19,1(%r6) ;# 4689 movqi+1/6 |
stbs,ma %r7,1(%r6) ;# 4694 movqi+1/6 |
ldw -260(%r30),%r1 ;# 8974 reload_outsi+2/5 |
sub %r1,%r7,%r19 ;# 4700 subsi3/1 |
bl L$0043,%r0 ;# 4720 jump |
stbs,ma %r19,1(%r6) ;# 4702 movqi+1/6 |
L$0472 |
ldo R'33792(%r19),%r19 ;# 4725 movhi-2 |
and %r15,%r19,%r19 ;# 4726 andsi3/1 |
comib,<>,n 0,%r19,L$0397 ;# 4728 bleu+1 |
L$0378 |
bb,<,n %r15,21,L$0076 ;# 4739 bleu+3 |
ldw 0(%r5),%r3 ;# 8111 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8114 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8112 subsi3/1 |
ldo 3(%r19),%r19 ;# 8113 addsi3/2 |
comb,>>=,n %r20,%r19,L$0476 ;# 8115 bleu+1 |
ldil L'65536,%r4 ;# 8587 reload_outsi+2/3 |
L$0477 |
comb,= %r4,%r20,L$0944 ;# 4768 bleu+1 |
zdep %r20,30,31,%r19 ;# 4778 ashlsi3+1 |
comb,>>= %r4,%r19,L$0482 ;# 4786 bleu+1 |
stw %r19,4(%r5) ;# 4780 reload_outsi+2/6 |
stw %r4,4(%r5) ;# 4789 reload_outsi+2/6 |
L$0482 |
ldw 0(%r5),%r26 ;# 4796 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 4800 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 4798 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 4808 bleu+1 |
stw %r28,0(%r5) ;# 4804 reload_outsi+2/6 |
comb,= %r28,%r3,L$0475 ;# 4818 bleu+1 |
sub %r6,%r3,%r19 ;# 4820 subsi3/1 |
addl %r28,%r19,%r6 ;# 4823 addsi3/1 |
sub %r12,%r3,%r19 ;# 4824 subsi3/1 |
comib,= 0,%r10,L$0485 ;# 4829 bleu+1 |
addl %r28,%r19,%r12 ;# 4827 addsi3/1 |
sub %r10,%r3,%r19 ;# 4830 subsi3/1 |
addl %r28,%r19,%r10 ;# 4833 addsi3/1 |
L$0485 |
comib,= 0,%r8,L$0486 ;# 4836 bleu+1 |
sub %r8,%r3,%r19 ;# 4837 subsi3/1 |
addl %r28,%r19,%r8 ;# 4840 addsi3/1 |
L$0486 |
comib,= 0,%r9,L$0475 ;# 4843 bleu+1 |
sub %r9,%r3,%r19 ;# 4844 subsi3/1 |
addl %r28,%r19,%r9 ;# 4847 addsi3/1 |
L$0475 |
ldw 0(%r5),%r3 ;# 4748 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 4752 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 4749 subsi3/1 |
ldo 3(%r19),%r19 ;# 4750 addsi3/2 |
comb,<< %r20,%r19,L$0477 |
nop ;# 4754 bleu+1 |
L$0476 |
ldi 14,%r26 ;# 4873 reload_outsi+2/2 |
copy %r12,%r25 ;# 4875 reload_outsi+2/1 |
sub %r6,%r25,%r24 ;# 4870 subsi3/1 |
ldo 3(%r24),%r24 ;# 4877 addsi3/2 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl insert_op1,%r2 ;# 4881 call_internal_symref |
copy %r6,%r23 ;# 4879 reload_outsi+2/1 |
ldi 0,%r9 ;# 4884 reload_outsi+2/2 |
comib,= 0,%r10,L$0490 ;# 4889 bleu+1 |
ldo 3(%r6),%r6 ;# 4886 addsi3/2 |
ldi 13,%r26 ;# 4894 reload_outsi+2/2 |
copy %r10,%r25 ;# 4896 reload_outsi+2/1 |
sub %r6,%r25,%r24 ;# 4891 subsi3/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl store_op1,%r2 ;# 4900 call_internal_symref |
ldo -3(%r24),%r24 ;# 4898 addsi3/2 |
L$0490 |
ldw 0(%r5),%r3 ;# 8119 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8122 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8120 subsi3/1 |
ldo 3(%r19),%r19 ;# 8121 addsi3/2 |
comb,>>= %r20,%r19,L$0492 ;# 8123 bleu+1 |
copy %r6,%r10 ;# 4904 reload_outsi+2/1 |
ldil L'65536,%r4 ;# 8585 reload_outsi+2/3 |
L$0493 |
comb,= %r4,%r20,L$0944 ;# 4929 bleu+1 |
zdep %r20,30,31,%r19 ;# 4939 ashlsi3+1 |
comb,>>= %r4,%r19,L$0498 ;# 4947 bleu+1 |
stw %r19,4(%r5) ;# 4941 reload_outsi+2/6 |
stw %r4,4(%r5) ;# 4950 reload_outsi+2/6 |
L$0498 |
ldw 0(%r5),%r26 ;# 4957 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 4961 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 4959 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 4969 bleu+1 |
stw %r28,0(%r5) ;# 4965 reload_outsi+2/6 |
comb,= %r28,%r3,L$0491 ;# 4979 bleu+1 |
sub %r6,%r3,%r19 ;# 4981 subsi3/1 |
comib,= 0,%r10,L$0501 ;# 4990 bleu+1 |
addl %r28,%r19,%r6 ;# 4984 addsi3/1 |
sub %r10,%r3,%r19 ;# 4991 subsi3/1 |
addl %r28,%r19,%r10 ;# 4994 addsi3/1 |
L$0501 |
comib,= 0,%r8,L$0502 ;# 4997 bleu+1 |
sub %r8,%r3,%r19 ;# 4998 subsi3/1 |
addl %r28,%r19,%r8 ;# 5001 addsi3/1 |
L$0502 |
comib,= 0,%r9,L$0491 ;# 5004 bleu+1 |
sub %r9,%r3,%r19 ;# 5005 subsi3/1 |
addl %r28,%r19,%r9 ;# 5008 addsi3/1 |
L$0491 |
ldw 0(%r5),%r3 ;# 4909 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 4913 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 4910 subsi3/1 |
ldo 3(%r19),%r19 ;# 4911 addsi3/2 |
comb,<< %r20,%r19,L$0493 |
nop ;# 4915 bleu+1 |
L$0492 |
ldo 3(%r6),%r6 ;# 5030 addsi3/2 |
ldi 0,%r8 ;# 5033 reload_outsi+2/2 |
bl L$0043,%r0 ;# 5038 jump |
copy %r6,%r12 ;# 5036 reload_outsi+2/1 |
L$0506 |
bb,>= %r15,22,L$0397 ;# 5046 movsi-4 |
ldi 4608,%r20 ;# 5048 reload_outsi+2/2 |
and %r15,%r20,%r19 ;# 5049 andsi3/1 |
comb,= %r20,%r19,L$0397 ;# 5053 bleu+1 |
ldw -296(%r30),%r20 ;# 5055 reload_outsi+2/5 |
ldw -276(%r30),%r1 ;# 8977 reload_outsi+2/5 |
ldo -2(%r20),%r19 ;# 5056 addsi3/2 |
comb,<> %r1,%r19,L$1175 ;# 5058 bleu+1 |
ldi -1,%r4 ;# 5074 reload_outsi+2/2 |
comb,=,n %r16,%r20,L$0397 ;# 5062 bleu+1 |
L$1174 |
ldw -296(%r30),%r20 ;# 5079 reload_outsi+2/5 |
L$1175 |
copy %r4,%r11 ;# 5076 reload_outsi+2/1 |
comb,<> %r16,%r20,L$0517 ;# 5085 bleu+1 |
ldo -1(%r20),%r23 ;# 5080 addsi3/2 |
bb,>=,n %r15,19,L$0915 ;# 5092 movsi-4 |
bl L$1182,%r0 ;# 5107 jump |
stw %r23,-296(%r30) ;# 5968 reload_outsi+2/6 |
L$0517 |
ldo 1(%r20),%r19 ;# 5134 addsi3/2 |
stw %r19,-296(%r30) ;# 5136 reload_outsi+2/6 |
comib,= 0,%r14,L$0515 ;# 5143 bleu+1 |
ldb 0(%r20),%r7 ;# 5139 zero_extendqisi2/2 |
addl %r14,%r7,%r19 ;# 5144 addsi3/1 |
ldb 0(%r19),%r7 ;# 5147 zero_extendqisi2/2 |
L$0515 |
addil LR'__ctype-$global$,%r27 ;# 8257 pic2_lo_sum+1 |
ldw RR'__ctype-$global$(%r1),%r21 ;# 8259 reload_outsi+2/5 |
addl %r21,%r7,%r19 ;# 8260 addsi3/1 |
ldb 0(%r19),%r19 ;# 8261 movqi+1/5 |
bb,>= %r19,29,L$0513 ;# 8265 movsi-4 |
ldi 4,%r20 ;# 8263 reload_outsi+2/2 |
copy %r20,%r22 ;# 8583 reload_outsi+2/1 |
L$0522 |
comiclr,< -1,%r11,%r0 ;# 8128 movsicc+1/1 |
ldi 0,%r11 |
sh2addl %r11,%r11,%r19 ;# 5188 ashlsi3-2 |
sh1addl %r19,%r7,%r19 ;# 5191 ashlsi3-2 |
ldw -296(%r30),%r20 ;# 5194 reload_outsi+2/5 |
comb,= %r16,%r20,L$0513 ;# 5196 bleu+1 |
ldo -48(%r19),%r11 ;# 5192 addsi3/2 |
ldo 1(%r20),%r19 ;# 5215 addsi3/2 |
stw %r19,-296(%r30) ;# 5217 reload_outsi+2/6 |
comib,= 0,%r14,L$0520 ;# 5224 bleu+1 |
ldb 0(%r20),%r7 ;# 5220 zero_extendqisi2/2 |
addl %r14,%r7,%r19 ;# 5225 addsi3/1 |
ldb 0(%r19),%r7 ;# 5228 zero_extendqisi2/2 |
L$0520 |
addl %r21,%r7,%r19 ;# 5166 addsi3/1 |
ldb 0(%r19),%r19 ;# 5168 movqi+1/5 |
and %r19,%r22,%r19 ;# 5172 andsi3/1 |
comib,<> 0,%r19,L$0522 |
nop ;# 5174 bleu+1 |
L$0513 |
ldi 44,%r19 ;# 5252 reload_outsi+2/2 |
comb,<> %r19,%r7,L$0532 ;# 5254 bleu+1 |
ldw -296(%r30),%r20 ;# 5259 reload_outsi+2/5 |
comb,= %r16,%r20,L$0533 ;# 5261 bleu+1 |
ldo 1(%r20),%r19 ;# 5278 addsi3/2 |
stw %r19,-296(%r30) ;# 5280 reload_outsi+2/6 |
comib,= 0,%r14,L$0535 ;# 5287 bleu+1 |
ldb 0(%r20),%r7 ;# 5283 zero_extendqisi2/2 |
addl %r14,%r7,%r19 ;# 5288 addsi3/1 |
ldb 0(%r19),%r7 ;# 5291 zero_extendqisi2/2 |
L$0535 |
addil LR'__ctype-$global$,%r27 ;# 8269 pic2_lo_sum+1 |
ldw RR'__ctype-$global$(%r1),%r21 ;# 8271 reload_outsi+2/5 |
addl %r21,%r7,%r19 ;# 8272 addsi3/1 |
ldb 0(%r19),%r19 ;# 8273 movqi+1/5 |
bb,>= %r19,29,L$0533 ;# 8277 movsi-4 |
ldi 4,%r20 ;# 8275 reload_outsi+2/2 |
copy %r20,%r22 ;# 8578 reload_outsi+2/1 |
L$0542 |
comiclr,< -1,%r4,%r0 ;# 8132 movsicc+1/1 |
ldi 0,%r4 |
sh2addl %r4,%r4,%r19 ;# 5332 ashlsi3-2 |
sh1addl %r19,%r7,%r19 ;# 5335 ashlsi3-2 |
ldw -296(%r30),%r20 ;# 5338 reload_outsi+2/5 |
comb,= %r16,%r20,L$0533 ;# 5340 bleu+1 |
ldo -48(%r19),%r4 ;# 5336 addsi3/2 |
ldo 1(%r20),%r19 ;# 5359 addsi3/2 |
stw %r19,-296(%r30) ;# 5361 reload_outsi+2/6 |
comib,= 0,%r14,L$0540 ;# 5368 bleu+1 |
ldb 0(%r20),%r7 ;# 5364 zero_extendqisi2/2 |
addl %r14,%r7,%r19 ;# 5369 addsi3/1 |
ldb 0(%r19),%r7 ;# 5372 zero_extendqisi2/2 |
L$0540 |
addl %r21,%r7,%r19 ;# 5310 addsi3/1 |
ldb 0(%r19),%r19 ;# 5312 movqi+1/5 |
and %r19,%r22,%r19 ;# 5316 andsi3/1 |
comib,<> 0,%r19,L$0542 |
nop ;# 5318 bleu+1 |
L$0533 |
comiclr,< -1,%r4,%r0 ;# 8136 beq-1/4 |
zdepi -1,31,15,%r4 |
bl,n L$0553,%r0 ;# 5401 jump |
L$0532 |
copy %r11,%r4 ;# 5406 reload_outsi+2/1 |
L$0553 |
comib,> 0,%r11,L$0951 ;# 5410 bleu+1 |
zdepi -1,31,15,%r19 ;# 5412 reload_outsi+2/4 |
comb,<,n %r19,%r4,L$0951 ;# 5414 bleu+1 |
comb,<,n %r4,%r11,L$0951 ;# 5416 bleu+1 |
bb,< %r15,19,L$1176 ;# 5451 bleu+3 |
ldi 125,%r19 ;# 5514 reload_outsi+2/2 |
ldi 92,%r19 ;# 5455 reload_outsi+2/2 |
comb,<> %r19,%r7,L$0915 ;# 5457 bleu+1 |
ldw -296(%r30),%r20 ;# 5473 reload_outsi+2/5 |
comb,= %r16,%r20,L$0922 ;# 5475 bleu+1 |
ldo 1(%r20),%r19 ;# 5484 addsi3/2 |
stw %r19,-296(%r30) ;# 5486 reload_outsi+2/6 |
comib,= 0,%r14,L$0558 ;# 5493 bleu+1 |
ldb 0(%r20),%r7 ;# 5489 zero_extendqisi2/2 |
addl %r14,%r7,%r19 ;# 5494 addsi3/1 |
ldb 0(%r19),%r7 ;# 5497 zero_extendqisi2/2 |
L$0558 |
ldi 125,%r19 ;# 5514 reload_outsi+2/2 |
L$1176 |
comb,=,n %r19,%r7,L$0566 ;# 5516 bleu+1 |
L$0951 |
bb,<,n %r15,19,L$0511 ;# 5523 bleu+3 |
.CALL ARGW0=GR |
bl free,%r2 ;# 5534 call_internal_symref |
ldw -312(%r30),%r26 ;# 5532 reload_outsi+2/5 |
bl L$0867,%r0 ;# 5538 jump |
ldi 10,%r28 ;# 5536 reload_outsi+2/2 |
L$0566 |
comib,<>,n 0,%r8,L$0569 ;# 5545 bleu+1 |
bb,<,n %r15,26,L$0917 ;# 5552 bleu+3 |
bb,>=,n %r15,27,L$0511 ;# 5571 movsi-4 |
copy %r6,%r8 ;# 5574 reload_outsi+2/1 |
L$0569 |
comib,<> 0,%r4,L$0574 ;# 5587 bleu+1 |
ldi 10,%r13 ;# 8980 reload_outsi+2/2 |
ldw 0(%r5),%r3 ;# 8139 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8142 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8140 subsi3/1 |
ldo 3(%r19),%r19 ;# 8141 addsi3/2 |
comb,>>=,n %r20,%r19,L$0576 ;# 8143 bleu+1 |
ldil L'65536,%r4 ;# 8573 reload_outsi+2/3 |
L$0577 |
comb,= %r4,%r20,L$0944 ;# 5613 bleu+1 |
zdep %r20,30,31,%r19 ;# 5623 ashlsi3+1 |
comb,>>= %r4,%r19,L$0582 ;# 5631 bleu+1 |
stw %r19,4(%r5) ;# 5625 reload_outsi+2/6 |
stw %r4,4(%r5) ;# 5634 reload_outsi+2/6 |
L$0582 |
ldw 0(%r5),%r26 ;# 5641 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 5645 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 5643 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 5653 bleu+1 |
stw %r28,0(%r5) ;# 5649 reload_outsi+2/6 |
comb,= %r28,%r3,L$0575 ;# 5663 bleu+1 |
sub %r6,%r3,%r19 ;# 5665 subsi3/1 |
addl %r28,%r19,%r6 ;# 5668 addsi3/1 |
sub %r12,%r3,%r19 ;# 5669 subsi3/1 |
comib,= 0,%r10,L$0585 ;# 5674 bleu+1 |
addl %r28,%r19,%r12 ;# 5672 addsi3/1 |
sub %r10,%r3,%r19 ;# 5675 subsi3/1 |
addl %r28,%r19,%r10 ;# 5678 addsi3/1 |
L$0585 |
comib,= 0,%r8,L$0586 ;# 5681 bleu+1 |
sub %r8,%r3,%r19 ;# 5682 subsi3/1 |
addl %r28,%r19,%r8 ;# 5685 addsi3/1 |
L$0586 |
comib,= 0,%r9,L$0575 ;# 5688 bleu+1 |
sub %r9,%r3,%r19 ;# 5689 subsi3/1 |
addl %r28,%r19,%r9 ;# 5692 addsi3/1 |
L$0575 |
ldw 0(%r5),%r3 ;# 5593 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 5597 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 5594 subsi3/1 |
ldo 3(%r19),%r19 ;# 5595 addsi3/2 |
comb,<< %r20,%r19,L$0577 |
nop ;# 5599 bleu+1 |
L$0576 |
ldi 12,%r26 ;# 5718 reload_outsi+2/2 |
copy %r8,%r25 ;# 5720 reload_outsi+2/1 |
sub %r6,%r8,%r24 ;# 5722 subsi3/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl insert_op1,%r2 ;# 5726 call_internal_symref |
copy %r6,%r23 ;# 5724 reload_outsi+2/1 |
bl L$0590,%r0 ;# 5730 jump |
ldo 3(%r6),%r6 ;# 5728 addsi3/2 |
L$0574 |
comiclr,> 2,%r4,%r0 ;# 8282 beq-1/2 |
ldi 20,%r13 |
ldw 0(%r5),%r3 ;# 8285 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8288 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 8286 subsi3/1 |
addl %r19,%r13,%r19 ;# 8287 addsi3/1 |
comb,>>=,n %r20,%r19,L$0868 ;# 8289 bleu+1 |
ldil L'65536,%r7 ;# 8571 reload_outsi+2/3 |
L$0595 |
comb,= %r7,%r20,L$0944 ;# 5769 bleu+1 |
zdep %r20,30,31,%r19 ;# 5779 ashlsi3+1 |
comb,>>= %r7,%r19,L$0600 ;# 5787 bleu+1 |
stw %r19,4(%r5) ;# 5781 reload_outsi+2/6 |
stw %r7,4(%r5) ;# 5790 reload_outsi+2/6 |
L$0600 |
ldw 0(%r5),%r26 ;# 5797 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 5801 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 5799 reload_outsi+2/5 |
comib,= 0,%r28,L$0953 ;# 5809 bleu+1 |
stw %r28,0(%r5) ;# 5805 reload_outsi+2/6 |
comb,= %r28,%r3,L$0593 ;# 5819 bleu+1 |
sub %r6,%r3,%r19 ;# 5821 subsi3/1 |
addl %r28,%r19,%r6 ;# 5824 addsi3/1 |
sub %r12,%r3,%r19 ;# 5825 subsi3/1 |
comib,= 0,%r10,L$0603 ;# 5830 bleu+1 |
addl %r28,%r19,%r12 ;# 5828 addsi3/1 |
sub %r10,%r3,%r19 ;# 5831 subsi3/1 |
addl %r28,%r19,%r10 ;# 5834 addsi3/1 |
L$0603 |
comib,= 0,%r8,L$0604 ;# 5837 bleu+1 |
sub %r8,%r3,%r19 ;# 5838 subsi3/1 |
addl %r28,%r19,%r8 ;# 5841 addsi3/1 |
L$0604 |
comib,= 0,%r9,L$0593 ;# 5844 bleu+1 |
sub %r9,%r3,%r19 ;# 5845 subsi3/1 |
addl %r28,%r19,%r9 ;# 5848 addsi3/1 |
L$0593 |
ldw 0(%r5),%r3 ;# 5749 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 5753 reload_outsi+2/5 |
sub %r6,%r3,%r19 ;# 5750 subsi3/1 |
addl %r19,%r13,%r19 ;# 5751 addsi3/1 |
comb,<< %r20,%r19,L$0595 |
nop ;# 5755 bleu+1 |
L$0868 |
comib,>= 1,%r4,L$0608 ;# 5872 bleu+1 |
ldo 5(%r6),%r19 ;# 5870 addsi3/2 |
sub %r19,%r8,%r19 ;# 5874 subsi3/1 |
bl L$0609,%r0 ;# 5876 jump |
ldo 2(%r19),%r24 ;# 5875 addsi3/2 |
L$0608 |
sub %r19,%r8,%r19 ;# 5879 subsi3/1 |
ldo -3(%r19),%r24 ;# 5880 addsi3/2 |
L$0609 |
ldi 20,%r26 ;# 5885 reload_outsi+2/2 |
copy %r8,%r25 ;# 5887 reload_outsi+2/1 |
copy %r11,%r23 ;# 5891 reload_outsi+2/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl insert_op2,%r2 ;# 5893 call_internal_symref |
stw %r6,-52(%r30) ;# 5883 reload_outsi+2/6 |
ldo 5(%r6),%r6 ;# 5895 addsi3/2 |
ldi 22,%r26 ;# 5900 reload_outsi+2/2 |
copy %r8,%r25 ;# 5902 reload_outsi+2/1 |
ldi 5,%r24 ;# 5904 reload_outsi+2/2 |
copy %r11,%r23 ;# 5906 reload_outsi+2/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl insert_op2,%r2 ;# 5908 call_internal_symref |
stw %r6,-52(%r30) ;# 5898 reload_outsi+2/6 |
comib,>= 1,%r4,L$0590 ;# 5913 bleu+1 |
ldo 5(%r6),%r6 ;# 5910 addsi3/2 |
ldi 21,%r26 ;# 5921 reload_outsi+2/2 |
copy %r6,%r25 ;# 5923 reload_outsi+2/1 |
sub %r8,%r6,%r24 ;# 5917 subsi3/1 |
ldo 2(%r24),%r24 ;# 5925 addsi3/2 |
ldo -1(%r4),%r4 ;# 5919 addsi3/2 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl store_op2,%r2 ;# 5929 call_internal_symref |
copy %r4,%r23 ;# 5927 reload_outsi+2/1 |
ldo 5(%r6),%r6 ;# 5931 addsi3/2 |
stw %r6,-52(%r30) ;# 5936 reload_outsi+2/6 |
ldi 22,%r26 ;# 5938 reload_outsi+2/2 |
copy %r8,%r25 ;# 5940 reload_outsi+2/1 |
sub %r6,%r8,%r24 ;# 5942 subsi3/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl insert_op2,%r2 ;# 5946 call_internal_symref |
copy %r4,%r23 ;# 5944 reload_outsi+2/1 |
ldo 5(%r6),%r6 ;# 5948 addsi3/2 |
L$0590 |
bl L$0043,%r0 ;# 5963 jump |
ldi 0,%r9 ;# 5956 reload_outsi+2/2 |
L$0511 |
stw %r23,-296(%r30) ;# 5968 reload_outsi+2/6 |
L$1182 |
ldw -296(%r30),%r20 ;# 5977 reload_outsi+2/5 |
comb,= %r16,%r20,L$0922 ;# 5979 bleu+1 |
ldo 1(%r20),%r21 ;# 5988 addsi3/2 |
ldb 0(%r20),%r20 ;# 5992 movqi+1/5 |
stw %r21,-296(%r30) ;# 5990 reload_outsi+2/6 |
comib,= 0,%r14,L$0612 ;# 5997 bleu+1 |
extru %r20,31,8,%r7 ;# 5993 zero_extendqisi2/1 |
addl %r14,%r7,%r19 ;# 5998 addsi3/1 |
ldb 0(%r19),%r7 ;# 6001 zero_extendqisi2/2 |
L$0612 |
bb,< %r15,19,L$0076 ;# 6019 bleu+3 |
ldw -276(%r30),%r1 ;# 8983 reload_outsi+2/5 |
comb,>>= %r1,%r21,L$0076 ;# 6025 bleu+1 |
extrs %r20,31,8,%r20 ;# 6030 extendqisi2 |
ldi 92,%r19 ;# 6032 reload_outsi+2/2 |
comb,=,n %r19,%r20,L$0397 ;# 6034 bleu+1 |
bl,n L$0076,%r0 ;# 6042 jump |
L$0619 |
ldw 4(%r5),%r20 ;# 8151 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8149 subsi3/1 |
ldo 1(%r19),%r19 ;# 8150 addsi3/2 |
comb,>>= %r20,%r19,L$0624 ;# 8152 bleu+1 |
copy %r6,%r8 ;# 6047 reload_outsi+2/1 |
ldil L'65536,%r3 ;# 8569 reload_outsi+2/3 |
L$0625 |
comb,= %r3,%r20,L$0944 ;# 6075 bleu+1 |
zdep %r20,30,31,%r19 ;# 6085 ashlsi3+1 |
comb,>>= %r3,%r19,L$0630 ;# 6093 bleu+1 |
stw %r19,4(%r5) ;# 6087 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 6096 reload_outsi+2/6 |
L$0630 |
ldw 0(%r5),%r26 ;# 6103 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 6107 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 6105 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 6115 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 6111 reload_outsi+2/6 |
comb,= %r28,%r4,L$0623 ;# 6125 bleu+1 |
sub %r6,%r4,%r19 ;# 6127 subsi3/1 |
addl %r28,%r19,%r6 ;# 6130 addsi3/1 |
sub %r12,%r4,%r19 ;# 6131 subsi3/1 |
comib,= 0,%r10,L$0633 ;# 6136 bleu+1 |
addl %r28,%r19,%r12 ;# 6134 addsi3/1 |
sub %r10,%r4,%r19 ;# 6137 subsi3/1 |
addl %r28,%r19,%r10 ;# 6140 addsi3/1 |
L$0633 |
comib,= 0,%r8,L$0634 ;# 6143 bleu+1 |
sub %r8,%r4,%r19 ;# 6144 subsi3/1 |
addl %r28,%r19,%r8 ;# 6147 addsi3/1 |
L$0634 |
comib,= 0,%r9,L$0623 ;# 6150 bleu+1 |
sub %r9,%r4,%r19 ;# 6151 subsi3/1 |
addl %r28,%r19,%r9 ;# 6154 addsi3/1 |
L$0623 |
ldw 0(%r5),%r4 ;# 6055 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 6059 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 6056 subsi3/1 |
ldo 1(%r19),%r19 ;# 6057 addsi3/2 |
comb,<< %r20,%r19,L$0625 |
nop ;# 6061 bleu+1 |
L$0624 |
ldi 23,%r19 ;# 6176 movqi+1/2 |
bl L$0043,%r0 ;# 6189 jump |
stbs,ma %r19,1(%r6) ;# 6177 movqi+1/6 |
L$0639 |
ldw 4(%r5),%r20 ;# 8159 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8157 subsi3/1 |
ldo 1(%r19),%r19 ;# 8158 addsi3/2 |
comb,>>= %r20,%r19,L$0644 ;# 8160 bleu+1 |
copy %r6,%r8 ;# 6194 reload_outsi+2/1 |
ldil L'65536,%r3 ;# 8567 reload_outsi+2/3 |
L$0645 |
comb,= %r3,%r20,L$0944 ;# 6222 bleu+1 |
zdep %r20,30,31,%r19 ;# 6232 ashlsi3+1 |
comb,>>= %r3,%r19,L$0650 ;# 6240 bleu+1 |
stw %r19,4(%r5) ;# 6234 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 6243 reload_outsi+2/6 |
L$0650 |
ldw 0(%r5),%r26 ;# 6250 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 6254 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 6252 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 6262 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 6258 reload_outsi+2/6 |
comb,= %r28,%r4,L$0643 ;# 6272 bleu+1 |
sub %r6,%r4,%r19 ;# 6274 subsi3/1 |
addl %r28,%r19,%r6 ;# 6277 addsi3/1 |
sub %r12,%r4,%r19 ;# 6278 subsi3/1 |
comib,= 0,%r10,L$0653 ;# 6283 bleu+1 |
addl %r28,%r19,%r12 ;# 6281 addsi3/1 |
sub %r10,%r4,%r19 ;# 6284 subsi3/1 |
addl %r28,%r19,%r10 ;# 6287 addsi3/1 |
L$0653 |
comib,= 0,%r8,L$0654 ;# 6290 bleu+1 |
sub %r8,%r4,%r19 ;# 6291 subsi3/1 |
addl %r28,%r19,%r8 ;# 6294 addsi3/1 |
L$0654 |
comib,= 0,%r9,L$0643 ;# 6297 bleu+1 |
sub %r9,%r4,%r19 ;# 6298 subsi3/1 |
addl %r28,%r19,%r9 ;# 6301 addsi3/1 |
L$0643 |
ldw 0(%r5),%r4 ;# 6202 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 6206 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 6203 subsi3/1 |
ldo 1(%r19),%r19 ;# 6204 addsi3/2 |
comb,<< %r20,%r19,L$0645 |
nop ;# 6208 bleu+1 |
L$0644 |
ldi 24,%r19 ;# 6323 movqi+1/2 |
bl L$0043,%r0 ;# 6336 jump |
stbs,ma %r19,1(%r6) ;# 6324 movqi+1/6 |
L$0659 |
ldw 4(%r5),%r20 ;# 8167 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8165 subsi3/1 |
ldo 1(%r19),%r19 ;# 8166 addsi3/2 |
comb,>>=,n %r20,%r19,L$0664 ;# 8168 bleu+1 |
ldil L'65536,%r3 ;# 8565 reload_outsi+2/3 |
L$0665 |
comb,= %r3,%r20,L$0944 ;# 6366 bleu+1 |
zdep %r20,30,31,%r19 ;# 6376 ashlsi3+1 |
comb,>>= %r3,%r19,L$0670 ;# 6384 bleu+1 |
stw %r19,4(%r5) ;# 6378 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 6387 reload_outsi+2/6 |
L$0670 |
ldw 0(%r5),%r26 ;# 6394 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 6398 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 6396 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 6406 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 6402 reload_outsi+2/6 |
comb,= %r28,%r4,L$0663 ;# 6416 bleu+1 |
sub %r6,%r4,%r19 ;# 6418 subsi3/1 |
addl %r28,%r19,%r6 ;# 6421 addsi3/1 |
sub %r12,%r4,%r19 ;# 6422 subsi3/1 |
comib,= 0,%r10,L$0673 ;# 6427 bleu+1 |
addl %r28,%r19,%r12 ;# 6425 addsi3/1 |
sub %r10,%r4,%r19 ;# 6428 subsi3/1 |
addl %r28,%r19,%r10 ;# 6431 addsi3/1 |
L$0673 |
comib,= 0,%r8,L$0674 ;# 6434 bleu+1 |
sub %r8,%r4,%r19 ;# 6435 subsi3/1 |
addl %r28,%r19,%r8 ;# 6438 addsi3/1 |
L$0674 |
comib,= 0,%r9,L$0663 ;# 6441 bleu+1 |
sub %r9,%r4,%r19 ;# 6442 subsi3/1 |
addl %r28,%r19,%r9 ;# 6445 addsi3/1 |
L$0663 |
ldw 0(%r5),%r4 ;# 6346 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 6350 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 6347 subsi3/1 |
ldo 1(%r19),%r19 ;# 6348 addsi3/2 |
comb,<< %r20,%r19,L$0665 |
nop ;# 6352 bleu+1 |
L$0664 |
ldi 25,%r19 ;# 6467 movqi+1/2 |
bl L$0043,%r0 ;# 6480 jump |
stbs,ma %r19,1(%r6) ;# 6468 movqi+1/6 |
L$0679 |
ldw 4(%r5),%r20 ;# 8175 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8173 subsi3/1 |
ldo 1(%r19),%r19 ;# 8174 addsi3/2 |
comb,>>=,n %r20,%r19,L$0684 ;# 8176 bleu+1 |
ldil L'65536,%r3 ;# 8563 reload_outsi+2/3 |
L$0685 |
comb,= %r3,%r20,L$0944 ;# 6510 bleu+1 |
zdep %r20,30,31,%r19 ;# 6520 ashlsi3+1 |
comb,>>= %r3,%r19,L$0690 ;# 6528 bleu+1 |
stw %r19,4(%r5) ;# 6522 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 6531 reload_outsi+2/6 |
L$0690 |
ldw 0(%r5),%r26 ;# 6538 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 6542 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 6540 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 6550 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 6546 reload_outsi+2/6 |
comb,= %r28,%r4,L$0683 ;# 6560 bleu+1 |
sub %r6,%r4,%r19 ;# 6562 subsi3/1 |
addl %r28,%r19,%r6 ;# 6565 addsi3/1 |
sub %r12,%r4,%r19 ;# 6566 subsi3/1 |
comib,= 0,%r10,L$0693 ;# 6571 bleu+1 |
addl %r28,%r19,%r12 ;# 6569 addsi3/1 |
sub %r10,%r4,%r19 ;# 6572 subsi3/1 |
addl %r28,%r19,%r10 ;# 6575 addsi3/1 |
L$0693 |
comib,= 0,%r8,L$0694 ;# 6578 bleu+1 |
sub %r8,%r4,%r19 ;# 6579 subsi3/1 |
addl %r28,%r19,%r8 ;# 6582 addsi3/1 |
L$0694 |
comib,= 0,%r9,L$0683 ;# 6585 bleu+1 |
sub %r9,%r4,%r19 ;# 6586 subsi3/1 |
addl %r28,%r19,%r9 ;# 6589 addsi3/1 |
L$0683 |
ldw 0(%r5),%r4 ;# 6490 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 6494 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 6491 subsi3/1 |
ldo 1(%r19),%r19 ;# 6492 addsi3/2 |
comb,<< %r20,%r19,L$0685 |
nop ;# 6496 bleu+1 |
L$0684 |
ldi 26,%r19 ;# 6611 movqi+1/2 |
bl L$0043,%r0 ;# 6624 jump |
stbs,ma %r19,1(%r6) ;# 6612 movqi+1/6 |
L$0699 |
ldw 4(%r5),%r20 ;# 8183 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8181 subsi3/1 |
ldo 1(%r19),%r19 ;# 8182 addsi3/2 |
comb,>>=,n %r20,%r19,L$0704 ;# 8184 bleu+1 |
ldil L'65536,%r3 ;# 8561 reload_outsi+2/3 |
L$0705 |
comb,= %r3,%r20,L$0944 ;# 6654 bleu+1 |
zdep %r20,30,31,%r19 ;# 6664 ashlsi3+1 |
comb,>>= %r3,%r19,L$0710 ;# 6672 bleu+1 |
stw %r19,4(%r5) ;# 6666 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 6675 reload_outsi+2/6 |
L$0710 |
ldw 0(%r5),%r26 ;# 6682 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 6686 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 6684 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 6694 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 6690 reload_outsi+2/6 |
comb,= %r28,%r4,L$0703 ;# 6704 bleu+1 |
sub %r6,%r4,%r19 ;# 6706 subsi3/1 |
addl %r28,%r19,%r6 ;# 6709 addsi3/1 |
sub %r12,%r4,%r19 ;# 6710 subsi3/1 |
comib,= 0,%r10,L$0713 ;# 6715 bleu+1 |
addl %r28,%r19,%r12 ;# 6713 addsi3/1 |
sub %r10,%r4,%r19 ;# 6716 subsi3/1 |
addl %r28,%r19,%r10 ;# 6719 addsi3/1 |
L$0713 |
comib,= 0,%r8,L$0714 ;# 6722 bleu+1 |
sub %r8,%r4,%r19 ;# 6723 subsi3/1 |
addl %r28,%r19,%r8 ;# 6726 addsi3/1 |
L$0714 |
comib,= 0,%r9,L$0703 ;# 6729 bleu+1 |
sub %r9,%r4,%r19 ;# 6730 subsi3/1 |
addl %r28,%r19,%r9 ;# 6733 addsi3/1 |
L$0703 |
ldw 0(%r5),%r4 ;# 6634 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 6638 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 6635 subsi3/1 |
ldo 1(%r19),%r19 ;# 6636 addsi3/2 |
comb,<< %r20,%r19,L$0705 |
nop ;# 6640 bleu+1 |
L$0704 |
ldi 27,%r19 ;# 6755 movqi+1/2 |
bl L$0043,%r0 ;# 6768 jump |
stbs,ma %r19,1(%r6) ;# 6756 movqi+1/6 |
L$0719 |
ldw 4(%r5),%r20 ;# 8191 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8189 subsi3/1 |
ldo 1(%r19),%r19 ;# 8190 addsi3/2 |
comb,>>=,n %r20,%r19,L$0724 ;# 8192 bleu+1 |
ldil L'65536,%r3 ;# 8559 reload_outsi+2/3 |
L$0725 |
comb,= %r3,%r20,L$0944 ;# 6798 bleu+1 |
zdep %r20,30,31,%r19 ;# 6808 ashlsi3+1 |
comb,>>= %r3,%r19,L$0730 ;# 6816 bleu+1 |
stw %r19,4(%r5) ;# 6810 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 6819 reload_outsi+2/6 |
L$0730 |
ldw 0(%r5),%r26 ;# 6826 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 6830 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 6828 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 6838 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 6834 reload_outsi+2/6 |
comb,= %r28,%r4,L$0723 ;# 6848 bleu+1 |
sub %r6,%r4,%r19 ;# 6850 subsi3/1 |
addl %r28,%r19,%r6 ;# 6853 addsi3/1 |
sub %r12,%r4,%r19 ;# 6854 subsi3/1 |
comib,= 0,%r10,L$0733 ;# 6859 bleu+1 |
addl %r28,%r19,%r12 ;# 6857 addsi3/1 |
sub %r10,%r4,%r19 ;# 6860 subsi3/1 |
addl %r28,%r19,%r10 ;# 6863 addsi3/1 |
L$0733 |
comib,= 0,%r8,L$0734 ;# 6866 bleu+1 |
sub %r8,%r4,%r19 ;# 6867 subsi3/1 |
addl %r28,%r19,%r8 ;# 6870 addsi3/1 |
L$0734 |
comib,= 0,%r9,L$0723 ;# 6873 bleu+1 |
sub %r9,%r4,%r19 ;# 6874 subsi3/1 |
addl %r28,%r19,%r9 ;# 6877 addsi3/1 |
L$0723 |
ldw 0(%r5),%r4 ;# 6778 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 6782 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 6779 subsi3/1 |
ldo 1(%r19),%r19 ;# 6780 addsi3/2 |
comb,<< %r20,%r19,L$0725 |
nop ;# 6784 bleu+1 |
L$0724 |
ldi 28,%r19 ;# 6899 movqi+1/2 |
bl L$0043,%r0 ;# 6912 jump |
stbs,ma %r19,1(%r6) ;# 6900 movqi+1/6 |
L$0739 |
ldw 4(%r5),%r20 ;# 8199 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8197 subsi3/1 |
ldo 1(%r19),%r19 ;# 8198 addsi3/2 |
comb,>>=,n %r20,%r19,L$0744 ;# 8200 bleu+1 |
ldil L'65536,%r3 ;# 8557 reload_outsi+2/3 |
L$0745 |
comb,= %r3,%r20,L$0944 ;# 6942 bleu+1 |
zdep %r20,30,31,%r19 ;# 6952 ashlsi3+1 |
comb,>>= %r3,%r19,L$0750 ;# 6960 bleu+1 |
stw %r19,4(%r5) ;# 6954 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 6963 reload_outsi+2/6 |
L$0750 |
ldw 0(%r5),%r26 ;# 6970 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 6974 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 6972 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 6982 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 6978 reload_outsi+2/6 |
comb,= %r28,%r4,L$0743 ;# 6992 bleu+1 |
sub %r6,%r4,%r19 ;# 6994 subsi3/1 |
addl %r28,%r19,%r6 ;# 6997 addsi3/1 |
sub %r12,%r4,%r19 ;# 6998 subsi3/1 |
comib,= 0,%r10,L$0753 ;# 7003 bleu+1 |
addl %r28,%r19,%r12 ;# 7001 addsi3/1 |
sub %r10,%r4,%r19 ;# 7004 subsi3/1 |
addl %r28,%r19,%r10 ;# 7007 addsi3/1 |
L$0753 |
comib,= 0,%r8,L$0754 ;# 7010 bleu+1 |
sub %r8,%r4,%r19 ;# 7011 subsi3/1 |
addl %r28,%r19,%r8 ;# 7014 addsi3/1 |
L$0754 |
comib,= 0,%r9,L$0743 ;# 7017 bleu+1 |
sub %r9,%r4,%r19 ;# 7018 subsi3/1 |
addl %r28,%r19,%r9 ;# 7021 addsi3/1 |
L$0743 |
ldw 0(%r5),%r4 ;# 6922 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 6926 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 6923 subsi3/1 |
ldo 1(%r19),%r19 ;# 6924 addsi3/2 |
comb,<< %r20,%r19,L$0745 |
nop ;# 6928 bleu+1 |
L$0744 |
ldi 10,%r19 ;# 7043 movqi+1/2 |
bl L$0043,%r0 ;# 7056 jump |
stbs,ma %r19,1(%r6) ;# 7044 movqi+1/6 |
L$0759 |
ldw 4(%r5),%r20 ;# 8207 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8205 subsi3/1 |
ldo 1(%r19),%r19 ;# 8206 addsi3/2 |
comb,>>=,n %r20,%r19,L$0764 ;# 8208 bleu+1 |
ldil L'65536,%r3 ;# 8555 reload_outsi+2/3 |
L$0765 |
comb,= %r3,%r20,L$0944 ;# 7086 bleu+1 |
zdep %r20,30,31,%r19 ;# 7096 ashlsi3+1 |
comb,>>= %r3,%r19,L$0770 ;# 7104 bleu+1 |
stw %r19,4(%r5) ;# 7098 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 7107 reload_outsi+2/6 |
L$0770 |
ldw 0(%r5),%r26 ;# 7114 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 7118 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 7116 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 7126 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 7122 reload_outsi+2/6 |
comb,= %r28,%r4,L$0763 ;# 7136 bleu+1 |
sub %r6,%r4,%r19 ;# 7138 subsi3/1 |
addl %r28,%r19,%r6 ;# 7141 addsi3/1 |
sub %r12,%r4,%r19 ;# 7142 subsi3/1 |
comib,= 0,%r10,L$0773 ;# 7147 bleu+1 |
addl %r28,%r19,%r12 ;# 7145 addsi3/1 |
sub %r10,%r4,%r19 ;# 7148 subsi3/1 |
addl %r28,%r19,%r10 ;# 7151 addsi3/1 |
L$0773 |
comib,= 0,%r8,L$0774 ;# 7154 bleu+1 |
sub %r8,%r4,%r19 ;# 7155 subsi3/1 |
addl %r28,%r19,%r8 ;# 7158 addsi3/1 |
L$0774 |
comib,= 0,%r9,L$0763 ;# 7161 bleu+1 |
sub %r9,%r4,%r19 ;# 7162 subsi3/1 |
addl %r28,%r19,%r9 ;# 7165 addsi3/1 |
L$0763 |
ldw 0(%r5),%r4 ;# 7066 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 7070 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 7067 subsi3/1 |
ldo 1(%r19),%r19 ;# 7068 addsi3/2 |
comb,<< %r20,%r19,L$0765 |
nop ;# 7072 bleu+1 |
L$0764 |
ldi 11,%r19 ;# 7187 movqi+1/2 |
bl L$0043,%r0 ;# 7200 jump |
stbs,ma %r19,1(%r6) ;# 7188 movqi+1/6 |
L$0787 |
bb,< %r15,17,L$0076 ;# 7216 bleu+3 |
ldo -48(%r7),%r19 ;# 7224 addsi3/2 |
ldw -260(%r30),%r1 ;# 8986 reload_outsi+2/5 |
extru %r19,31,8,%r3 ;# 7225 zero_extendqisi2/1 |
comb,<< %r1,%r3,L$0939 ;# 7230 bleu+1 |
ldo -312(%r30),%r26 ;# 7244 addsi3/2 |
.CALL ARGW0=GR,ARGW1=GR |
bl group_in_compile_stack,%r2 ;# 7248 call_value_internal_symref |
copy %r3,%r25 ;# 7246 reload_outsi+2/1 |
extrs %r28,31,8,%r28 ;# 7251 extendqisi2 |
comib,<>,n 0,%r28,L$0076 ;# 7253 bleu+1 |
ldw 0(%r5),%r4 ;# 8212 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8215 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8213 subsi3/1 |
ldo 2(%r19),%r19 ;# 8214 addsi3/2 |
comb,>>= %r20,%r19,L$0795 ;# 8216 bleu+1 |
copy %r6,%r8 ;# 7260 reload_outsi+2/1 |
ldil L'65536,%r7 ;# 8553 reload_outsi+2/3 |
L$0796 |
comb,= %r7,%r20,L$0944 ;# 7288 bleu+1 |
zdep %r20,30,31,%r19 ;# 7298 ashlsi3+1 |
comb,>>= %r7,%r19,L$0801 ;# 7306 bleu+1 |
stw %r19,4(%r5) ;# 7300 reload_outsi+2/6 |
stw %r7,4(%r5) ;# 7309 reload_outsi+2/6 |
L$0801 |
ldw 0(%r5),%r26 ;# 7316 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 7320 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 7318 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 7328 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 7324 reload_outsi+2/6 |
comb,= %r28,%r4,L$0794 ;# 7338 bleu+1 |
sub %r6,%r4,%r19 ;# 7340 subsi3/1 |
addl %r28,%r19,%r6 ;# 7343 addsi3/1 |
sub %r12,%r4,%r19 ;# 7344 subsi3/1 |
comib,= 0,%r10,L$0804 ;# 7349 bleu+1 |
addl %r28,%r19,%r12 ;# 7347 addsi3/1 |
sub %r10,%r4,%r19 ;# 7350 subsi3/1 |
addl %r28,%r19,%r10 ;# 7353 addsi3/1 |
L$0804 |
comib,= 0,%r8,L$0805 ;# 7356 bleu+1 |
sub %r8,%r4,%r19 ;# 7357 subsi3/1 |
addl %r28,%r19,%r8 ;# 7360 addsi3/1 |
L$0805 |
comib,= 0,%r9,L$0794 ;# 7363 bleu+1 |
sub %r9,%r4,%r19 ;# 7364 subsi3/1 |
addl %r28,%r19,%r9 ;# 7367 addsi3/1 |
L$0794 |
ldw 0(%r5),%r4 ;# 7268 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 7272 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 7269 subsi3/1 |
ldo 2(%r19),%r19 ;# 7270 addsi3/2 |
comb,<< %r20,%r19,L$0796 |
nop ;# 7274 bleu+1 |
L$0795 |
ldi 7,%r19 ;# 7389 movqi+1/2 |
stbs,ma %r19,1(%r6) ;# 7390 movqi+1/6 |
bl L$0043,%r0 ;# 7405 jump |
stbs,ma %r3,1(%r6) ;# 7393 movqi+1/6 |
L$0811 |
bb,< %r15,30,L$0104 |
nop ;# 7414 bleu+3 |
L$0397 |
comib,= 0,%r14,L$0815 ;# 7429 bleu+1 |
addl %r14,%r7,%r19 ;# 7430 addsi3/1 |
bl L$0816,%r0 ;# 7434 jump |
ldb 0(%r19),%r19 ;# 7433 zero_extendqisi2/2 |
L$0815 |
copy %r7,%r19 ;# 7438 reload_outsi+2/1 |
L$0816 |
copy %r19,%r7 ;# 7441 reload_outsi+2/1 |
L$0076 |
comib,=,n 0,%r9,L$0820 ;# 7460 bleu+1 |
ldb 0(%r9),%r20 ;# 7463 zero_extendqisi2/2 |
addl %r9,%r20,%r19 ;# 7464 addsi3/1 |
ldo 1(%r19),%r19 ;# 7465 addsi3/2 |
comb,<> %r6,%r19,L$0820 ;# 7467 bleu+1 |
ldi 255,%r19 ;# 7472 reload_outsi+2/2 |
comb,= %r19,%r20,L$0820 ;# 7474 bleu+1 |
ldw -296(%r30),%r21 ;# 7476 reload_outsi+2/5 |
ldb 0(%r21),%r19 ;# 7478 movqi+1/5 |
extrs %r19,31,8,%r20 ;# 7479 extendqisi2 |
ldi 42,%r19 ;# 7481 reload_outsi+2/2 |
comb,= %r19,%r20,L$0820 ;# 7483 bleu+1 |
ldi 94,%r19 ;# 7490 reload_outsi+2/2 |
comb,=,n %r19,%r20,L$0820 ;# 7492 bleu+1 |
bb,>= %r15,30,L$0821 ;# 7497 movsi-4 |
ldi 92,%r19 ;# 7504 reload_outsi+2/2 |
comb,<>,n %r19,%r20,L$0822 ;# 7506 bleu+1 |
ldb 1(%r21),%r19 ;# 7510 movqi+1/5 |
extrs %r19,31,8,%r20 ;# 7511 extendqisi2 |
L$0821 |
ldi 43,%r19 ;# 7534 reload_outsi+2/2 |
comb,= %r19,%r20,L$0820 ;# 7536 bleu+1 |
ldi 63,%r19 ;# 7543 reload_outsi+2/2 |
comb,=,n %r19,%r20,L$0820 ;# 7545 bleu+1 |
L$0822 |
bb,>=,n %r15,22,L$0819 ;# 7553 movsi-4 |
bb,>= %r15,19,L$0823 ;# 7558 movsi-4 |
ldw -296(%r30),%r19 ;# 7560 reload_outsi+2/5 |
ldb 0(%r19),%r19 ;# 7562 movqi+1/5 |
ldi 123,%r20 ;# 7565 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 7563 extendqisi2 |
comb,=,n %r20,%r19,L$0820 ;# 7567 bleu+1 |
ldw 0(%r5),%r4 ;# 8228 reload_outsi+2/5 |
bl,n L$1177,%r0 ;# 7568 jump |
L$0823 |
ldw -296(%r30),%r21 ;# 7572 reload_outsi+2/5 |
ldb 0(%r21),%r19 ;# 7574 movqi+1/5 |
ldi 92,%r20 ;# 7577 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 7575 extendqisi2 |
comb,<>,n %r20,%r19,L$0819 ;# 7579 bleu+1 |
ldb 1(%r21),%r19 ;# 7583 movqi+1/5 |
ldi 123,%r20 ;# 7586 reload_outsi+2/2 |
extrs %r19,31,8,%r19 ;# 7584 extendqisi2 |
comb,<>,n %r20,%r19,L$0819 ;# 7588 bleu+1 |
L$0820 |
ldw 0(%r5),%r4 ;# 8220 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 8223 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8221 subsi3/1 |
ldo 2(%r19),%r19 ;# 8222 addsi3/2 |
comb,>>= %r20,%r19,L$0829 ;# 8224 bleu+1 |
copy %r6,%r8 ;# 7596 reload_outsi+2/1 |
ldil L'65536,%r3 ;# 8551 reload_outsi+2/3 |
L$0830 |
comb,= %r3,%r20,L$0944 ;# 7624 bleu+1 |
zdep %r20,30,31,%r19 ;# 7634 ashlsi3+1 |
comb,>>= %r3,%r19,L$0835 ;# 7642 bleu+1 |
stw %r19,4(%r5) ;# 7636 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 7645 reload_outsi+2/6 |
L$0835 |
ldw 0(%r5),%r26 ;# 7652 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 7656 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 7654 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 7664 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 7660 reload_outsi+2/6 |
comb,= %r28,%r4,L$0828 ;# 7674 bleu+1 |
sub %r6,%r4,%r19 ;# 7676 subsi3/1 |
addl %r28,%r19,%r6 ;# 7679 addsi3/1 |
sub %r12,%r4,%r19 ;# 7680 subsi3/1 |
comib,= 0,%r10,L$0838 ;# 7685 bleu+1 |
addl %r28,%r19,%r12 ;# 7683 addsi3/1 |
sub %r10,%r4,%r19 ;# 7686 subsi3/1 |
addl %r28,%r19,%r10 ;# 7689 addsi3/1 |
L$0838 |
comib,= 0,%r8,L$0839 ;# 7692 bleu+1 |
sub %r8,%r4,%r19 ;# 7693 subsi3/1 |
addl %r28,%r19,%r8 ;# 7696 addsi3/1 |
L$0839 |
comib,= 0,%r9,L$0828 ;# 7699 bleu+1 |
sub %r9,%r4,%r19 ;# 7700 subsi3/1 |
addl %r28,%r19,%r9 ;# 7703 addsi3/1 |
L$0828 |
ldw 0(%r5),%r4 ;# 7604 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 7608 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 7605 subsi3/1 |
ldo 2(%r19),%r19 ;# 7606 addsi3/2 |
comb,<< %r20,%r19,L$0830 |
nop ;# 7610 bleu+1 |
L$0829 |
ldi 1,%r19 ;# 7725 movqi+1/2 |
stbs,ma %r19,1(%r6) ;# 7726 movqi+1/6 |
stbs,ma %r0,1(%r6) ;# 7729 movqi+1/6 |
ldo -1(%r6),%r9 ;# 7741 addsi3/2 |
L$0819 |
ldw 0(%r5),%r4 ;# 8228 reload_outsi+2/5 |
L$1177 |
ldw 4(%r5),%r20 ;# 8231 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 8229 subsi3/1 |
ldo 1(%r19),%r19 ;# 8230 addsi3/2 |
comb,>>=,n %r20,%r19,L$0848 ;# 8232 bleu+1 |
ldil L'65536,%r3 ;# 8549 reload_outsi+2/3 |
L$0849 |
comb,= %r3,%r20,L$0944 ;# 7771 bleu+1 |
zdep %r20,30,31,%r19 ;# 7781 ashlsi3+1 |
comb,>>= %r3,%r19,L$0854 ;# 7789 bleu+1 |
stw %r19,4(%r5) ;# 7783 reload_outsi+2/6 |
stw %r3,4(%r5) ;# 7792 reload_outsi+2/6 |
L$0854 |
ldw 0(%r5),%r26 ;# 7799 reload_outsi+2/5 |
.CALL ARGW0=GR,ARGW1=GR |
bl realloc,%r2 ;# 7803 call_value_internal_symref |
ldw 4(%r5),%r25 ;# 7801 reload_outsi+2/5 |
comiclr,<> 0,%r28,%r0 ;# 7811 bleu+1 |
bl L$0953,%r0 |
stw %r28,0(%r5) ;# 7807 reload_outsi+2/6 |
comb,= %r28,%r4,L$0847 ;# 7821 bleu+1 |
sub %r6,%r4,%r19 ;# 7823 subsi3/1 |
addl %r28,%r19,%r6 ;# 7826 addsi3/1 |
sub %r12,%r4,%r19 ;# 7827 subsi3/1 |
comib,= 0,%r10,L$0857 ;# 7832 bleu+1 |
addl %r28,%r19,%r12 ;# 7830 addsi3/1 |
sub %r10,%r4,%r19 ;# 7833 subsi3/1 |
addl %r28,%r19,%r10 ;# 7836 addsi3/1 |
L$0857 |
comib,= 0,%r8,L$0858 ;# 7839 bleu+1 |
sub %r8,%r4,%r19 ;# 7840 subsi3/1 |
addl %r28,%r19,%r8 ;# 7843 addsi3/1 |
L$0858 |
comib,= 0,%r9,L$0847 ;# 7846 bleu+1 |
sub %r9,%r4,%r19 ;# 7847 subsi3/1 |
addl %r28,%r19,%r9 ;# 7850 addsi3/1 |
L$0847 |
ldw 0(%r5),%r4 ;# 7751 reload_outsi+2/5 |
ldw 4(%r5),%r20 ;# 7755 reload_outsi+2/5 |
sub %r6,%r4,%r19 ;# 7752 subsi3/1 |
ldo 1(%r19),%r19 ;# 7753 addsi3/2 |
comb,<< %r20,%r19,L$0849 |
nop ;# 7757 bleu+1 |
L$0848 |
stbs,ma %r7,1(%r6) ;# 7872 movqi+1/6 |
ldb 0(%r9),%r19 ;# 7885 movqi+1/5 |
ldo 1(%r19),%r19 ;# 7888 addsi3/2 |
stb %r19,0(%r9) ;# 7890 movqi+1/6 |
L$0043 |
ldw -296(%r30),%r19 ;# 2328 reload_outsi+2/5 |
L$1161 |
comclr,= %r16,%r19,%r0 ;# 258 bleu+1 |
bl L$1178,%r0 |
ldw -296(%r30),%r19 ;# 2334 reload_outsi+2/5 |
L$0044 |
comib,= 0,%r10,L$0865 ;# 7913 bleu+1 |
ldi 13,%r26 ;# 7918 reload_outsi+2/2 |
copy %r10,%r25 ;# 7920 reload_outsi+2/1 |
sub %r6,%r25,%r24 ;# 7915 subsi3/1 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl store_op1,%r2 ;# 7924 call_internal_symref |
ldo -3(%r24),%r24 ;# 7922 addsi3/2 |
L$0865 |
ldw -304(%r30),%r19 ;# 7928 reload_outsi+2/5 |
comib,<>,n 0,%r19,L$0866 ;# 7930 bleu+1 |
.CALL ARGW0=GR |
bl free,%r2 ;# 7946 call_internal_symref |
ldw -312(%r30),%r26 ;# 7944 reload_outsi+2/5 |
ldw 0(%r5),%r19 ;# 7949 reload_outsi+2/5 |
ldi 0,%r28 ;# 7955 reload_outsi+2/2 |
sub %r6,%r19,%r19 ;# 7950 subsi3/1 |
bl L$0867,%r0 ;# 7957 jump |
stw %r19,8(%r5) ;# 7952 reload_outsi+2/6 |
L$0895 |
.CALL ARGW0=GR |
bl free,%r2 ;# 2269 call_internal_symref |
ldw -312(%r30),%r26 ;# 2267 reload_outsi+2/5 |
bl L$0867,%r0 ;# 2273 jump |
ldi 11,%r28 ;# 2271 reload_outsi+2/2 |
L$0900 |
.CALL ARGW0=GR |
bl free,%r2 ;# 3161 call_internal_symref |
ldw -312(%r30),%r26 ;# 3159 reload_outsi+2/5 |
bl L$0867,%r0 ;# 3165 jump |
ldi 4,%r28 ;# 3163 reload_outsi+2/2 |
L$0902 |
.CALL ARGW0=GR |
bl free,%r2 ;# 3218 call_internal_symref |
ldw -312(%r30),%r26 ;# 3216 reload_outsi+2/5 |
bl L$0867,%r0 ;# 3222 jump |
ldi 7,%r28 ;# 3220 reload_outsi+2/2 |
L$0903 |
.CALL ARGW0=GR |
bl free,%r2 ;# 3803 call_internal_symref |
ldw -312(%r30),%r26 ;# 3801 reload_outsi+2/5 |
bl L$0867,%r0 ;# 3807 jump |
ldi 5,%r28 ;# 3805 reload_outsi+2/2 |
L$0915 |
.CALL ARGW0=GR |
bl free,%r2 ;# 5461 call_internal_symref |
ldw -312(%r30),%r26 ;# 5459 reload_outsi+2/5 |
bl L$0867,%r0 ;# 5465 jump |
ldi 9,%r28 ;# 5463 reload_outsi+2/2 |
L$0917 |
.CALL ARGW0=GR |
bl free,%r2 ;# 5557 call_internal_symref |
ldw -312(%r30),%r26 ;# 5555 reload_outsi+2/5 |
bl L$0867,%r0 ;# 5561 jump |
ldi 13,%r28 ;# 5559 reload_outsi+2/2 |
L$0922 |
bl L$0867,%r0 ;# 5983 jump |
ldi 14,%r28 ;# 5981 reload_outsi+2/2 |
L$0939 |
.CALL ARGW0=GR |
bl free,%r2 ;# 7235 call_internal_symref |
ldw -312(%r30),%r26 ;# 7233 reload_outsi+2/5 |
bl L$0867,%r0 ;# 7239 jump |
ldi 6,%r28 ;# 7237 reload_outsi+2/2 |
L$0944 |
bl L$0867,%r0 ;# 7775 jump |
ldi 15,%r28 ;# 7773 reload_outsi+2/2 |
L$0866 |
.CALL ARGW0=GR |
bl free,%r2 ;# 7935 call_internal_symref |
ldw -312(%r30),%r26 ;# 7933 reload_outsi+2/5 |
ldi 8,%r28 ;# 7937 reload_outsi+2/2 |
L$0867 |
ldw -340(%r30),%r2 ;# 9026 reload_outsi+2/5 |
ldw -168(%r30),%r18 ;# 9028 reload_outsi+2/5 |
ldw -164(%r30),%r17 ;# 9030 reload_outsi+2/5 |
ldw -160(%r30),%r16 ;# 9032 reload_outsi+2/5 |
ldw -156(%r30),%r15 ;# 9034 reload_outsi+2/5 |
ldw -152(%r30),%r14 ;# 9036 reload_outsi+2/5 |
ldw -148(%r30),%r13 ;# 9038 reload_outsi+2/5 |
ldw -144(%r30),%r12 ;# 9040 reload_outsi+2/5 |
ldw -140(%r30),%r11 ;# 9042 reload_outsi+2/5 |
ldw -136(%r30),%r10 ;# 9044 reload_outsi+2/5 |
ldw -132(%r30),%r9 ;# 9046 reload_outsi+2/5 |
ldw -128(%r30),%r8 ;# 9048 reload_outsi+2/5 |
ldw -124(%r30),%r7 ;# 9050 reload_outsi+2/5 |
ldw -120(%r30),%r6 ;# 9052 reload_outsi+2/5 |
ldw -116(%r30),%r5 ;# 9054 reload_outsi+2/5 |
ldw -112(%r30),%r4 ;# 9056 reload_outsi+2/5 |
ldw -108(%r30),%r3 ;# 9058 reload_outsi+2/5 |
bv %r0(%r2) ;# 9061 return_internal |
ldo -320(%r30),%r30 ;# 9060 addsi3/2 |
.EXIT |
.PROCEND |
.data |
|
.align 1 |
re_syntax_table |
.block 256 |
/unsorted/importbug.s
0,0 → 1,34
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
.EXPORT foo,DATA |
.data |
|
.align 4 |
foo: |
.word 0 |
.IMPORT __main,CODE |
|
.code |
.align 4 |
.EXPORT main,CODE |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
main: |
.PROC |
.CALLINFO FRAME=64,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3 |
.ENTRY |
.import foo |
stw %r2,-20(0,%r30) |
copy %r3,%r1 |
copy %r30,%r3 |
stwm %r1,64(%r30) |
.CALL |
bl __main,%r2 |
nop |
L$0001: |
ldw -20(%r3),%r2 |
ldo 64(%r3),%r30 |
ldwm -64(%r30),%r3 |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
/unsorted/common.s
0,0 → 1,8
.code |
text_symbol: |
.long 1 |
.long external_symbol |
.data |
data_symbol: |
.long 2 |
common_symbol: .comm 4 |
/unsorted/locallabel.s
0,0 → 1,7
.code |
|
.align 4 |
|
Label: |
L$01234: |
|
/unsorted/labeldiffs.s
0,0 → 1,39
; Should check to make sure something useful gets put on those .word |
; statements. |
.code |
|
.align 8 |
.export icode,data |
icode: |
.proc |
.callinfo frame=0,no_calls |
.entry |
bv,n %r0(%r2) |
.exit |
nop |
.procend |
|
; |
; FIRST, argv array of pointers to args, 1st is same as path. |
; |
.align 8 |
ic_argv: |
.word ic_argv1-icode ; second, pointer to 1st argument |
.word ic_path-icode ; first, pointer to init path |
.word 0 ; fourth, NULL argv terminator (pad) |
.word 0 ; third, NULL argv terminator |
|
ic_path: |
.blockz 4096 ; must be multiple of 4 bytes |
.word 0 ; in case full string is used |
.word 0 ; this will be the string terminator |
|
ic_argv1: |
.blockz 4096 ; must be multiple of 4 bytes |
.word 0 ; in case full string is used |
.word 0 ; this will be the string terminator |
|
.export szicode,data |
szicode: |
.word szicode-icode |
.word 0 ; must have at least one filler at end |
/unsorted/fragbug.s
0,0 → 1,2
.code |
nop |
/unsorted/unsorted.exp
0,0 → 1,265
# Copyright (C) 1993, 1997, 1999, 2000, 2002, 2004, 2007 |
# Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# dejagnu@gnu.org |
|
# Written by the Center for Software Science at the University of Utah |
# and by Cygnus Support. |
|
proc do_subspace_align_test {} { |
set testname "ss_align.s: Test subspace alignment (part 2)" |
set x 0 |
|
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
if [gas_test_old "ss_align.s" "" "subspace alignment (part 1)"] then { |
objdump_start_no_subdir "a.out" "-h" |
|
# Check the headers for the correct alignment value for the |
# the $DATA$ subspace (som). |
while 1 { |
expect { |
-re "DATA\[^\n\]* 2..6\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_local_label_test {} { |
set testname "locallabel.s: Elimination of local labels (part 2)" |
set x 0 |
|
if [gas_test_old "locallabel.s" "" "Elimination of local labels (part1)"] { |
objdump_start_no_subdir "a.out" "-t" |
|
while 1 { |
expect { |
-re "^00000000\[^\n\]*Label\[^\n\]*\n" { set x 1 } |
-re "^00000000\[^\n\]*L\$01234\[^\n\]*\n" { set x 0 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_frchain_test {} { |
set testname "fragbug.s: Test bug in frag chaining (part 2)" |
set x 0 |
|
if [gas_test_old "fragbug.s" "" "Test bug in frag chaining (part1)"] { |
objdump_start_no_subdir "a.out" "--prefix-addresses -d" |
|
while 1 { |
expect { |
-re "^0x00000000\[^\n\]*nop\[^\n\]*\n" { set x 1 } |
-re "^0x00000004\[^\n\]*nop\[^\n\]*\n" { set x 0 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_align3_test {} { |
set testname "align3.s: Test for alignment bug when switching subspaces (part2)" |
set x 0 |
|
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
if [gas_test_old "align3.s" "" "Test for alignment bug when switching subspaces (part1)"] { |
objdump_start_no_subdir "a.out" "--prefix-addresses -d" |
|
while 1 { |
expect { |
-re "\[^\n\]* <main> nop\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]* <.*end_main> nop\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]* <main+.*> nop\[^\n\]*\n" { set x 0 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_align4_test {} { |
set testname "align4.s: More subspace alignment tests (part2)" |
set x 0 |
|
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
if [gas_test_old "align4.s" "" "More subspace alignment tests (part1)"] { |
objdump_start_no_subdir "a.out" "-h" |
|
while 1 { |
expect { |
-re "\[^\n\]*MILLICODE\[^\n\]*2..6\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*YABBA\[^\n\]*2..3\[^\n\]*\n" |
{ set x [expr $x+1] } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_import_test {} { |
set testname "importbug.s: Test for bug in .import directive (part2)" |
set x 0 |
|
if [gas_test_old "importbug.s" "" "Test for bug in .import directive (part1)"] { |
objdump_start_no_subdir "a.out" "--syms" |
|
while 1 { |
expect { |
-re "\[^\n\]*.DATA..foo\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]*.data.*foo\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_common_test {} { |
# linux has a different .comm syntax |
if [istarget hppa*-*-linux*] then { |
return |
} |
|
set testname "common.s: Test for bug in .comm handling (part2)" |
set x 0 |
|
if [gas_test_old "common.s" "" "Test for bug in .comm handling (part1)"] { |
objdump_start_no_subdir "a.out" "--syms" |
|
while 1 { |
expect { |
-re "\[^\n\]*.COM.*common_symbol\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
if [istarget hppa*-*-*] then { |
# Make sure subspace alignment requests from the subspace directives |
# are honored |
do_subspace_align_test |
|
# Make sure the correct labels end up in the symbol table |
do_local_label_test |
|
# GAS-1.36 choked on this file. |
gas_test "labeldiffs.s" "" "" "Difference of labels" |
|
# Test a recent bug where frag chaining wasn't working correctly. |
do_frchain_test |
|
# Test bug where switching between subspaces creates bogus alignments |
do_align3_test |
|
# Test bug where switching between subspaces creates bogus alignments |
do_align4_test |
|
# Test a problem where $global$ is defined, then used within the |
# same source file. |
setup_xfail hppa*-*-* |
gas_test "globalbug.s" "" "" "Use \$global\$ in file which defines it" |
|
# Test that importing a defined symbol doesn't screw up the symbol's |
# space/subspace. |
do_import_test |
|
# Test for a buglet in the handling of common symbols |
do_common_test |
|
# Test for an off-by-2 bug in range check for conditional branches |
# The labels in brlenbug.s lack colons and are not linux compatible. |
if {! [istarget *-*-linux*]} then { |
gas_test_error "brlenbug.s" "" "Check for error(s) in branch length" |
} |
} |
/unsorted/align3.s
0,0 → 1,20
.SPACE $PRIVATE$ |
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31 |
.SPACE $TEXT$ |
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY |
|
.blockz 4 |
|
main: |
.SPACE $PRIVATE$ |
.SUBSPA $DATA$ |
|
.SPACE $TEXT$ |
.SUBSPA $CODE$ |
|
.PROC |
.CALLINFO FRAME=0 |
.ENTRY |
nop |
.EXIT |
.PROCEND |
/reloc/selectorbug.s
0,0 → 1,18
; gcc_compiled.: |
.EXPORT intVec_error_handler,DATA |
.data |
|
intVec_error_handler: |
.word P%default_intVec_error_handler__FPCc |
|
.code |
.align 4 |
.EXPORT foo,CODE |
.EXPORT foo,ENTRY,PRIV_LEV=3 |
foo: |
.PROC |
.CALLINFO FRAME=0 |
.ENTRY |
.stabd 68,0,41 |
.EXIT |
.PROCEND |
/reloc/funcrelocbug.s
0,0 → 1,173
.code |
.align 4 |
.EXPORT g,CODE |
.EXPORT g,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR |
g: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3 |
.ENTRY |
stw %r2,-20(%r30) |
copy %r3,%r1 |
copy %r30,%r3 |
stwm %r1,128(%r30) |
stw %r26,-36(%r3) |
stw %r25,-40(%r3) |
stw %r24,-44(%r3) |
ldw -36(%r3),%r26 |
ldw -40(%r3),%r25 |
ldw -44(%r3),%r19 |
copy %r19,%r22 |
.CALL ARGW0=GR |
bl $$dyncall,%r31 |
copy %r31,%r2 |
copy %r28,%r19 |
comiclr,<> 0,%r19,%r0 |
bl,n L$0002,%r0 |
ldw -36(%r3),%r28 |
bl,n L$0001,%r0 |
bl,n L$0003,%r0 |
L$0002: |
ldw -40(%r3),%r28 |
bl,n L$0001,%r0 |
L$0003: |
L$0001: |
ldw -20(%r3),%r2 |
ldo 64(%r3),%r30 |
ldwm -64(%r30),%r3 |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
.align 4 |
f2___4: |
.PROC |
.CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3 |
.ENTRY |
copy %r3,%r1 |
copy %r30,%r3 |
stwm %r1,64(%r30) |
stw %r29,8(%r3) |
stw %r26,-36(%r3) |
stw %r25,-40(%r3) |
ldw -36(%r3),%r19 |
ldw -40(%r3),%r20 |
comclr,>= %r20,%r19,%r19 |
ldi 1,%r19 |
copy %r19,%r28 |
bl,n L$0005,%r0 |
L$0005: |
ldo 64(%r3),%r30 |
ldwm -64(%r30),%r3 |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
.IMPORT abort,CODE |
.data |
|
.align 4 |
L$TRAMP0000: |
ldw 36(%r22),%r21 |
bb,>=,n %r21,30,.+16 |
depi 0,31,2,%r21 |
ldw 4(%r21),%r19 |
ldw 0(%r21),%r21 |
ldsid (%r21),%r1 |
mtsp %r1,%sr0 |
be 0(%sr0,%r21) |
ldw 40(%r22),%r29 |
.word 0 |
.word 0 |
.code |
|
.align 4 |
.EXPORT f,CODE |
.EXPORT f,ENTRY,PRIV_LEV=3,RTNVAL=GR |
f: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3 |
.ENTRY |
stw %r2,-20(%r30) |
copy %r3,%r1 |
copy %r30,%r3 |
stwm %r1,192(%r30) |
ldo 16(%r3),%r19 |
addil L'L$TRAMP0000-$global$,%r27 |
ldo R'L$TRAMP0000-$global$(%r1),%r22 |
ldo 40(%r0),%r20 |
ldws,ma 4(%r22),%r21 |
addib,>= -4,%r20,.-4 |
stws,ma %r21,4(%r19) |
ldil L'f2___4,%r20 |
ldo R'f2___4(%r20),%r19 |
stw %r19,52(%r3) |
ldo 8(%r3),%r19 |
stw %r19,56(%r3) |
ldo 16(%r3),%r19 |
ldo 48(%r3),%r20 |
fdc %r0(%r19) |
fdc %r0(%r20) |
sync |
ldo 32(%r19),%r22 |
mfsp %sr0,%r21 |
ldsid (%r19),%r20 |
mtsp %r20,%sr0 |
fic %r0(%sr0,%r19) |
fic %r0(%sr0,%r22) |
sync |
mtsp %r21,%sr0 |
nop |
nop |
nop |
nop |
nop |
nop |
ldo 16(%r3),%r19 |
ldi 1,%r26 |
ldi 2,%r25 |
copy %r19,%r24 |
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO |
bl g,%r2 |
nop |
copy %r28,%r19 |
comiclr,<> 2,%r19,%r0 |
bl,n L$0006,%r0 |
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO |
bl abort,%r2 |
nop |
L$0006: |
L$0004: |
ldw -20(%r3),%r2 |
ldo 64(%r3),%r30 |
ldwm -64(%r30),%r3 |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
.IMPORT __main,CODE |
.IMPORT exit,CODE |
.align 4 |
.EXPORT main,CODE |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
main: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3 |
.ENTRY |
stw %r2,-20(%r30) |
copy %r3,%r1 |
copy %r30,%r3 |
stwm %r1,128(%r30) |
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO |
bl __main,%r2 |
nop |
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO |
bl f,%r2 |
nop |
copy %r0,%r26 |
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO |
bl exit,%r2 |
nop |
L$0007: |
ldw -20(%r3),%r2 |
ldo 64(%r3),%r30 |
ldwm -64(%r30),%r3 |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
/reloc/r_no_reloc.s
0,0 → 1,34
.COPYRIGHT "MetaWare Incorporated, 1992" |
.VERSION "hc2.6a -O1 t3.c\n" |
|
.data |
.ALIGN 8 |
$L00DATA: |
.ALIGN 8 |
.EXPORT s |
s: |
.WORD 0x0 |
.BLOCKZ 786425 |
.BLOCKZ 7 |
|
.code |
L$001.3: |
g: .PROC |
.CALLINFO FRAME=0,NO_CALLS |
.ENTRY |
;ldo 120(%r0),%r28 --> to delay slot |
bv %r0(%r2) |
.EXIT |
ldo 120(%r0),%r28 |
.PROCEND |
|
|
.data |
.ALIGN 4 |
.EXPORT l |
l: |
.WORD P'g |
.IMPORT common,DATA ; common section, size=0 |
.IMPORT $global$,DATA |
.EXPORT g,ENTRY,PRIV_LEV=3,RTNVAL=GR |
.END |
/reloc/blebug2.s
0,0 → 1,5
.code |
.align 4 |
|
ldil L%0xc0001004,%r1 |
ble R%0xc0001004(%sr7,%r1) |
/reloc/applybug.s
0,0 → 1,118
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
.data |
|
.align 4 |
tab___2: |
.word L$0002 |
.word L$0003 |
.word L$0004 |
.code |
|
.align 4 |
.EXPORT execute,CODE |
.EXPORT execute,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
execute: |
.PROC |
.CALLINFO FRAME=0,NO_CALLS |
.ENTRY |
addil L'buf-$global$,%r27 |
ldo R'buf-$global$(%r1),%r20 |
ldil L'L$0002,%r19 |
movb,<> %r26,%r26,L$0002 |
ldo R'L$0002(%r19),%r22 |
copy %r0,%r21 |
addil L'tab___2-$global$,%r27 |
ldo R'tab___2-$global$(%r1),%r23 |
addil L'optab-$global$,%r27 |
ldo R'optab-$global$(%r1),%r20 |
L$0009: |
sh2add %r21,%r23,%r19 |
ldh 2(%r19),%r19 |
ldo 1(%r21),%r21 |
sub %r19,%r22,%r19 |
comib,>= 2,%r21,L$0009 |
sths,ma %r19,2(%r20) |
bv,n %r0(%r2) |
L$0002: |
ldi 120,%r19 |
stbs,ma %r19,1(%r20) |
ldhs,ma 2(%r26),%r19 |
add %r22,%r19,%r19 |
bv,n %r0(%r19) |
L$0003: |
ldi 121,%r19 |
stbs,ma %r19,1(%r20) |
ldhs,ma 2(%r26),%r19 |
add %r22,%r19,%r19 |
bv,n %r0(%r19) |
L$0004: |
ldi 122,%r19 |
stb %r19,0(%r20) |
bv %r0(%r2) |
stbs,mb %r0,1(%r20) |
.EXIT |
.PROCEND |
.IMPORT __main,CODE |
.IMPORT strcmp,CODE |
|
.align 4 |
L$C0000: |
.STRING "xyxyz\x00" |
.IMPORT abort,CODE |
.IMPORT exit,CODE |
.code |
|
.align 4 |
.EXPORT main,CODE |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
main: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
.CALL |
bl __main,%r2 |
ldo 128(%r30),%r30 |
.CALL ARGW0=GR |
bl execute,%r2 |
copy %r0,%r26 |
addil L'optab-$global$,%r27 |
copy %r1,%r19 |
ldo R'optab-$global$(%r19),%r21 |
ldh 2(%r21),%r20 |
ldh R'optab-$global$(%r19),%r19 |
addil L'p-$global$,%r27 |
copy %r1,%r22 |
sth %r20,R'p-$global$(%r22) |
ldo R'p-$global$(%r22),%r26 |
sth %r20,4(%r26) |
sth %r19,2(%r26) |
ldh 4(%r21),%r19 |
.CALL ARGW0=GR |
bl execute,%r2 |
sth %r19,6(%r26) |
addil L'buf-$global$,%r27 |
copy %r1,%r19 |
ldo R'buf-$global$(%r19),%r26 |
ldil L'L$C0000,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 |
ldo R'L$C0000(%r25),%r25 |
comib,=,n 0,%r28,L$0011 |
.CALL |
bl abort,%r2 |
nop |
L$0011: |
.CALL ARGW0=GR |
bl exit,%r2 |
copy %r0,%r26 |
nop |
.EXIT |
.PROCEND |
.data |
|
optab: .comm 10 |
buf: .comm 10 |
p: .comm 10 |
/reloc/blebug3.s
0,0 → 1,5
.code |
.align 4 |
.import yabba,code |
|
ble R%yabba(%sr4,%r0) |
/reloc/fixupbug.s
0,0 → 1,9
.code |
b,n $$foo |
nop |
nop |
|
.SPACE $TEXT$ |
.SUBSPA $MILLICODE$ |
$$foo: |
nop |
/reloc/reduce2.s
0,0 → 1,80
.SPACE $PRIVATE$ |
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31 |
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82 |
.SPACE $TEXT$ |
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44 |
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY |
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
.SPACE $TEXT$ |
.SUBSPA $LIT$ |
|
.align 8 |
L$P0000 |
.word 0x12345678 |
.word 0x0 |
|
.align 8 |
L$C0000 |
.word 0x3ff00000 |
.word 0x0 |
.SPACE $TEXT$ |
.SUBSPA $CODE$ |
|
.align 4 |
.EXPORT g,ENTRY,PRIV_LEV=3,RTNVAL=FR |
g |
.PROC |
.CALLINFO FRAME=0,NO_CALLS |
.ENTRY |
stw %r19,-32(%r30) |
ldw T'L$C0000(%r19),%r20 |
bv %r0(%r2) |
fldds 0(%r20),%fr4 |
.EXIT |
.PROCEND |
.IMPORT abort,CODE |
.IMPORT exit,CODE |
.SPACE $TEXT$ |
.SUBSPA $LIT$ |
|
.align 8 |
L$C0001 |
.word 0x3ff00000 |
.word 0x0 |
.SPACE $TEXT$ |
.SUBSPA $CODE$ |
|
.align 4 |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
main |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=3 |
.ENTRY |
stw %r2,-20(%r30) |
ldo 128(%r30),%r30 |
stw %r19,-32(%r30) |
stw %r4,-128(%r30) |
|
copy %r19,%r4 |
.CALL |
bl g,%r2 |
copy %r4,%r19 |
copy %r4,%r19 |
ldw T'L$C0001(%r19),%r20 |
fldds 0(%r20),%fr8 |
fcmp,dbl,= %fr4,%fr8 |
ftest |
add,tr %r0,%r0,%r0 |
b,n L$0003 |
.CALL |
bl abort,%r2 |
nop |
L$0003 |
.CALL ARGW0=GR |
bl exit,%r2 |
ldi 0,%r26 |
nop |
.EXIT |
.PROCEND |
/reloc/reduce3.s
0,0 → 1,38
.data |
.align 8 |
blah: |
; .double 0e+00 |
.word 0 ; = 0x0 |
.word 0 ; = 0x0 |
.EXPORT foo,DATA |
.align 8 |
foo: |
; .double 0e+00 |
.word 0 ; = 0x0 |
.word 0 ; = 0x0 |
.EXPORT yabba,DATA |
.align 4 |
yabba: |
.word 1 |
.code |
|
.align 4 |
.EXPORT bar,CODE |
.EXPORT bar,ENTRY,PRIV_LEV=3,RTNVAL=GR |
bar: |
.PROC |
.CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3 |
.ENTRY |
copy %r3,%r1 |
copy %r30,%r3 |
stwm %r1,64(%r30) |
addil L'yabba-$global$,%r27 |
ldo R'yabba-$global$(%r1),%r19 |
ldi 2,%r20 |
stw %r20,0(%r19) |
L$0001: |
ldo 64(%r3),%r30 |
ldwm -64(%r30),%r3 |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
/reloc/longcall.s
0,0 → 1,28
.code |
.align 4 |
.EXPORT foo,CODE |
.EXPORT foo,ENTRY,PRIV_LEV=3,RTNVAL=GR |
foo: |
.PROC |
.CALLINFO FRAME=64,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
.CALL |
bl bar,%r2 |
ldo 64(%r30),%r30 |
.blockz 262144 |
ldw -84(%r30),%r2 |
bv %r0(%r2) |
ldo -64(%r30),%r30 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT bar,CODE |
.EXPORT bar,ENTRY,PRIV_LEV=3,RTNVAL=GR |
bar: |
.PROC |
.CALLINFO FRAME=0,NO_CALLS |
.ENTRY |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
/reloc/roundmode.s
0,0 → 1,15
.code |
|
.align 4 |
.IMPORT foo,data |
|
; Switch in/out of different rounding modes. |
; Also make sure we "optimize" away useless rounding mode relocations |
addil LR'foo-0x12345,%r27 |
ldo RR'foo-0x12345(%r1),%r1 |
addil L'foo-0x12345,%r27 |
ldo R'foo-0x12345(%r1),%r1 |
addil LR'foo-0x12345,%r27 |
ldo RR'foo-0x12345(%r1),%r1 |
addil LR'foo-0x12345,%r27 |
ldo RR'foo-0x12345(%r1),%r1 |
/reloc/plabelbug.s
0,0 → 1,37
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
.IMPORT abort,CODE |
.EXPORT f,DATA |
.data |
.align 4 |
f: |
.word P%abort |
.word P%abort |
.IMPORT __main,CODE |
.IMPORT printf,CODE |
.code |
.align 4 |
LC$0000: |
.STRING "frob\x0a\x00" |
.align 4 |
.EXPORT main,CODE |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
main: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
ldo 128(%r30),%r30 |
.CALL |
bl __main,%r2 |
nop |
ldil L'LC$0000,%r26 |
.CALL ARGW0=GR |
bl printf,%r2 |
ldo R'LC$0000(%r26),%r26 |
ldw -148(%r30),%r2 |
bv %r0(%r2) |
ldo -128(%r30),%r30 |
.EXIT |
.PROCEND |
/reloc/reloc.exp
0,0 → 1,716
# Copyright 1993, 1996, 1997, 2002, 2004, 2007 Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# dejagnu@gnu.org |
|
# Written by the Center for Software Science at the University of Utah |
# and by Cygnus Support. |
|
proc do_ble_relocation_test {} { |
set testname "blebug.s: Test for proper relocation for BLE (part 2)" |
set x 0 |
|
if [gas_test_old "blebug.s" "" "Proper relocation for BLE (part 1)"] then { |
objdump_start_no_subdir "a.out" "-r" |
|
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
# At one time both versions of the assembler would incorrectly use |
# a PC-relative relocation for a BLE instruction. |
while 1 { |
expect { |
-re "^0+\[^\n\]*DIR21L\[^\n\]*\n" { set x 1 } |
-re "^0+4\[^\n\]*DIR17R\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} else { |
# At one time both versions of the assembler would incorrectly use |
# a PC-relative relocation for a BLE instruction. |
while 1 { |
expect { |
-re "^0+4\[^\n\]*ABS_CALL\[^\n\]*\n" { set x 1 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
|
proc do_relocation_reduction_tests {} { |
set testname "reduce.s: Test relocation reductions (part 2)" |
set x 0 |
|
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
if [gas_test_old "reduce.s" "" "Relocation reductions (part1)"] then { |
objdump_start_no_subdir "a.out" "-r" |
|
# Check to make sure relocations involving procedure labels |
# are not reduced to a relocation involving some other symbol. |
# Doing so makes generating parameter relocation stubs impossible. |
while 1 { |
expect { |
-re "^0+4\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+14\[^\n\]*PCREL\[^\n\]*foo\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
|
set testname "reduce2.s: More relocation reduction tests (part 2)" |
set x 0 |
|
if [gas_test_old "reduce2.s" "" "More relocation reductions (part1)"] then { |
objdump_start_no_subdir "a.out" "-r" |
|
# Check to make sure DLT relative relocs are not reduced to sym+addend |
# Doing so doesn't work as one might expect |
while 1 { |
expect { |
-re "^0+4\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+1c\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+30\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+48\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
|
set testname "reduce3.s: Test even more relocation reductions (part 2)" |
set x 0 |
|
if [gas_test_old "reduce3.s" "" "Even more relocation reductions (part1)"] then { |
objdump_start_no_subdir "a.out" "-r" |
|
# Check to make sure relocations involving procedure labels |
# are not reduced to a relocation involving some other symbol. |
# Doing so makes generating parameter relocation stubs impossible. |
while 1 { |
expect { |
-re "^0+c\[^\n\]*yabba\[^\n\+\]*\n" |
{ set x [expr $x+1] } |
-re "^0+c\[^\n\]*yabba\+\[^\n\]*\n" |
{ set x 0; break } |
-re "^0+10\[^\n\]*yabba\[^\n\+\]*\n" |
{ set x [expr $x+1] } |
-re "^0+10\[^\n\]*yabba\+\[^\n\]*\n" |
{ set x 0; break } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
} |
|
proc do_ble_mode_selector_test {} { |
set testname "blebug2.s: blebug2" |
set x 0 |
|
gas_start "blebug2.s" "-al" |
|
# GAS uses too many bits on the BLE instruction. |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 20202801\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 E420E008\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
} |
|
proc do_ble_relocation_test {} { |
set testname "blebug3.s: blebug3" |
set x 0 |
|
gas_start "blebug3.s" "-al" |
|
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 E4002000\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
|
proc do_plabel_relocation_test {} { |
set testname "plabelbug.s: Old gas-1.36 plabel bug (part 2)" |
set x 0 |
|
if [gas_test_old "plabelbug.s" "" "Old gas-1.36 plabel bug (part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Check that we make PLABEL relocation entries when they're needed. |
while 1 { |
expect { |
-re "^0+\[^\n\]*PLABEL\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+4\[^\n\]*PLABEL\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_selector_scope_test {} { |
set testname "selectorbug.s: Test scope of field selector" |
set x 0 |
|
if [istarget hppa*64*-*-*] then { |
return |
} |
|
if [gas_test_old "selectorbug.s" "" "Test scope of field selector (part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Check to make sure the relocation entry after the plabel is correct. |
# If an old field selector was incorrectly "carried" over, then |
# this test will fail. |
if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
while 1 { |
expect { |
-re "^0+14\[^\n\]*DIR32\[^\n\]*\n" |
{ set x 1 } |
-re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n" |
{ set x 0 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} else { |
while 1 { |
expect { |
-re "^0+14\[^\n\]*DATA_ONE\[^\n\]*\n" |
{ set x 1 } |
-re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n" |
{ set x 0 } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_local_label_as_operand_test {} { |
set testname "labelopbug.s: Test local label as operand (non-branching)" |
set x 0 |
|
if [gas_test_old "labelopbug.s" "" "Local label as operand (part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Check to make sure we handle difference of local labels as an operand |
# to a non-branching instruction correctly. On hppa elf targets, the |
# R_PARISC_DIR21 and R_PARISC_DIR14R relocations are done with LR and |
# RR selectors, respectively. As a result, we can't reduce these to |
# section offsets without risking incorrect rounding. So, we just |
# check to see if the label hasn't been reduced. |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
while 1 { |
expect { |
-re "^0+2c\[^\n\]*L.0002\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+30\[^\n\]*L.0002\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} else { |
while 1 { |
expect { |
-re "^0+2c\[^\n\]*0x0+24\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+30\[^\n\]*0x0+24\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_exit_relocation_test {} { |
set testname "exitbug.s: Test for bogus R_EXIT relocation (part 2)" |
set x 0 |
|
# Elf (osf) does not use ENTRY/EXIT relocations. |
# I guess we could look at the unwind subspaces it builds... |
# Until then, make sure it still assembles. |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
gas_test_old "exitbug.s" "" "Test for bogus R_EXIT relocation (part 1)" |
return |
} |
|
if [gas_test_old "exitbug.s" "" "Test for bogus R_EXIT relocation (part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Note that a match here is really a FAILURE! |
while 1 { |
expect { |
-re "^0+\[^\n\]*R_EXIT\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==0] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_cross_space_fixup_test_1 {} { |
set testname "fixupbug.s: Test cross space jump/call fixup bug (part 2)" |
set x 0 |
|
# ELF doesn't really handle extra sections too well... |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
if [gas_test_old "fixupbug.s" "" "Test cross space jump/call fixup bug (part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Make sure GAS generated a fixup/relocation for the cross-space |
# branch/call |
while 1 { |
expect { |
-re "^0+\[^\n\]*PCREL_CALL\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
} |
|
proc do_cross_space_fixup_test_2 {} { |
set testname "fixupbug.s: Test cross space jump/call fixup bug (part 3)" |
set x 0 |
|
# ELF doesn't really handle extra sections too well... |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
gas_start "fixupbug.s" "-al" |
|
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 E8000002\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
|
proc do_round_mode_test {} { |
set testname "roundmode.s: Test switching of rounding modes (part 2)" |
set x 0 |
|
if [gas_test_old "roundmode.s" "" "Test switch of rounding modes(part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Make sure GAS generated correct relocations to switch rounding modes. |
# Also make sure (for SOM) that redundant rounding mode relocations |
# were eliminated. |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
while 1 { |
expect { |
-re "^0+\[^\n\]*DIR21L\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+4\[^\n\]*DIR14R\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+8\[^\n\]*DIR21L\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+c\[^\n\]*DIR14R\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+10\[^\n\]*DIR21L\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+14\[^\n\]*DIR14R\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+18\[^\n\]*DIR21L\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+1c\[^\n\]*DIR14R\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} else { |
while 1 { |
expect { |
-re "^0+\[^\n\]*R_R_MODE\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+4\[^\n\]*R_R_MODE\[^\n\]*\n" |
{ fail $testname } |
-re "^0+8\[^\n\]*R_N_MODE\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+c\[^\n\]*R_N_MODE\[^\n\]*\n" |
{ fail $testname } |
-re "^0+10\[^\n\]*R_R_MODE\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+14\[^\n\]*R_R_MODE\[^\n\]*\n" |
{ fail $testname } |
-re "^0+1c\[^\n\]*R_R_MODE\[^\n\]*\n" |
{ fail $testname } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
if [expr $x==8] then { pass $testname } else { fail $testname } |
} else { |
if [expr $x==3] then { pass $testname } else { fail $testname } |
} |
} |
} |
|
proc do_function_reloc_bug {} { |
set testname "funcrelocbug.s: Test for reloc bug in non-plabel function reference (part 2)" |
set x 0 |
|
if [gas_test_old "funcrelocbug.s" "" "Test for reloc bug in non-plabel function reference (part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Make sure GAS generated a correct relocation for the reference. |
# branch/call |
while 1 { |
expect { |
-re "^0+cc\[^\n\]*f2___4\[^\n+\]*\n" |
{ set x [expr $x+1] } |
-re "^0+d0\[^\n\]*f2___4\[^\n+\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
|
set testname "funcrelocbug.s: Test for reloc bug in non-plabel function reference (part3)" |
set x 0 |
|
objdump_start_no_subdir "a.out" "--prefix-addresses -d" |
# Make sure we didn't put anything in the instruction itself! |
while 1 { |
expect { |
-re "^0+cc\[^\n\]*ldil L%0,r20\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^0+d0\[^\n\]*ldo 0\[\(\]+r20\[\)\]+,r19\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==2] then { pass $testname } else { fail $testname } |
} |
|
} |
|
proc do_r_no_reloc {} { |
set testname "r_no_reloc.s: Test for reloc bug in 4-byte R_NO_RELCOATION fixups (part 2)" |
set x 0 |
|
if [gas_test_old "r_no_reloc.s" "" "Test for reloc bug in 4-byte R_NO_RELOCATION fixups (part 1)"] { |
objdump_start_no_subdir "a.out" "-r" |
|
# Make sure GAS generated a correct relocation for the reference. |
while 1 { |
expect { |
-re "^0+c0004\[^\n\]*PLABEL\[^\n]*g\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
objdump_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
|
} |
} |
|
proc do_pic_relocation_test {} { |
set testname "picreloc.s: Test for proper PIC relocation (part 2)" |
set x 0 |
|
# ELF doesn't really handle extra sections too well... |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
gas_start "picreloc.s" "-al" |
|
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 00000004\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==1] then { pass $testname } else { fail $testname } |
} |
|
proc do_apply_test {} { |
set testname "applybug.s: Test for proper fixup application (part 2)" |
set x 0 |
|
# ELF doesn't really handle extra sections too well... |
if {[istarget hppa*64*-*-*] |
|| [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then { |
return |
} |
|
gas_start "applybug.s" "-al" |
|
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 00000044\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 00000058\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 0000006C\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==3] then { pass $testname } else { fail $testname } |
} |
|
if [istarget hppa*-*-*] then { |
# Make sure we put the right relocation entry on a BLE instruction. |
do_ble_relocation_test |
|
# Make sure relocation reductions are not too agressive about |
# adjusting relocations against some symbols. |
do_relocation_reduction_tests |
|
# Check that mode selectors on a ble instruction actually work. |
do_ble_mode_selector_test |
|
# Check that we take the -8 adjustment into account when zeroing |
# out the displacement field in a ble instruction with a reloc |
do_ble_relocation_test |
|
# 1.36 simply didn't generate all the plabels it should have. Make |
# sure gas-2 does. |
do_plabel_relocation_test |
|
# Make sure a field selector only effects the current instruction |
# or assembler directive. |
do_selector_scope_test |
|
# This should really generate a relocation. It would make life much |
# easier on the optimizing linker. Until then just make sure the |
# difference is computed correctly. |
do_local_label_as_operand_test |
|
# GAS2 incorrectly generated R_EXIT relocations when .exit directives |
# were not in the source code. |
do_exit_relocation_test |
|
# GAS2 incorrectly thought it could apply a fixup for a pc-relative |
# branch/call which crossed different subspaces. |
# Also check that the assembled instruction is correct |
do_cross_space_fixup_test_1 |
do_cross_space_fixup_test_2 |
|
# Make sure we switch rounding modes correctly |
do_round_mode_test |
|
# Test for a bug found when a function was used in a non-branching |
# instruction *without* a plabel (for portable runtime model) |
do_function_reloc_bug |
|
# Test for an off-by-one bug in the handling of 4-byte R_NO_RELOCATION |
# fixups. |
do_r_no_reloc |
|
# Test a relocation problem which shows up when building shared |
# libraries in SOM |
do_pic_relocation_test |
|
# Test a problem with md_apply_fix that was introduced when fixing |
# the pic relocation test. |
do_apply_test |
|
# Make sure gas doesn't resolve long-calls which are to be fixed |
# by the linker |
gas_test "longcall.s" "" "" "Avoid resolving long-calls" |
} |
/reloc/blebug.s
0,0 → 1,7
.code |
.align 4 |
.IMPORT $$dyncall,MILLICODE ; Code for dynamic function calls. |
|
_sigtramp: |
ldil L%$$dyncall,%r2 ; whose address is in r22. |
ble R%$$dyncall(%sr4,%r2) |
/reloc/picreloc.s
0,0 → 1,9
|
.data |
bogo |
.ALIGN 8 |
.WORD bogo+4 ; = 0x4 |
.STRING "\x00\x00\x00{\x00\x00\x01\xC8\x00\x00\x03\x15" |
.data |
.EXPORT bogo |
.END |
/reloc/reduce.s
0,0 → 1,37
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
|
.code |
.align 4 |
.PARAM foo,ARGW0=FR |
foo: |
.PROC |
.CALLINFO FRAME=0,NO_CALLS |
.ENTRY |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
|
.align 4 |
LC$0000: |
.word P%foo |
|
.align 4 |
.EXPORT bar,CODE |
.EXPORT bar,ENTRY,PRIV_LEV=3,RTNVAL=GR |
bar: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
ldil L'LC$0000,%r19 |
ldw R'LC$0000(%r19),%r26 |
stw %r2,-20(%r30) |
.CALL ARGW0=GR |
bl foo,%r2 |
ldo 128(%r30),%r30 |
ldw -148(%r30),%r2 |
bv %r0(%r2) |
ldo -128(%r30),%r30 |
.EXIT |
.PROCEND |
/reloc/exitbug.s
0,0 → 1,8
.code |
.align 4 |
.EXPORT foo,CODE |
.EXPORT foo,ENTRY,PRIV_LEV=3 |
foo: |
.PROC |
.CALLINFO FRAME=0 |
.PROCEND |
/reloc/labelopbug.s
0,0 → 1,26
.code |
.align 4 |
s: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r30,12(%r4) |
ldil L'L$0007,%r19 |
ldo R'L$0007(%r19),%r19 |
comib,>= 0,%r26,L$0002 |
stw %r19,8(%r4) |
L$0003: |
L$0002: |
b L$0001 |
ldo 1(%r0),%r28 |
L$0007: |
ldil L'L$0002,%r19 |
ldo R'L$0002(%r19),%r19 |
comb,= %r29,%r19,L$0002 |
ldo -8(%r4),%r4 |
.EXIT |
.PROCEND |
/parse/appbug.s
0,0 → 1,26
# 1 "crt0.s" |
/parse/exportbug.s
0,0 → 1,5
.code |
.align 4 |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
|
|
/parse/fixup7bug.s
0,0 → 1,6167
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
.code |
.align 4 |
.EXPORT alloc_type,CODE |
.EXPORT alloc_type,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
alloc_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r7,32(%r4) |
stw %r6,36(%r4) |
stw %r5,40(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0002,%r0 |
nop |
ldo 52(%r0),%r26 |
.CALL ARGW0=GR |
bl xmalloc,%r2 |
nop |
copy %r28,%r7 |
bl,n L$0003,%r0 |
L$0002: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo 120(%r19),%r20 |
stw %r20,8(%r4) |
ldw 8(%r4),%r19 |
stw %r19,12(%r4) |
ldo 52(%r0),%r19 |
stw %r19,16(%r4) |
ldw 12(%r4),%r19 |
ldw 12(%r4),%r20 |
ldw 16(%r19),%r19 |
ldw 12(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 16(%r4),%r20 |
comclr,< %r19,%r20,%r0 |
bl L$0004,%r0 |
nop |
ldw 12(%r4),%r26 |
ldw 16(%r4),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl _obstack_newchunk,%r2 |
nop |
copy %r0,%r19 |
bl,n L$0005,%r0 |
L$0004: |
copy %r0,%r19 |
L$0005: |
ldw 12(%r4),%r19 |
ldw 12(%r4),%r20 |
ldw 12(%r20),%r21 |
ldw 16(%r4),%r22 |
add %r21,%r22,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 8(%r4),%r19 |
stw %r19,20(%r4) |
ldw 20(%r4),%r19 |
ldw 8(%r19),%r20 |
stw %r20,24(%r4) |
ldw 20(%r4),%r19 |
ldw 12(%r19),%r20 |
ldw 24(%r4),%r19 |
comclr,= %r20,%r19,%r0 |
bl L$0006,%r0 |
nop |
ldw 20(%r4),%r19 |
ldw 40(%r19),%r20 |
copy %r20,%r21 |
depi -1,1,1,%r21 |
stw %r21,40(%r19) |
L$0006: |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 20(%r4),%r21 |
ldw 12(%r20),%r20 |
ldw 24(%r21),%r21 |
add %r20,%r21,%r20 |
ldw 20(%r4),%r21 |
ldw 24(%r21),%r22 |
uaddcm %r0,%r22,%r21 |
and %r20,%r21,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 12(%r19),%r19 |
ldw 4(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 20(%r4),%r20 |
ldw 20(%r4),%r21 |
ldw 16(%r20),%r20 |
ldw 4(%r21),%r21 |
sub %r20,%r21,%r20 |
comclr,> %r19,%r20,%r0 |
bl L$0007,%r0 |
nop |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 16(%r20),%r21 |
stw %r21,12(%r19) |
copy %r21,%r19 |
bl,n L$0008,%r0 |
L$0007: |
copy %r0,%r19 |
L$0008: |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 12(%r20),%r21 |
stw %r21,8(%r19) |
ldw 24(%r4),%r7 |
L$0003: |
copy %r7,%r26 |
copy %r0,%r25 |
ldo 52(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 |
nop |
stw %r0,0(%r7) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,12(%r7) |
ldo -1(%r0),%r19 |
stw %r19,44(%r7) |
copy %r7,%r28 |
bl,n L$0001,%r0 |
L$0001: |
ldw 32(%r4),%r7 |
ldw 36(%r4),%r6 |
ldw 40(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT make_pointer_type,CODE |
.EXPORT make_pointer_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
make_pointer_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r9,16(%r4) |
stw %r8,20(%r4) |
stw %r7,24(%r4) |
stw %r6,28(%r4) |
stw %r5,32(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 20(%r19),%r9 |
comiclr,<> 0,%r9,%r0 |
bl L$0010,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0011,%r0 |
nop |
copy %r9,%r28 |
bl,n L$0009,%r0 |
bl,n L$0012,%r0 |
L$0011: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0013,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,0(%r19) |
copy %r9,%r28 |
bl,n L$0009,%r0 |
L$0013: |
L$0012: |
L$0010: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0015,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0014,%r0 |
nop |
bl,n L$0015,%r0 |
L$0015: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
copy %r28,%r9 |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0016,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,0(%r19) |
L$0016: |
bl,n L$0017,%r0 |
L$0014: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r9 |
ldw 12(%r9),%r19 |
stw %r19,8(%r4) |
copy %r9,%r26 |
copy %r0,%r25 |
ldo 52(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 |
nop |
ldw 8(%r4),%r19 |
stw %r19,12(%r9) |
L$0017: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,16(%r9) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,20(%r19) |
ldo 4(%r0),%r19 |
stw %r19,8(%r9) |
ldo 1(%r0),%r19 |
stw %r19,0(%r9) |
ldh 32(%r9),%r19 |
copy %r19,%r20 |
depi -1,31,1,%r20 |
sth %r20,32(%r9) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 20(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0018,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,20(%r19) |
L$0018: |
copy %r9,%r28 |
bl,n L$0009,%r0 |
L$0009: |
ldw 16(%r4),%r9 |
ldw 20(%r4),%r8 |
ldw 24(%r4),%r7 |
ldw 28(%r4),%r6 |
ldw 32(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT lookup_pointer_type,CODE |
.EXPORT lookup_pointer_type,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
lookup_pointer_type: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,8(%r4) |
stw %r5,12(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
copy %r0,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl make_pointer_type,%r2 |
nop |
bl,n L$0019,%r0 |
L$0019: |
ldw 8(%r4),%r6 |
ldw 12(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT make_reference_type,CODE |
.EXPORT make_reference_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
make_reference_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r9,16(%r4) |
stw %r8,20(%r4) |
stw %r7,24(%r4) |
stw %r6,28(%r4) |
stw %r5,32(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 24(%r19),%r9 |
comiclr,<> 0,%r9,%r0 |
bl L$0021,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0022,%r0 |
nop |
copy %r9,%r28 |
bl,n L$0020,%r0 |
bl,n L$0023,%r0 |
L$0022: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0024,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,0(%r19) |
copy %r9,%r28 |
bl,n L$0020,%r0 |
L$0024: |
L$0023: |
L$0021: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0026,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0025,%r0 |
nop |
bl,n L$0026,%r0 |
L$0026: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
copy %r28,%r9 |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0027,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,0(%r19) |
L$0027: |
bl,n L$0028,%r0 |
L$0025: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r9 |
ldw 12(%r9),%r19 |
stw %r19,8(%r4) |
copy %r9,%r26 |
copy %r0,%r25 |
ldo 52(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 |
nop |
ldw 8(%r4),%r19 |
stw %r19,12(%r9) |
L$0028: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,16(%r9) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,24(%r19) |
ldo 4(%r0),%r19 |
stw %r19,8(%r9) |
ldo 16(%r0),%r19 |
stw %r19,0(%r9) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 24(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0029,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,24(%r19) |
L$0029: |
copy %r9,%r28 |
bl,n L$0020,%r0 |
L$0020: |
ldw 16(%r4),%r9 |
ldw 20(%r4),%r8 |
ldw 24(%r4),%r7 |
ldw 28(%r4),%r6 |
ldw 32(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT lookup_reference_type,CODE |
.EXPORT lookup_reference_type,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
lookup_reference_type: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,8(%r4) |
stw %r5,12(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
copy %r0,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl make_reference_type,%r2 |
nop |
bl,n L$0030,%r0 |
L$0030: |
ldw 8(%r4),%r6 |
ldw 12(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT make_function_type,CODE |
.EXPORT make_function_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
make_function_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r9,16(%r4) |
stw %r8,20(%r4) |
stw %r7,24(%r4) |
stw %r6,28(%r4) |
stw %r5,32(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 28(%r19),%r9 |
comiclr,<> 0,%r9,%r0 |
bl L$0032,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0033,%r0 |
nop |
copy %r9,%r28 |
bl,n L$0031,%r0 |
bl,n L$0034,%r0 |
L$0033: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0035,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,0(%r19) |
copy %r9,%r28 |
bl,n L$0031,%r0 |
L$0035: |
L$0034: |
L$0032: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0037,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0036,%r0 |
nop |
bl,n L$0037,%r0 |
L$0037: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
copy %r28,%r9 |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0038,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,0(%r19) |
L$0038: |
bl,n L$0039,%r0 |
L$0036: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r9 |
ldw 12(%r9),%r19 |
stw %r19,8(%r4) |
copy %r9,%r26 |
copy %r0,%r25 |
ldo 52(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 |
nop |
ldw 8(%r4),%r19 |
stw %r19,12(%r9) |
L$0039: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,16(%r9) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,28(%r19) |
ldo 1(%r0),%r19 |
stw %r19,8(%r9) |
ldo 6(%r0),%r19 |
stw %r19,0(%r9) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 28(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0040,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
stw %r9,28(%r19) |
L$0040: |
copy %r9,%r28 |
bl,n L$0031,%r0 |
L$0031: |
ldw 16(%r4),%r9 |
ldw 20(%r4),%r8 |
ldw 24(%r4),%r7 |
ldw 28(%r4),%r6 |
ldw 32(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT lookup_function_type,CODE |
.EXPORT lookup_function_type,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
lookup_function_type: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,8(%r4) |
stw %r5,12(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
copy %r0,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl make_function_type,%r2 |
nop |
bl,n L$0041,%r0 |
L$0041: |
ldw 8(%r4),%r6 |
ldw 12(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT smash_to_member_type,CODE |
.align 4 |
.EXPORT lookup_member_type,CODE |
.EXPORT lookup_member_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
lookup_member_type: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r8,8(%r4) |
stw %r7,12(%r4) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo 24(%r4),%r1 |
fstds,ma %fr12,8(%r1) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
stw %r28,-16(%r30) |
fldws -16(%r30),%fr12 |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
fstws %fr12,-16(%r30) |
ldw -16(%r30),%r26 |
ldw 0(%r19),%r25 |
ldw 0(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl smash_to_member_type,%r2 |
nop |
fstws %fr12,-16(%r30) |
ldw -16(%r30),%r28 |
bl,n L$0042,%r0 |
L$0042: |
ldw 8(%r4),%r8 |
ldw 12(%r4),%r7 |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 24(%r4),%r1 |
fldds,ma 8(%r1),%fr12 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT allocate_stub_method,CODE |
.EXPORT allocate_stub_method,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
allocate_stub_method: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
stw %r28,8(%r4) |
ldw 8(%r4),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,16(%r19) |
ldw 8(%r4),%r19 |
ldo 4(%r0),%r20 |
sth %r20,32(%r19) |
ldw 8(%r4),%r19 |
ldo 15(%r0),%r20 |
stw %r20,0(%r19) |
ldw 8(%r4),%r19 |
ldo 1(%r0),%r20 |
stw %r20,8(%r19) |
ldw 8(%r4),%r28 |
bl,n L$0043,%r0 |
L$0043: |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT builtin_type_int,DATA |
.align 4 |
.EXPORT create_array_type,CODE |
.EXPORT create_array_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
create_array_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r10,56(%r4) |
stw %r9,60(%r4) |
stw %r8,64(%r4) |
stw %r7,68(%r4) |
stw %r6,72(%r4) |
stw %r5,76(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
stw %r28,8(%r4) |
ldw 8(%r4),%r19 |
ldo 2(%r0),%r20 |
stw %r20,0(%r19) |
ldw 8(%r4),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,16(%r19) |
ldw 8(%r4),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r23 |
add %r23,%r21,%r22 |
ldw 0(%r22),%r21 |
ldw 0(%r20),%r20 |
ldw 8(%r21),%r21 |
stw %r20,-16(%r30) |
fldws -16(%r30),%fr5 |
stw %r21,-16(%r30) |
fldws -16(%r30),%fr5R |
xmpyu %fr5,%fr5R,%fr4 |
fstws %fr4R,-16(%r30) |
ldw -16(%r30),%r24 |
stw %r24,8(%r19) |
ldw 8(%r4),%r19 |
ldo 1(%r0),%r20 |
sth %r20,34(%r19) |
ldw 8(%r4),%r9 |
ldw 8(%r4),%r19 |
ldw 12(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0050,%r0 |
nop |
ldw 8(%r4),%r19 |
ldw 12(%r19),%r20 |
ldo 120(%r20),%r19 |
stw %r19,16(%r4) |
ldw 16(%r4),%r19 |
stw %r19,20(%r4) |
ldo 16(%r0),%r19 |
stw %r19,24(%r4) |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 16(%r19),%r19 |
ldw 12(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 24(%r4),%r20 |
comclr,< %r19,%r20,%r0 |
bl L$0045,%r0 |
nop |
ldw 20(%r4),%r26 |
ldw 24(%r4),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl _obstack_newchunk,%r2 |
nop |
copy %r0,%r19 |
bl,n L$0046,%r0 |
L$0045: |
copy %r0,%r19 |
L$0046: |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 12(%r20),%r21 |
ldw 24(%r4),%r22 |
add %r21,%r22,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 16(%r4),%r19 |
stw %r19,28(%r4) |
ldw 28(%r4),%r19 |
ldw 8(%r19),%r20 |
stw %r20,32(%r4) |
ldw 28(%r4),%r19 |
ldw 12(%r19),%r20 |
ldw 32(%r4),%r19 |
comclr,= %r20,%r19,%r0 |
bl L$0047,%r0 |
nop |
ldw 28(%r4),%r19 |
ldw 40(%r19),%r20 |
copy %r20,%r21 |
depi -1,1,1,%r21 |
stw %r21,40(%r19) |
L$0047: |
ldw 28(%r4),%r19 |
ldw 28(%r4),%r20 |
ldw 28(%r4),%r21 |
ldw 12(%r20),%r20 |
ldw 24(%r21),%r21 |
add %r20,%r21,%r20 |
ldw 28(%r4),%r21 |
ldw 24(%r21),%r22 |
uaddcm %r0,%r22,%r21 |
and %r20,%r21,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 28(%r4),%r19 |
ldw 28(%r4),%r20 |
ldw 12(%r19),%r19 |
ldw 4(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 28(%r4),%r20 |
ldw 28(%r4),%r21 |
ldw 16(%r20),%r20 |
ldw 4(%r21),%r21 |
sub %r20,%r21,%r20 |
comclr,> %r19,%r20,%r0 |
bl L$0048,%r0 |
nop |
ldw 28(%r4),%r19 |
ldw 28(%r4),%r20 |
ldw 16(%r20),%r21 |
stw %r21,12(%r19) |
copy %r21,%r19 |
bl,n L$0049,%r0 |
L$0048: |
copy %r0,%r19 |
L$0049: |
ldw 28(%r4),%r19 |
ldw 28(%r4),%r20 |
ldw 12(%r20),%r21 |
stw %r21,8(%r19) |
ldw 32(%r4),%r10 |
bl,n L$0051,%r0 |
L$0050: |
ldo 16(%r0),%r26 |
.CALL ARGW0=GR |
bl xmalloc,%r2 |
nop |
copy %r28,%r10 |
L$0051: |
stw %r10,36(%r9) |
ldw 8(%r4),%r19 |
ldw 12(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
stw %r28,12(%r4) |
ldw 12(%r4),%r19 |
ldo 11(%r0),%r20 |
stw %r20,0(%r19) |
ldw 12(%r4),%r19 |
addil L'builtin_type_int-$global$,%r27 |
ldw R'builtin_type_int-$global$(%r1),%r20 |
stw %r20,16(%r19) |
ldw 12(%r4),%r19 |
ldo 4(%r0),%r20 |
stw %r20,8(%r19) |
ldw 12(%r4),%r19 |
ldo 2(%r0),%r20 |
sth %r20,34(%r19) |
ldw 12(%r4),%r9 |
ldw 12(%r4),%r19 |
ldw 12(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0057,%r0 |
nop |
ldw 12(%r4),%r19 |
ldw 12(%r19),%r20 |
ldo 120(%r20),%r19 |
stw %r19,36(%r4) |
ldw 36(%r4),%r19 |
stw %r19,40(%r4) |
ldo 32(%r0),%r19 |
stw %r19,44(%r4) |
ldw 40(%r4),%r19 |
ldw 40(%r4),%r20 |
ldw 16(%r19),%r19 |
ldw 12(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 44(%r4),%r20 |
comclr,< %r19,%r20,%r0 |
bl L$0052,%r0 |
nop |
ldw 40(%r4),%r26 |
ldw 44(%r4),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl _obstack_newchunk,%r2 |
nop |
copy %r0,%r19 |
bl,n L$0053,%r0 |
L$0052: |
copy %r0,%r19 |
L$0053: |
ldw 40(%r4),%r19 |
ldw 40(%r4),%r20 |
ldw 12(%r20),%r21 |
ldw 44(%r4),%r22 |
add %r21,%r22,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 36(%r4),%r19 |
stw %r19,48(%r4) |
ldw 48(%r4),%r19 |
ldw 8(%r19),%r20 |
stw %r20,52(%r4) |
ldw 48(%r4),%r19 |
ldw 12(%r19),%r20 |
ldw 52(%r4),%r19 |
comclr,= %r20,%r19,%r0 |
bl L$0054,%r0 |
nop |
ldw 48(%r4),%r19 |
ldw 40(%r19),%r20 |
copy %r20,%r21 |
depi -1,1,1,%r21 |
stw %r21,40(%r19) |
L$0054: |
ldw 48(%r4),%r19 |
ldw 48(%r4),%r20 |
ldw 48(%r4),%r21 |
ldw 12(%r20),%r20 |
ldw 24(%r21),%r21 |
add %r20,%r21,%r20 |
ldw 48(%r4),%r21 |
ldw 24(%r21),%r22 |
uaddcm %r0,%r22,%r21 |
and %r20,%r21,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 48(%r4),%r19 |
ldw 48(%r4),%r20 |
ldw 12(%r19),%r19 |
ldw 4(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 48(%r4),%r20 |
ldw 48(%r4),%r21 |
ldw 16(%r20),%r20 |
ldw 4(%r21),%r21 |
sub %r20,%r21,%r20 |
comclr,> %r19,%r20,%r0 |
bl L$0055,%r0 |
nop |
ldw 48(%r4),%r19 |
ldw 48(%r4),%r20 |
ldw 16(%r20),%r21 |
stw %r21,12(%r19) |
copy %r21,%r19 |
bl,n L$0056,%r0 |
L$0055: |
copy %r0,%r19 |
L$0056: |
ldw 48(%r4),%r19 |
ldw 48(%r4),%r20 |
ldw 12(%r20),%r21 |
stw %r21,8(%r19) |
ldw 52(%r4),%r10 |
bl,n L$0058,%r0 |
L$0057: |
ldo 32(%r0),%r26 |
.CALL ARGW0=GR |
bl xmalloc,%r2 |
nop |
copy %r28,%r10 |
L$0058: |
stw %r10,36(%r9) |
ldw 12(%r4),%r19 |
ldw 36(%r19),%r20 |
stw %r0,0(%r20) |
ldw 12(%r4),%r19 |
ldo 16(%r0),%r20 |
ldw 36(%r19),%r21 |
add %r20,%r21,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldo -1(%r20),%r21 |
stw %r21,0(%r19) |
ldw 12(%r4),%r20 |
ldw 36(%r20),%r19 |
addil L'builtin_type_int-$global$,%r27 |
ldw R'builtin_type_int-$global$(%r1),%r20 |
stw %r20,8(%r19) |
ldw 12(%r4),%r19 |
ldo 16(%r0),%r20 |
ldw 36(%r19),%r21 |
add %r20,%r21,%r19 |
addil L'builtin_type_int-$global$,%r27 |
ldw R'builtin_type_int-$global$(%r1),%r20 |
stw %r20,8(%r19) |
ldw 8(%r4),%r19 |
ldw 36(%r19),%r20 |
ldw 12(%r4),%r19 |
stw %r19,8(%r20) |
ldw 8(%r4),%r19 |
ldo -1(%r0),%r20 |
stw %r20,44(%r19) |
ldw 8(%r4),%r28 |
bl,n L$0044,%r0 |
L$0044: |
ldw 56(%r4),%r10 |
ldw 60(%r4),%r9 |
ldw 64(%r4),%r8 |
ldw 68(%r4),%r7 |
ldw 72(%r4),%r6 |
ldw 76(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT smash_to_member_type,CODE |
.EXPORT smash_to_member_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR |
smash_to_member_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r10,16(%r4) |
stw %r9,20(%r4) |
stw %r8,24(%r4) |
stw %r7,28(%r4) |
stw %r6,32(%r4) |
stw %r5,36(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -12(%r0),%r9 |
ldo -32(%r4),%r19 |
add %r19,%r9,%r10 |
stw %r24,0(%r10) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r20 |
stw %r20,8(%r4) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
copy %r0,%r25 |
ldo 52(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
stw %r20,12(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -12(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,16(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,40(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo 1(%r0),%r20 |
stw %r20,8(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo 14(%r0),%r20 |
stw %r20,0(%r19) |
L$0059: |
ldw 16(%r4),%r10 |
ldw 20(%r4),%r9 |
ldw 24(%r4),%r8 |
ldw 28(%r4),%r7 |
ldw 32(%r4),%r6 |
ldw 36(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT smash_to_method_type,CODE |
.EXPORT smash_to_method_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
smash_to_method_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r12,16(%r4) |
stw %r11,20(%r4) |
stw %r10,24(%r4) |
stw %r9,28(%r4) |
stw %r8,32(%r4) |
stw %r7,36(%r4) |
stw %r6,40(%r4) |
stw %r5,44(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -12(%r0),%r9 |
ldo -32(%r4),%r19 |
add %r19,%r9,%r10 |
stw %r24,0(%r10) |
ldo -16(%r0),%r11 |
ldo -32(%r4),%r19 |
add %r19,%r11,%r12 |
stw %r23,0(%r12) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r20 |
stw %r20,8(%r4) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
copy %r0,%r25 |
ldo 52(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
stw %r20,12(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -12(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,16(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,40(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -16(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,48(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo 1(%r0),%r20 |
stw %r20,8(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo 15(%r0),%r20 |
stw %r20,0(%r19) |
L$0060: |
ldw 16(%r4),%r12 |
ldw 20(%r4),%r11 |
ldw 24(%r4),%r10 |
ldw 28(%r4),%r9 |
ldw 32(%r4),%r8 |
ldw 36(%r4),%r7 |
ldw 40(%r4),%r6 |
ldw 44(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT strncmp,CODE |
.align 4 |
LC$0000: |
.STRING "struct \x00" |
.align 4 |
LC$0001: |
.STRING "union \x00" |
.align 4 |
LC$0002: |
.STRING "enum \x00" |
.align 4 |
.EXPORT type_name_no_tag,CODE |
.EXPORT type_name_no_tag,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
type_name_no_tag: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,8(%r4) |
stw %r5,12(%r4) |
copy %r26,%r5 |
ldw 4(%r5),%r6 |
comiclr,<> 0,%r6,%r0 |
bl L$0062,%r0 |
nop |
ldw 0(%r5),%r19 |
comiclr,<> 4,%r19,%r0 |
bl L$0066,%r0 |
nop |
comiclr,>= 4,%r19,%r0 |
bl L$0072,%r0 |
nop |
comiclr,<> 3,%r19,%r0 |
bl L$0064,%r0 |
nop |
bl,n L$0070,%r0 |
L$0072: |
comiclr,<> 5,%r19,%r0 |
bl L$0068,%r0 |
nop |
bl,n L$0070,%r0 |
L$0064: |
copy %r6,%r26 |
ldil L'LC$0000,%r25 |
ldo R'LC$0000(%r25),%r25 |
ldo 7(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl strncmp,%r2 |
nop |
copy %r28,%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0065,%r0 |
nop |
ldo 7(%r6),%r6 |
L$0065: |
bl,n L$0063,%r0 |
L$0066: |
copy %r6,%r26 |
ldil L'LC$0001,%r25 |
ldo R'LC$0001(%r25),%r25 |
ldo 6(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl strncmp,%r2 |
nop |
copy %r28,%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0067,%r0 |
nop |
ldo 6(%r6),%r6 |
L$0067: |
bl,n L$0063,%r0 |
L$0068: |
copy %r6,%r26 |
ldil L'LC$0002,%r25 |
ldo R'LC$0002(%r25),%r25 |
ldo 5(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl strncmp,%r2 |
nop |
copy %r28,%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0069,%r0 |
nop |
ldo 5(%r6),%r6 |
L$0069: |
bl,n L$0063,%r0 |
L$0070: |
bl,n L$0063,%r0 |
L$0063: |
L$0062: |
copy %r6,%r28 |
bl,n L$0061,%r0 |
L$0061: |
ldw 8(%r4),%r6 |
ldw 12(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT current_language,DATA |
.IMPORT strcmp,CODE |
.align 4 |
.EXPORT lookup_primitive_typename,CODE |
.EXPORT lookup_primitive_typename,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
lookup_primitive_typename: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
addil L'current_language-$global$,%r27 |
ldw R'current_language-$global$(%r1),%r19 |
ldw 8(%r19),%r20 |
stw %r20,8(%r4) |
L$0074: |
ldw 8(%r4),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0075,%r0 |
nop |
ldw 8(%r4),%r19 |
ldw 0(%r19),%r20 |
ldw 0(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 4(%r19),%r26 |
ldw 0(%r20),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 |
nop |
copy %r28,%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0077,%r0 |
nop |
ldw 8(%r4),%r19 |
ldw 0(%r19),%r20 |
ldw 0(%r20),%r28 |
bl,n L$0073,%r0 |
L$0077: |
L$0076: |
ldw 8(%r4),%r19 |
ldo 4(%r19),%r20 |
stw %r20,8(%r4) |
bl,n L$0074,%r0 |
L$0075: |
copy %r0,%r28 |
bl,n L$0073,%r0 |
L$0073: |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT lookup_symbol,CODE |
.IMPORT error,CODE |
.align 4 |
LC$0003: |
.STRING "No type named %s.\x00" |
.align 4 |
.EXPORT lookup_typename,CODE |
.EXPORT lookup_typename,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR |
lookup_typename: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r12,8(%r4) |
stw %r11,12(%r4) |
stw %r10,16(%r4) |
stw %r9,20(%r4) |
stw %r8,24(%r4) |
stw %r7,28(%r4) |
stw %r6,32(%r4) |
stw %r5,36(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -12(%r0),%r9 |
ldo -32(%r4),%r19 |
add %r19,%r9,%r10 |
stw %r24,0(%r10) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
stw %r0,-52(%r30) |
ldw 0(%r19),%r26 |
ldw 0(%r20),%r25 |
ldo 1(%r0),%r24 |
copy %r0,%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl lookup_symbol,%r2 |
nop |
copy %r28,%r11 |
comiclr,<> 0,%r11,%r0 |
bl L$0080,%r0 |
nop |
ldw 8(%r11),%r19 |
comiclr,= 8,%r19,%r0 |
bl L$0080,%r0 |
nop |
bl,n L$0079,%r0 |
L$0080: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl lookup_primitive_typename,%r2 |
nop |
copy %r28,%r12 |
comiclr,<> 0,%r12,%r0 |
bl L$0081,%r0 |
nop |
copy %r12,%r28 |
bl,n L$0078,%r0 |
bl,n L$0082,%r0 |
L$0081: |
comiclr,= 0,%r12,%r0 |
bl L$0083,%r0 |
nop |
ldo -12(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0083,%r0 |
nop |
copy %r0,%r28 |
bl,n L$0078,%r0 |
bl,n L$0084,%r0 |
L$0083: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0003,%r26 |
ldo R'LC$0003(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0084: |
L$0082: |
L$0079: |
ldw 12(%r11),%r28 |
bl,n L$0078,%r0 |
L$0078: |
ldw 8(%r4),%r12 |
ldw 12(%r4),%r11 |
ldw 16(%r4),%r10 |
ldw 20(%r4),%r9 |
ldw 24(%r4),%r8 |
ldw 28(%r4),%r7 |
ldw 32(%r4),%r6 |
ldw 36(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT alloca,CODE |
.IMPORT strlen,CODE |
.IMPORT strcpy,CODE |
.align 4 |
LC$0004: |
.STRING "unsigned \x00" |
.align 4 |
.EXPORT lookup_unsigned_typename,CODE |
.EXPORT lookup_unsigned_typename,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
lookup_unsigned_typename: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl strlen,%r2 |
nop |
copy %r28,%r19 |
ldo 10(%r19),%r20 |
ldo 7(%r20),%r21 |
copy %r21,%r19 |
ldo 63(%r19),%r20 |
extru %r20,25,26,%r19 |
zdep %r19,25,26,%r20 |
ldo -96(%r30),%r19 |
add %r30,%r20,%r30 |
ldo 7(%r19),%r20 |
extru %r20,28,29,%r19 |
zdep %r19,28,29,%r20 |
stw %r20,8(%r4) |
ldw 8(%r4),%r26 |
ldil L'LC$0004,%r25 |
ldo R'LC$0004(%r25),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcpy,%r2 |
nop |
ldw 8(%r4),%r20 |
ldo 9(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
copy %r19,%r26 |
ldw 0(%r20),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcpy,%r2 |
nop |
ldw 8(%r4),%r26 |
copy %r0,%r25 |
copy %r0,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl lookup_typename,%r2 |
nop |
bl,n L$0085,%r0 |
L$0085: |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
LC$0005: |
.STRING "signed \x00" |
.align 4 |
.EXPORT lookup_signed_typename,CODE |
.EXPORT lookup_signed_typename,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR |
lookup_signed_typename: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl strlen,%r2 |
nop |
copy %r28,%r19 |
ldo 8(%r19),%r20 |
ldo 7(%r20),%r21 |
copy %r21,%r19 |
ldo 63(%r19),%r20 |
extru %r20,25,26,%r19 |
zdep %r19,25,26,%r20 |
ldo -96(%r30),%r19 |
add %r30,%r20,%r30 |
ldo 7(%r19),%r20 |
extru %r20,28,29,%r19 |
zdep %r19,28,29,%r20 |
stw %r20,12(%r4) |
ldw 12(%r4),%r26 |
ldil L'LC$0005,%r25 |
ldo R'LC$0005(%r25),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcpy,%r2 |
nop |
ldw 12(%r4),%r20 |
ldo 7(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
copy %r19,%r26 |
ldw 0(%r20),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcpy,%r2 |
nop |
ldw 12(%r4),%r26 |
copy %r0,%r25 |
ldo 1(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl lookup_typename,%r2 |
nop |
stw %r28,8(%r4) |
ldw 8(%r4),%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0087,%r0 |
nop |
ldw 8(%r4),%r28 |
bl,n L$0086,%r0 |
L$0087: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
copy %r0,%r25 |
copy %r0,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl lookup_typename,%r2 |
nop |
bl,n L$0086,%r0 |
L$0086: |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
LC$0006: |
.STRING "No struct type named %s.\x00" |
.align 4 |
LC$0007: |
.STRING "This context has class, union or enum %s, not a struct.\x00" |
.align 4 |
.EXPORT lookup_struct,CODE |
.EXPORT lookup_struct,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
lookup_struct: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r9,8(%r4) |
stw %r8,12(%r4) |
stw %r7,16(%r4) |
stw %r6,20(%r4) |
stw %r5,24(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
stw %r0,-52(%r30) |
ldw 0(%r19),%r26 |
ldw 0(%r20),%r25 |
ldo 2(%r0),%r24 |
copy %r0,%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl lookup_symbol,%r2 |
nop |
copy %r28,%r9 |
comiclr,= 0,%r9,%r0 |
bl L$0089,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0006,%r26 |
ldo R'LC$0006(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0089: |
ldw 12(%r9),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 3,%r20,%r0 |
bl L$0090,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0007,%r26 |
ldo R'LC$0007(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0090: |
ldw 12(%r9),%r28 |
bl,n L$0088,%r0 |
L$0088: |
ldw 8(%r4),%r9 |
ldw 12(%r4),%r8 |
ldw 16(%r4),%r7 |
ldw 20(%r4),%r6 |
ldw 24(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
LC$0008: |
.STRING "No union type named %s.\x00" |
.align 4 |
LC$0009: |
.STRING "This context has class, struct or enum %s, not a union.\x00" |
.align 4 |
.EXPORT lookup_union,CODE |
.EXPORT lookup_union,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
lookup_union: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r9,8(%r4) |
stw %r8,12(%r4) |
stw %r7,16(%r4) |
stw %r6,20(%r4) |
stw %r5,24(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
stw %r0,-52(%r30) |
ldw 0(%r19),%r26 |
ldw 0(%r20),%r25 |
ldo 2(%r0),%r24 |
copy %r0,%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl lookup_symbol,%r2 |
nop |
copy %r28,%r9 |
comiclr,= 0,%r9,%r0 |
bl L$0092,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0008,%r26 |
ldo R'LC$0008(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0092: |
ldw 12(%r9),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 4,%r20,%r0 |
bl L$0093,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0009,%r26 |
ldo R'LC$0009(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0093: |
ldw 12(%r9),%r28 |
bl,n L$0091,%r0 |
L$0091: |
ldw 8(%r4),%r9 |
ldw 12(%r4),%r8 |
ldw 16(%r4),%r7 |
ldw 20(%r4),%r6 |
ldw 24(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
LC$0010: |
.STRING "No enum type named %s.\x00" |
.align 4 |
LC$0011: |
.STRING "This context has class, struct or union %s, not an enum.\x00" |
.align 4 |
.EXPORT lookup_enum,CODE |
.EXPORT lookup_enum,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
lookup_enum: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r9,8(%r4) |
stw %r8,12(%r4) |
stw %r7,16(%r4) |
stw %r6,20(%r4) |
stw %r5,24(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
stw %r0,-52(%r30) |
ldw 0(%r19),%r26 |
ldw 0(%r20),%r25 |
ldo 2(%r0),%r24 |
copy %r0,%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl lookup_symbol,%r2 |
nop |
copy %r28,%r9 |
comiclr,= 0,%r9,%r0 |
bl L$0095,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0010,%r26 |
ldo R'LC$0010(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0095: |
ldw 12(%r9),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 5,%r20,%r0 |
bl L$0096,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0011,%r26 |
ldo R'LC$0011(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0096: |
ldw 12(%r9),%r28 |
bl,n L$0094,%r0 |
L$0094: |
ldw 8(%r4),%r9 |
ldw 12(%r4),%r8 |
ldw 16(%r4),%r7 |
ldw 20(%r4),%r6 |
ldw 24(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT strcat,CODE |
.align 4 |
LC$0012: |
.STRING "<\x00" |
.align 4 |
LC$0013: |
.STRING " >\x00" |
.align 4 |
LC$0014: |
.STRING "No template type named %s.\x00" |
.align 4 |
.EXPORT lookup_template_type,CODE |
.EXPORT lookup_template_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR |
lookup_template_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r11,16(%r4) |
stw %r10,20(%r4) |
stw %r9,24(%r4) |
stw %r8,28(%r4) |
stw %r7,32(%r4) |
stw %r6,36(%r4) |
stw %r5,40(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -12(%r0),%r9 |
ldo -32(%r4),%r19 |
add %r19,%r9,%r10 |
stw %r24,0(%r10) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl strlen,%r2 |
nop |
copy %r28,%r11 |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 4(%r19),%r26 |
.CALL ARGW0=GR |
bl strlen,%r2 |
nop |
copy %r28,%r19 |
add %r11,%r19,%r20 |
ldo 4(%r20),%r19 |
ldo 7(%r19),%r20 |
copy %r20,%r19 |
ldo 63(%r19),%r20 |
extru %r20,25,26,%r19 |
zdep %r19,25,26,%r20 |
ldo -96(%r30),%r19 |
add %r30,%r20,%r30 |
ldo 7(%r19),%r20 |
extru %r20,28,29,%r19 |
zdep %r19,28,29,%r20 |
stw %r20,12(%r4) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 12(%r4),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcpy,%r2 |
nop |
ldw 12(%r4),%r26 |
ldil L'LC$0012,%r25 |
ldo R'LC$0012(%r25),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcat,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r4),%r26 |
ldw 4(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcat,%r2 |
nop |
ldw 12(%r4),%r26 |
ldil L'LC$0013,%r25 |
ldo R'LC$0013(%r25),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcat,%r2 |
nop |
ldo -12(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
stw %r0,-52(%r30) |
ldw 12(%r4),%r26 |
ldw 0(%r19),%r25 |
ldo 1(%r0),%r24 |
copy %r0,%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl lookup_symbol,%r2 |
nop |
stw %r28,8(%r4) |
ldw 8(%r4),%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0098,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0014,%r26 |
ldo R'LC$0014(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0098: |
ldw 8(%r4),%r19 |
ldw 12(%r19),%r20 |
ldw 0(%r20),%r19 |
comiclr,<> 3,%r19,%r0 |
bl L$0099,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0007,%r26 |
ldo R'LC$0007(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0099: |
ldw 8(%r4),%r19 |
ldw 12(%r19),%r28 |
bl,n L$0097,%r0 |
L$0097: |
ldw 16(%r4),%r11 |
ldw 20(%r4),%r10 |
ldw 24(%r4),%r9 |
ldw 28(%r4),%r8 |
ldw 32(%r4),%r7 |
ldw 36(%r4),%r6 |
ldw 40(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT current_target,DATA |
.IMPORT fflush,CODE |
.IMPORT __iob,DATA |
.IMPORT fprintf,CODE |
.align 4 |
LC$0015: |
.STRING "Type \x00" |
.IMPORT type_print,CODE |
.align 4 |
LC$0016: |
.STRING "\x00" |
.align 4 |
LC$0017: |
.STRING " is not a structure or union type.\x00" |
.IMPORT check_stub_type,CODE |
.align 4 |
LC$0018: |
.STRING " has no component named \x00" |
.IMPORT fputs_filtered,CODE |
.align 4 |
LC$0019: |
.STRING ".\x00" |
.align 4 |
.EXPORT lookup_struct_elt_type,CODE |
.EXPORT lookup_struct_elt_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR |
lookup_struct_elt_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r11,24(%r4) |
stw %r10,28(%r4) |
stw %r9,32(%r4) |
stw %r8,36(%r4) |
stw %r7,40(%r4) |
stw %r6,44(%r4) |
stw %r5,48(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -12(%r0),%r9 |
ldo -32(%r4),%r19 |
add %r19,%r9,%r10 |
stw %r24,0(%r10) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 1,%r20,%r0 |
bl L$0102,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
ldo 16(%r0),%r19 |
comclr,<> %r20,%r19,%r0 |
bl L$0102,%r0 |
nop |
bl,n L$0101,%r0 |
L$0102: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 16(%r20),%r21 |
stw %r21,0(%r19) |
L$0101: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 3,%r20,%r0 |
bl L$0103,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 4,%r20,%r0 |
bl L$0103,%r0 |
nop |
addil L'current_target-$global$,%r27 |
ldw R'current_target-$global$(%r1),%r19 |
ldw 76(%r19),%r11 |
copy %r11,%r22 |
.CALL ARGW0=GR |
bl $$dyncall,%r31 |
copy %r31,%r2 |
addil L'__iob-$global$+16,%r27 |
ldo R'__iob-$global$+16(%r1),%r26 |
.CALL ARGW0=GR |
bl fflush,%r2 |
nop |
addil L'__iob-$global$+32,%r27 |
ldo R'__iob-$global$+32(%r1),%r26 |
ldil L'LC$0015,%r25 |
ldo R'LC$0015(%r25),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl fprintf,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
ldil L'LC$0016,%r25 |
ldo R'LC$0016(%r25),%r25 |
addil L'__iob-$global$+32,%r27 |
ldo R'__iob-$global$+32(%r1),%r24 |
ldo -1(%r0),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl type_print,%r2 |
nop |
ldil L'LC$0017,%r26 |
ldo R'LC$0017(%r26),%r26 |
.CALL ARGW0=GR |
bl error,%r2 |
nop |
L$0103: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl check_stub_type,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldh 34(%r19),%r20 |
extrs %r20,31,16,%r19 |
ldo -1(%r19),%r20 |
stw %r20,8(%r4) |
L$0104: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldh 0(%r20),%r21 |
extrs %r21,31,16,%r19 |
ldw 8(%r4),%r20 |
comclr,>= %r20,%r19,%r0 |
bl L$0105,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
zdep %r20,27,28,%r21 |
ldw 36(%r19),%r20 |
add %r21,%r20,%r19 |
ldw 12(%r19),%r20 |
stw %r20,12(%r4) |
ldw 12(%r4),%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0107,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 12(%r4),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strcmp,%r2 |
nop |
copy %r28,%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0107,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
zdep %r20,27,28,%r21 |
ldw 36(%r19),%r20 |
add %r21,%r20,%r19 |
ldw 8(%r19),%r28 |
bl,n L$0100,%r0 |
L$0107: |
L$0106: |
ldw 8(%r4),%r19 |
ldo -1(%r19),%r20 |
stw %r20,8(%r4) |
bl,n L$0104,%r0 |
L$0105: |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldh 0(%r20),%r21 |
extrs %r21,31,16,%r19 |
ldo -1(%r19),%r20 |
stw %r20,8(%r4) |
L$0108: |
ldw 8(%r4),%r19 |
comiclr,<= 0,%r19,%r0 |
bl L$0109,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
zdep %r20,27,28,%r21 |
ldw 36(%r19),%r20 |
add %r21,%r20,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 8(%r19),%r26 |
ldw 0(%r20),%r25 |
copy %r0,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl lookup_struct_elt_type,%r2 |
nop |
stw %r28,16(%r4) |
ldw 16(%r4),%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0111,%r0 |
nop |
ldw 16(%r4),%r28 |
bl,n L$0100,%r0 |
L$0111: |
L$0110: |
ldw 8(%r4),%r19 |
ldo -1(%r19),%r20 |
stw %r20,8(%r4) |
bl,n L$0108,%r0 |
L$0109: |
ldo -12(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0112,%r0 |
nop |
copy %r0,%r28 |
bl,n L$0100,%r0 |
L$0112: |
addil L'current_target-$global$,%r27 |
ldw R'current_target-$global$(%r1),%r19 |
ldw 76(%r19),%r11 |
copy %r11,%r22 |
.CALL ARGW0=GR |
bl $$dyncall,%r31 |
copy %r31,%r2 |
addil L'__iob-$global$+16,%r27 |
ldo R'__iob-$global$+16(%r1),%r26 |
.CALL ARGW0=GR |
bl fflush,%r2 |
nop |
addil L'__iob-$global$+32,%r27 |
ldo R'__iob-$global$+32(%r1),%r26 |
ldil L'LC$0015,%r25 |
ldo R'LC$0015(%r25),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl fprintf,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
ldil L'LC$0016,%r25 |
ldo R'LC$0016(%r25),%r25 |
addil L'__iob-$global$+32,%r27 |
ldo R'__iob-$global$+32(%r1),%r24 |
ldo -1(%r0),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl type_print,%r2 |
nop |
addil L'__iob-$global$+32,%r27 |
ldo R'__iob-$global$+32(%r1),%r26 |
ldil L'LC$0018,%r25 |
ldo R'LC$0018(%r25),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl fprintf,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
addil L'__iob-$global$+32,%r27 |
ldo R'__iob-$global$+32(%r1),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl fputs_filtered,%r2 |
nop |
ldil L'LC$0019,%r26 |
ldo R'LC$0019(%r26),%r26 |
.CALL ARGW0=GR |
bl error,%r2 |
nop |
ldo -1(%r0),%r28 |
bl,n L$0100,%r0 |
L$0100: |
ldw 24(%r4),%r11 |
ldw 28(%r4),%r10 |
ldw 32(%r4),%r9 |
ldw 36(%r4),%r8 |
ldw 40(%r4),%r7 |
ldw 44(%r4),%r6 |
ldw 48(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT fill_in_vptr_fieldno,CODE |
.EXPORT fill_in_vptr_fieldno,ENTRY,PRIV_LEV=3,ARGW0=GR |
fill_in_vptr_fieldno: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 44(%r19),%r20 |
comiclr,> 0,%r20,%r0 |
bl L$0114,%r0 |
nop |
ldo 1(%r0),%r19 |
stw %r19,8(%r4) |
L$0115: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldh 0(%r20),%r21 |
extrs %r21,31,16,%r19 |
ldw 8(%r4),%r20 |
comclr,< %r20,%r19,%r0 |
bl L$0116,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
zdep %r20,27,28,%r21 |
ldw 36(%r19),%r20 |
add %r21,%r20,%r19 |
ldw 8(%r19),%r26 |
.CALL ARGW0=GR |
bl fill_in_vptr_fieldno,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
zdep %r20,27,28,%r21 |
ldw 36(%r19),%r20 |
add %r21,%r20,%r19 |
ldw 8(%r19),%r20 |
ldw 44(%r20),%r19 |
comiclr,<= 0,%r19,%r0 |
bl L$0118,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 8(%r4),%r21 |
zdep %r21,27,28,%r22 |
ldw 36(%r20),%r21 |
add %r22,%r21,%r20 |
ldw 8(%r20),%r21 |
ldw 44(%r21),%r20 |
stw %r20,44(%r19) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 8(%r4),%r21 |
zdep %r21,27,28,%r22 |
ldw 36(%r20),%r21 |
add %r22,%r21,%r20 |
ldw 8(%r20),%r21 |
ldw 40(%r21),%r20 |
stw %r20,40(%r19) |
bl,n L$0116,%r0 |
L$0118: |
L$0117: |
ldw 8(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,8(%r4) |
bl,n L$0115,%r0 |
L$0116: |
L$0114: |
L$0113: |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.EXPORT stub_noname_complaint,DATA |
.align 4 |
LC$0020: |
.STRING "stub type has NULL name\x00" |
.data |
|
.align 4 |
stub_noname_complaint: |
.word LC$0020 |
.word 0 |
.word 0 |
.IMPORT complain,CODE |
.IMPORT memcpy,CODE |
.code |
|
.align 4 |
.EXPORT check_stub_type,CODE |
.EXPORT check_stub_type,ENTRY,PRIV_LEV=3,ARGW0=GR |
check_stub_type: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldh 32(%r19),%r20 |
ldo 4(%r0),%r21 |
and %r20,%r21,%r19 |
extrs %r19,31,16,%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0120,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl type_name_no_tag,%r2 |
nop |
stw %r28,8(%r4) |
ldw 8(%r4),%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0121,%r0 |
nop |
addil L'stub_noname_complaint-$global$,%r27 |
ldo R'stub_noname_complaint-$global$(%r1),%r26 |
copy %r0,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl complain,%r2 |
nop |
bl,n L$0119,%r0 |
L$0121: |
stw %r0,-52(%r30) |
ldw 8(%r4),%r26 |
copy %r0,%r25 |
ldo 2(%r0),%r24 |
copy %r0,%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl lookup_symbol,%r2 |
nop |
stw %r28,12(%r4) |
ldw 12(%r4),%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0122,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 12(%r4),%r20 |
ldw 0(%r19),%r26 |
ldw 12(%r20),%r25 |
ldo 52(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memcpy,%r2 |
nop |
L$0122: |
L$0120: |
L$0119: |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT gdb_mangle_name,CODE |
.IMPORT cplus_demangle,CODE |
.align 4 |
LC$0021: |
.STRING "Internal: Cannot demangle mangled name `%s'.\x00" |
.IMPORT strchr,CODE |
.IMPORT parse_and_eval_type,CODE |
.IMPORT builtin_type_void,DATA |
.IMPORT free,CODE |
.align 4 |
.EXPORT check_stub_method,CODE |
.EXPORT check_stub_method,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR |
check_stub_method: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r11,64(%r4) |
stw %r10,68(%r4) |
stw %r9,72(%r4) |
stw %r8,76(%r4) |
stw %r7,80(%r4) |
stw %r6,84(%r4) |
stw %r5,88(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -12(%r0),%r9 |
ldo -32(%r4),%r19 |
add %r19,%r9,%r10 |
stw %r24,0(%r10) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldo -12(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r19),%r26 |
ldw 0(%r20),%r25 |
ldw 0(%r21),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl gdb_mangle_name,%r2 |
nop |
stw %r28,12(%r4) |
ldw 12(%r4),%r26 |
ldo 3(%r0),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl cplus_demangle,%r2 |
nop |
stw %r28,16(%r4) |
stw %r0,28(%r4) |
ldo 1(%r0),%r19 |
stw %r19,32(%r4) |
ldw 16(%r4),%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0124,%r0 |
nop |
ldil L'LC$0021,%r26 |
ldo R'LC$0021(%r26),%r26 |
ldw 12(%r4),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
L$0124: |
ldw 16(%r4),%r26 |
ldo 40(%r0),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl strchr,%r2 |
nop |
copy %r28,%r19 |
ldo 1(%r19),%r20 |
stw %r20,20(%r4) |
ldw 20(%r4),%r19 |
stw %r19,24(%r4) |
L$0125: |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0126,%r0 |
nop |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 40(%r0),%r20 |
comclr,= %r19,%r20,%r0 |
bl L$0127,%r0 |
nop |
ldw 28(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,28(%r4) |
bl,n L$0128,%r0 |
L$0127: |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 41(%r0),%r20 |
comclr,= %r19,%r20,%r0 |
bl L$0129,%r0 |
nop |
ldw 28(%r4),%r19 |
ldo -1(%r19),%r20 |
stw %r20,28(%r4) |
bl,n L$0130,%r0 |
L$0129: |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 44(%r0),%r20 |
comclr,= %r19,%r20,%r0 |
bl L$0131,%r0 |
nop |
ldw 28(%r4),%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0131,%r0 |
nop |
ldw 32(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,32(%r4) |
L$0131: |
L$0130: |
L$0128: |
ldw 24(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,24(%r4) |
bl,n L$0125,%r0 |
L$0126: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0137,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r20 |
ldo 120(%r20),%r19 |
stw %r19,44(%r4) |
ldw 44(%r4),%r19 |
stw %r19,48(%r4) |
ldw 32(%r4),%r20 |
ldo 2(%r20),%r19 |
zdep %r19,29,30,%r20 |
stw %r20,52(%r4) |
ldw 48(%r4),%r19 |
ldw 48(%r4),%r20 |
ldw 16(%r19),%r19 |
ldw 12(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 52(%r4),%r20 |
comclr,< %r19,%r20,%r0 |
bl L$0132,%r0 |
nop |
ldw 48(%r4),%r26 |
ldw 52(%r4),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl _obstack_newchunk,%r2 |
nop |
copy %r0,%r19 |
bl,n L$0133,%r0 |
L$0132: |
copy %r0,%r19 |
L$0133: |
ldw 48(%r4),%r19 |
ldw 48(%r4),%r20 |
ldw 12(%r20),%r21 |
ldw 52(%r4),%r22 |
add %r21,%r22,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 44(%r4),%r19 |
stw %r19,56(%r4) |
ldw 56(%r4),%r19 |
ldw 8(%r19),%r20 |
stw %r20,60(%r4) |
ldw 56(%r4),%r19 |
ldw 12(%r19),%r20 |
ldw 60(%r4),%r19 |
comclr,= %r20,%r19,%r0 |
bl L$0134,%r0 |
nop |
ldw 56(%r4),%r19 |
ldw 40(%r19),%r20 |
copy %r20,%r21 |
depi -1,1,1,%r21 |
stw %r21,40(%r19) |
L$0134: |
ldw 56(%r4),%r19 |
ldw 56(%r4),%r20 |
ldw 56(%r4),%r21 |
ldw 12(%r20),%r20 |
ldw 24(%r21),%r21 |
add %r20,%r21,%r20 |
ldw 56(%r4),%r21 |
ldw 24(%r21),%r22 |
uaddcm %r0,%r22,%r21 |
and %r20,%r21,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 56(%r4),%r19 |
ldw 56(%r4),%r20 |
ldw 12(%r19),%r19 |
ldw 4(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 56(%r4),%r20 |
ldw 56(%r4),%r21 |
ldw 16(%r20),%r20 |
ldw 4(%r21),%r21 |
sub %r20,%r21,%r20 |
comclr,> %r19,%r20,%r0 |
bl L$0135,%r0 |
nop |
ldw 56(%r4),%r19 |
ldw 56(%r4),%r20 |
ldw 16(%r20),%r21 |
stw %r21,12(%r19) |
copy %r21,%r19 |
bl,n L$0136,%r0 |
L$0135: |
copy %r0,%r19 |
L$0136: |
ldw 56(%r4),%r19 |
ldw 56(%r4),%r20 |
ldw 12(%r20),%r21 |
stw %r21,8(%r19) |
ldw 60(%r4),%r11 |
bl,n L$0138,%r0 |
L$0137: |
ldw 32(%r4),%r20 |
ldo 2(%r20),%r19 |
zdep %r19,29,30,%r20 |
copy %r20,%r26 |
.CALL ARGW0=GR |
bl xmalloc,%r2 |
nop |
copy %r28,%r11 |
L$0138: |
stw %r11,36(%r4) |
ldw 20(%r4),%r19 |
stw %r19,24(%r4) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl lookup_pointer_type,%r2 |
nop |
copy %r28,%r19 |
ldw 36(%r4),%r20 |
stw %r19,0(%r20) |
ldo 1(%r0),%r19 |
stw %r19,32(%r4) |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 41(%r0),%r20 |
comclr,<> %r19,%r20,%r0 |
bl L$0139,%r0 |
nop |
stw %r0,28(%r4) |
L$0140: |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0141,%r0 |
nop |
ldw 28(%r4),%r19 |
comiclr,>= 0,%r19,%r0 |
bl L$0142,%r0 |
nop |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 44(%r0),%r20 |
comclr,<> %r19,%r20,%r0 |
bl L$0143,%r0 |
nop |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 41(%r0),%r20 |
comclr,<> %r19,%r20,%r0 |
bl L$0143,%r0 |
nop |
bl,n L$0142,%r0 |
L$0143: |
ldw 24(%r4),%r19 |
ldw 20(%r4),%r20 |
sub %r19,%r20,%r19 |
ldw 20(%r4),%r26 |
copy %r19,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl parse_and_eval_type,%r2 |
nop |
copy %r28,%r19 |
ldw 32(%r4),%r20 |
zdep %r20,29,30,%r21 |
ldw 36(%r4),%r22 |
add %r21,%r22,%r20 |
stw %r19,0(%r20) |
ldw 32(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,32(%r4) |
ldw 24(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,20(%r4) |
L$0142: |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 40(%r0),%r20 |
comclr,= %r19,%r20,%r0 |
bl L$0144,%r0 |
nop |
ldw 28(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,28(%r4) |
bl,n L$0145,%r0 |
L$0144: |
ldw 24(%r4),%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 41(%r0),%r20 |
comclr,= %r19,%r20,%r0 |
bl L$0146,%r0 |
nop |
ldw 28(%r4),%r19 |
ldo -1(%r19),%r20 |
stw %r20,28(%r4) |
L$0146: |
L$0145: |
ldw 24(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,24(%r4) |
bl,n L$0140,%r0 |
L$0141: |
L$0139: |
ldo -2(%r0),%r19 |
ldw 24(%r4),%r20 |
add %r19,%r20,%r19 |
ldb 0(%r19),%r20 |
extrs %r20,31,8,%r19 |
ldo 46(%r0),%r20 |
comclr,<> %r19,%r20,%r0 |
bl L$0147,%r0 |
nop |
ldw 32(%r4),%r19 |
zdep %r19,29,30,%r20 |
ldw 36(%r4),%r21 |
add %r20,%r21,%r19 |
addil L'builtin_type_void-$global$,%r27 |
ldw R'builtin_type_void-$global$(%r1),%r20 |
stw %r20,0(%r19) |
bl,n L$0148,%r0 |
L$0147: |
ldw 32(%r4),%r19 |
zdep %r19,29,30,%r20 |
ldw 36(%r4),%r21 |
add %r20,%r21,%r19 |
stw %r0,0(%r19) |
L$0148: |
ldw 16(%r4),%r26 |
.CALL ARGW0=GR |
bl free,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 48(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
zdep %r21,30,31,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 20(%r19),%r21 |
add %r20,%r21,%r19 |
ldw 8(%r19),%r20 |
stw %r20,8(%r4) |
ldo -12(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
zdep %r20,29,30,%r19 |
add %r19,%r20,%r19 |
zdep %r19,29,30,%r19 |
ldw 8(%r4),%r20 |
add %r19,%r20,%r19 |
ldw 12(%r4),%r20 |
stw %r20,0(%r19) |
ldo -12(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
zdep %r20,29,30,%r19 |
add %r19,%r20,%r19 |
zdep %r19,29,30,%r19 |
ldw 8(%r4),%r20 |
add %r19,%r20,%r19 |
ldw 4(%r19),%r20 |
stw %r20,40(%r4) |
ldw 40(%r4),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
stw %r21,40(%r19) |
ldw 40(%r4),%r19 |
ldw 36(%r4),%r20 |
stw %r20,48(%r19) |
ldw 40(%r4),%r19 |
ldw 40(%r4),%r20 |
ldh 32(%r20),%r21 |
copy %r21,%r20 |
depi 0,29,1,%r20 |
sth %r20,32(%r19) |
ldo -12(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
zdep %r20,29,30,%r19 |
add %r19,%r20,%r19 |
zdep %r19,29,30,%r19 |
ldw 8(%r4),%r20 |
add %r19,%r20,%r19 |
ldw 16(%r19),%r20 |
copy %r20,%r21 |
depi 0,4,1,%r21 |
stw %r21,16(%r19) |
L$0123: |
ldw 64(%r4),%r11 |
ldw 68(%r4),%r10 |
ldw 72(%r4),%r9 |
ldw 76(%r4),%r8 |
ldw 80(%r4),%r7 |
ldw 84(%r4),%r6 |
ldw 88(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT allocate_cplus_struct_type,CODE |
.EXPORT allocate_cplus_struct_type,ENTRY,PRIV_LEV=3,ARGW0=GR |
allocate_cplus_struct_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r8,32(%r4) |
stw %r7,36(%r4) |
stw %r6,40(%r4) |
stw %r5,44(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 48(%r20),%r19 |
comclr,= %r19,%r20,%r0 |
bl L$0150,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r7 |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0156,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 12(%r19),%r20 |
ldo 120(%r20),%r19 |
stw %r19,8(%r4) |
ldw 8(%r4),%r19 |
stw %r19,12(%r4) |
ldo 24(%r0),%r19 |
stw %r19,16(%r4) |
ldw 12(%r4),%r19 |
ldw 12(%r4),%r20 |
ldw 16(%r19),%r19 |
ldw 12(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 16(%r4),%r20 |
comclr,< %r19,%r20,%r0 |
bl L$0151,%r0 |
nop |
ldw 12(%r4),%r26 |
ldw 16(%r4),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl _obstack_newchunk,%r2 |
nop |
copy %r0,%r19 |
bl,n L$0152,%r0 |
L$0151: |
copy %r0,%r19 |
L$0152: |
ldw 12(%r4),%r19 |
ldw 12(%r4),%r20 |
ldw 12(%r20),%r21 |
ldw 16(%r4),%r22 |
add %r21,%r22,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 8(%r4),%r19 |
stw %r19,20(%r4) |
ldw 20(%r4),%r19 |
ldw 8(%r19),%r20 |
stw %r20,24(%r4) |
ldw 20(%r4),%r19 |
ldw 12(%r19),%r20 |
ldw 24(%r4),%r19 |
comclr,= %r20,%r19,%r0 |
bl L$0153,%r0 |
nop |
ldw 20(%r4),%r19 |
ldw 40(%r19),%r20 |
copy %r20,%r21 |
depi -1,1,1,%r21 |
stw %r21,40(%r19) |
L$0153: |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 20(%r4),%r21 |
ldw 12(%r20),%r20 |
ldw 24(%r21),%r21 |
add %r20,%r21,%r20 |
ldw 20(%r4),%r21 |
ldw 24(%r21),%r22 |
uaddcm %r0,%r22,%r21 |
and %r20,%r21,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 12(%r19),%r19 |
ldw 4(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 20(%r4),%r20 |
ldw 20(%r4),%r21 |
ldw 16(%r20),%r20 |
ldw 4(%r21),%r21 |
sub %r20,%r21,%r20 |
comclr,> %r19,%r20,%r0 |
bl L$0154,%r0 |
nop |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 16(%r20),%r21 |
stw %r21,12(%r19) |
copy %r21,%r19 |
bl,n L$0155,%r0 |
L$0154: |
copy %r0,%r19 |
L$0155: |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 12(%r20),%r21 |
stw %r21,8(%r19) |
ldw 24(%r4),%r8 |
bl,n L$0157,%r0 |
L$0156: |
ldo 24(%r0),%r26 |
.CALL ARGW0=GR |
bl xmalloc,%r2 |
nop |
copy %r28,%r8 |
L$0157: |
stw %r8,48(%r7) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
copy %r20,%r21 |
ldws,ma 4(%r22),%r19 |
ldws,ma 4(%r22),%r20 |
stws,ma %r19,4(%r21) |
ldws,ma 4(%r22),%r19 |
stws,ma %r20,4(%r21) |
ldws,ma 4(%r22),%r20 |
stws,ma %r19,4(%r21) |
ldws,ma 4(%r22),%r19 |
stws,ma %r20,4(%r21) |
ldws,ma 4(%r22),%r20 |
stws,ma %r19,4(%r21) |
stw %r20,0(%r21) |
L$0150: |
L$0149: |
ldw 32(%r4),%r8 |
ldw 36(%r4),%r7 |
ldw 40(%r4),%r6 |
ldw 44(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT obsavestring,CODE |
.align 4 |
.EXPORT init_type,CODE |
.EXPORT init_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR |
init_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r14,8(%r4) |
stw %r13,12(%r4) |
stw %r12,16(%r4) |
stw %r11,20(%r4) |
stw %r10,24(%r4) |
stw %r9,28(%r4) |
stw %r8,32(%r4) |
stw %r7,36(%r4) |
stw %r6,40(%r4) |
stw %r5,44(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -12(%r0),%r9 |
ldo -32(%r4),%r19 |
add %r19,%r9,%r10 |
stw %r24,0(%r10) |
ldo -16(%r0),%r11 |
ldo -32(%r4),%r19 |
add %r19,%r11,%r12 |
stw %r23,0(%r12) |
ldo -20(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl alloc_type,%r2 |
nop |
copy %r28,%r13 |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,0(%r13) |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,8(%r13) |
ldo -12(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldh 32(%r13),%r20 |
ldh 2(%r19),%r19 |
or %r20,%r19,%r20 |
sth %r20,32(%r13) |
ldo -16(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0159,%r0 |
nop |
ldo -20(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0159,%r0 |
nop |
ldo -16(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r14 |
ldo -16(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r26 |
.CALL ARGW0=GR |
bl strlen,%r2 |
nop |
copy %r28,%r19 |
ldo -20(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldo 120(%r21),%r20 |
ldw 0(%r14),%r26 |
copy %r19,%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl obsavestring,%r2 |
nop |
copy %r28,%r19 |
stw %r19,4(%r13) |
bl,n L$0160,%r0 |
L$0159: |
ldo -16(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,4(%r13) |
L$0160: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 3,%r20,%r0 |
bl L$0162,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 4,%r20,%r0 |
bl L$0162,%r0 |
nop |
bl,n L$0161,%r0 |
L$0162: |
stw %r19,48(%r13) |
L$0161: |
copy %r13,%r28 |
bl,n L$0158,%r0 |
L$0158: |
ldw 8(%r4),%r14 |
ldw 12(%r4),%r13 |
ldw 16(%r4),%r12 |
ldw 20(%r4),%r11 |
ldw 24(%r4),%r10 |
ldw 28(%r4),%r9 |
ldw 32(%r4),%r8 |
ldw 36(%r4),%r7 |
ldw 40(%r4),%r6 |
ldw 44(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
LC$0022: |
.STRING "internal error - invalid fundamental type id %d\x00" |
.align 4 |
LC$0023: |
.STRING "internal error: unhandled type id %d\x00" |
.align 4 |
LC$0024: |
.STRING "void\x00" |
.align 4 |
LC$0025: |
.STRING "boolean\x00" |
.align 4 |
LC$0026: |
.STRING "string\x00" |
.align 4 |
LC$0027: |
.STRING "char\x00" |
.align 4 |
LC$0028: |
.STRING "signed char\x00" |
.align 4 |
LC$0029: |
.STRING "unsigned char\x00" |
.align 4 |
LC$0030: |
.STRING "short\x00" |
.align 4 |
LC$0031: |
.STRING "unsigned short\x00" |
.align 4 |
LC$0032: |
.STRING "int\x00" |
.align 4 |
LC$0033: |
.STRING "unsigned int\x00" |
.align 4 |
LC$0034: |
.STRING "fixed decimal\x00" |
.align 4 |
LC$0035: |
.STRING "long\x00" |
.align 4 |
LC$0036: |
.STRING "unsigned long\x00" |
.align 4 |
LC$0037: |
.STRING "long long\x00" |
.align 4 |
LC$0038: |
.STRING "signed long long\x00" |
.align 4 |
LC$0039: |
.STRING "unsigned long long\x00" |
.align 4 |
LC$0040: |
.STRING "float\x00" |
.align 4 |
LC$0041: |
.STRING "double\x00" |
.align 4 |
LC$0042: |
.STRING "floating decimal\x00" |
.align 4 |
LC$0043: |
.STRING "long double\x00" |
.align 4 |
LC$0044: |
.STRING "complex\x00" |
.align 4 |
LC$0045: |
.STRING "double complex\x00" |
.align 4 |
LC$0046: |
.STRING "long double complex\x00" |
.align 4 |
.EXPORT lookup_fundamental_type,CODE |
.EXPORT lookup_fundamental_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR |
lookup_fundamental_type: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r12,32(%r4) |
stw %r11,36(%r4) |
stw %r10,40(%r4) |
stw %r9,44(%r4) |
stw %r8,48(%r4) |
stw %r7,52(%r4) |
stw %r6,56(%r4) |
stw %r5,60(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
copy %r0,%r9 |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<= 0,%r20,%r0 |
bl L$0165,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 25(%r0),%r19 |
comclr,<= %r20,%r19,%r0 |
bl L$0165,%r0 |
nop |
bl,n L$0164,%r0 |
L$0165: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0022,%r26 |
ldo R'LC$0022(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
bl,n L$0166,%r0 |
L$0164: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 196(%r19),%r20 |
comiclr,= 0,%r20,%r0 |
bl L$0167,%r0 |
nop |
ldo 104(%r0),%r11 |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r12 |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo 120(%r19),%r20 |
stw %r20,8(%r4) |
ldw 8(%r4),%r19 |
stw %r19,12(%r4) |
stw %r11,16(%r4) |
ldw 12(%r4),%r19 |
ldw 12(%r4),%r20 |
ldw 16(%r19),%r19 |
ldw 12(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 16(%r4),%r20 |
comclr,< %r19,%r20,%r0 |
bl L$0168,%r0 |
nop |
ldw 12(%r4),%r26 |
ldw 16(%r4),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl _obstack_newchunk,%r2 |
nop |
copy %r0,%r19 |
bl,n L$0169,%r0 |
L$0168: |
copy %r0,%r19 |
L$0169: |
ldw 12(%r4),%r19 |
ldw 12(%r4),%r20 |
ldw 12(%r20),%r21 |
ldw 16(%r4),%r22 |
add %r21,%r22,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 8(%r4),%r19 |
stw %r19,20(%r4) |
ldw 20(%r4),%r19 |
ldw 8(%r19),%r20 |
stw %r20,24(%r4) |
ldw 20(%r4),%r19 |
ldw 12(%r19),%r20 |
ldw 24(%r4),%r19 |
comclr,= %r20,%r19,%r0 |
bl L$0170,%r0 |
nop |
ldw 20(%r4),%r19 |
ldw 40(%r19),%r20 |
copy %r20,%r21 |
depi -1,1,1,%r21 |
stw %r21,40(%r19) |
L$0170: |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 20(%r4),%r21 |
ldw 12(%r20),%r20 |
ldw 24(%r21),%r21 |
add %r20,%r21,%r20 |
ldw 20(%r4),%r21 |
ldw 24(%r21),%r22 |
uaddcm %r0,%r22,%r21 |
and %r20,%r21,%r20 |
copy %r20,%r21 |
stw %r21,12(%r19) |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 12(%r19),%r19 |
ldw 4(%r20),%r20 |
sub %r19,%r20,%r19 |
ldw 20(%r4),%r20 |
ldw 20(%r4),%r21 |
ldw 16(%r20),%r20 |
ldw 4(%r21),%r21 |
sub %r20,%r21,%r20 |
comclr,> %r19,%r20,%r0 |
bl L$0171,%r0 |
nop |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 16(%r20),%r21 |
stw %r21,12(%r19) |
copy %r21,%r19 |
bl,n L$0172,%r0 |
L$0171: |
copy %r0,%r19 |
L$0172: |
ldw 20(%r4),%r19 |
ldw 20(%r4),%r20 |
ldw 12(%r20),%r21 |
stw %r21,8(%r19) |
ldw 24(%r4),%r19 |
stw %r19,196(%r12) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 196(%r19),%r26 |
copy %r0,%r25 |
copy %r11,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl memset,%r2 |
nop |
L$0167: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
zdep %r21,29,30,%r20 |
ldw 196(%r19),%r19 |
add %r20,%r19,%r10 |
ldw 0(%r10),%r9 |
comiclr,= 0,%r9,%r0 |
bl L$0173,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
addi,uv -26,%r20,%r0 |
blr,n %r20,%r0 |
b,n L$0175 |
L$0202: |
b L$0176 |
nop |
b L$0177 |
nop |
b L$0179 |
nop |
b L$0180 |
nop |
b L$0181 |
nop |
b L$0182 |
nop |
b L$0183 |
nop |
b L$0184 |
nop |
b L$0185 |
nop |
b L$0186 |
nop |
b L$0187 |
nop |
b L$0189 |
nop |
b L$0190 |
nop |
b L$0191 |
nop |
b L$0192 |
nop |
b L$0193 |
nop |
b L$0194 |
nop |
b L$0195 |
nop |
b L$0196 |
nop |
b L$0198 |
nop |
b L$0199 |
nop |
b L$0200 |
nop |
b L$0201 |
nop |
b L$0178 |
nop |
b L$0188 |
nop |
b L$0197 |
nop |
L$0175: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0023,%r26 |
ldo R'LC$0023(%r26),%r26 |
ldw 0(%r19),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl error,%r2 |
nop |
bl,n L$0174,%r0 |
L$0176: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 9(%r0),%r26 |
ldo 1(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0024,%r23 |
ldo R'LC$0024(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0177: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
ldo 1(%r0),%r24 |
ldil L'LC$0025,%r23 |
ldo R'LC$0025(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0178: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 12(%r0),%r26 |
ldo 1(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0026,%r23 |
ldo R'LC$0026(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0179: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 1(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0027,%r23 |
ldo R'LC$0027(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0180: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 1(%r0),%r25 |
ldo 2(%r0),%r24 |
ldil L'LC$0028,%r23 |
ldo R'LC$0028(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0181: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 1(%r0),%r25 |
ldo 1(%r0),%r24 |
ldil L'LC$0029,%r23 |
ldo R'LC$0029(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0182: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 2(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0030,%r23 |
ldo R'LC$0030(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0183: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 2(%r0),%r25 |
ldo 2(%r0),%r24 |
ldil L'LC$0030,%r23 |
ldo R'LC$0030(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0184: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 2(%r0),%r25 |
ldo 1(%r0),%r24 |
ldil L'LC$0031,%r23 |
ldo R'LC$0031(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0185: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0032,%r23 |
ldo R'LC$0032(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0186: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
ldo 2(%r0),%r24 |
ldil L'LC$0032,%r23 |
ldo R'LC$0032(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0187: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
ldo 1(%r0),%r24 |
ldil L'LC$0033,%r23 |
ldo R'LC$0033(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0188: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0034,%r23 |
ldo R'LC$0034(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0189: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0035,%r23 |
ldo R'LC$0035(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0190: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
ldo 2(%r0),%r24 |
ldil L'LC$0035,%r23 |
ldo R'LC$0035(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0191: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 4(%r0),%r25 |
ldo 1(%r0),%r24 |
ldil L'LC$0036,%r23 |
ldo R'LC$0036(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0192: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 8(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0037,%r23 |
ldo R'LC$0037(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0193: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 8(%r0),%r25 |
ldo 2(%r0),%r24 |
ldil L'LC$0038,%r23 |
ldo R'LC$0038(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0194: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 7(%r0),%r26 |
ldo 8(%r0),%r25 |
ldo 1(%r0),%r24 |
ldil L'LC$0039,%r23 |
ldo R'LC$0039(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0195: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 8(%r0),%r26 |
ldo 4(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0040,%r23 |
ldo R'LC$0040(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0196: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 8(%r0),%r26 |
ldo 8(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0041,%r23 |
ldo R'LC$0041(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0197: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 8(%r0),%r26 |
ldo 8(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0042,%r23 |
ldo R'LC$0042(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0198: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 8(%r0),%r26 |
ldo 16(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0043,%r23 |
ldo R'LC$0043(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0199: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 8(%r0),%r26 |
ldo 8(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0044,%r23 |
ldo R'LC$0044(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0200: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 8(%r0),%r26 |
ldo 16(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0045,%r23 |
ldo R'LC$0045(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0201: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
stw %r20,-52(%r30) |
ldo 8(%r0),%r26 |
ldo 16(%r0),%r25 |
copy %r0,%r24 |
ldil L'LC$0046,%r23 |
ldo R'LC$0046(%r23),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl init_type,%r2 |
nop |
copy %r28,%r9 |
bl,n L$0174,%r0 |
L$0174: |
stw %r9,0(%r10) |
L$0173: |
L$0166: |
copy %r9,%r28 |
bl,n L$0163,%r0 |
L$0163: |
ldw 32(%r4),%r12 |
ldw 36(%r4),%r11 |
ldw 40(%r4),%r10 |
ldw 44(%r4),%r9 |
ldw 48(%r4),%r8 |
ldw 52(%r4),%r7 |
ldw 56(%r4),%r6 |
ldw 60(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT puts_filtered,CODE |
.align 4 |
LC$0047: |
.STRING " \x00" |
.IMPORT printf_filtered,CODE |
.align 4 |
LC$0048: |
.STRING "1\x00" |
.align 4 |
LC$0049: |
.STRING "0\x00" |
.align 4 |
print_bit_vector: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r8,16(%r4) |
stw %r7,20(%r4) |
stw %r6,24(%r4) |
stw %r5,28(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
stw %r0,8(%r4) |
L$0204: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 8(%r4),%r20 |
ldw 0(%r19),%r19 |
comclr,< %r20,%r19,%r0 |
bl L$0205,%r0 |
nop |
ldw 8(%r4),%r19 |
ldw 8(%r4),%r20 |
comiclr,> 0,%r19,%r0 |
bl L$0208,%r0 |
nop |
ldo 7(%r19),%r19 |
L$0208: |
extrs %r19,28,29,%r19 |
zdep %r19,28,29,%r21 |
sub %r20,%r21,%r19 |
comiclr,= 0,%r19,%r0 |
bl L$0207,%r0 |
nop |
ldil L'LC$0047,%r26 |
ldo R'LC$0047(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
L$0207: |
ldw 8(%r4),%r20 |
extrs %r20,28,29,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
add %r19,%r21,%r20 |
ldb 0(%r20),%r19 |
ldw 8(%r4),%r20 |
extru %r20,31,3,%r21 |
subi,>>= 31,%r21,%r20 |
copy %r0,%r20 |
mtsar %r20 |
vextrs %r19,32,%r19 |
extru %r19,31,1,%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0209,%r0 |
nop |
ldil L'LC$0048,%r26 |
ldo R'LC$0048(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0210,%r0 |
L$0209: |
ldil L'LC$0049,%r26 |
ldo R'LC$0049(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
L$0210: |
L$0206: |
ldw 8(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,8(%r4) |
bl,n L$0204,%r0 |
L$0205: |
L$0203: |
ldw 16(%r4),%r8 |
ldw 20(%r4),%r7 |
ldw 24(%r4),%r6 |
ldw 28(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT recursive_dump_type,CODE |
.align 4 |
print_arg_types: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r8,8(%r4) |
stw %r7,12(%r4) |
stw %r6,16(%r4) |
stw %r5,20(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0212,%r0 |
nop |
L$0213: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0214,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldo 2(%r21),%r20 |
ldw 0(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl recursive_dump_type,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 4(%r20),%r21 |
stw %r21,0(%r19) |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
comiclr,= 9,%r20,%r0 |
bl L$0215,%r0 |
nop |
bl,n L$0214,%r0 |
L$0215: |
bl,n L$0213,%r0 |
L$0214: |
L$0212: |
L$0211: |
ldw 8(%r4),%r8 |
ldw 12(%r4),%r7 |
ldw 16(%r4),%r6 |
ldw 20(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT printfi_filtered,CODE |
.align 4 |
LC$0050: |
.STRING "fn_fieldlists 0x%x\x0a\x00" |
.align 4 |
LC$0051: |
.STRING "[%d] name '%s' (0x%x) length %d\x0a\x00" |
.align 4 |
LC$0052: |
.STRING "[%d] physname '%s' (0x%x)\x0a\x00" |
.align 4 |
LC$0053: |
.STRING "type 0x%x\x0a\x00" |
.align 4 |
LC$0054: |
.STRING "args 0x%x\x0a\x00" |
.align 4 |
LC$0055: |
.STRING "fcontext 0x%x\x0a\x00" |
.align 4 |
LC$0056: |
.STRING "is_const %d\x0a\x00" |
.align 4 |
LC$0057: |
.STRING "is_volatile %d\x0a\x00" |
.align 4 |
LC$0058: |
.STRING "is_private %d\x0a\x00" |
.align 4 |
LC$0059: |
.STRING "is_protected %d\x0a\x00" |
.align 4 |
LC$0060: |
.STRING "is_stub %d\x0a\x00" |
.align 4 |
LC$0061: |
.STRING "voffset %u\x0a\x00" |
.align 4 |
dump_fn_fieldlists: |
.PROC |
.CALLINFO FRAME=192,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,192(%r30) |
stw %r8,24(%r4) |
stw %r7,28(%r4) |
stw %r6,32(%r4) |
stw %r5,36(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldw 48(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0050,%r25 |
ldo R'LC$0050(%r25),%r25 |
ldw 20(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
stw %r0,8(%r4) |
L$0217: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldh 2(%r20),%r21 |
extrs %r21,31,16,%r19 |
ldw 8(%r4),%r20 |
comclr,< %r20,%r19,%r0 |
bl L$0218,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 48(%r20),%r19 |
ldw 8(%r4),%r21 |
zdep %r21,30,31,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 20(%r19),%r21 |
add %r20,%r21,%r19 |
ldw 8(%r19),%r20 |
stw %r20,16(%r4) |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 2(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldw 48(%r21),%r20 |
ldw 8(%r4),%r22 |
zdep %r22,30,31,%r21 |
add %r21,%r22,%r21 |
zdep %r21,29,30,%r21 |
ldw 20(%r20),%r22 |
add %r21,%r22,%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
ldw 48(%r22),%r21 |
ldw 8(%r4),%r23 |
zdep %r23,30,31,%r22 |
add %r22,%r23,%r22 |
zdep %r22,29,30,%r22 |
ldw 20(%r21),%r23 |
add %r22,%r23,%r21 |
ldw 0(%r21),%r22 |
stw %r22,-52(%r30) |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
ldw 48(%r22),%r21 |
ldw 8(%r4),%r23 |
zdep %r23,30,31,%r22 |
add %r22,%r23,%r22 |
zdep %r22,29,30,%r22 |
ldw 20(%r21),%r23 |
add %r22,%r23,%r21 |
ldw 4(%r21),%r22 |
stw %r22,-56(%r30) |
copy %r19,%r26 |
ldil L'LC$0051,%r25 |
ldo R'LC$0051(%r25),%r25 |
ldw 8(%r4),%r24 |
ldw 0(%r20),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
stw %r0,12(%r4) |
L$0220: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 48(%r20),%r19 |
ldw 8(%r4),%r21 |
zdep %r21,30,31,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 20(%r19),%r21 |
add %r20,%r21,%r19 |
ldw 12(%r4),%r20 |
ldw 4(%r19),%r19 |
comclr,< %r20,%r19,%r0 |
bl L$0221,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 4(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
ldw 12(%r4),%r22 |
zdep %r22,29,30,%r21 |
add %r21,%r22,%r21 |
zdep %r21,29,30,%r21 |
ldw 16(%r4),%r22 |
add %r21,%r22,%r21 |
ldw 0(%r21),%r22 |
stw %r22,-52(%r30) |
copy %r19,%r26 |
ldil L'LC$0052,%r25 |
ldo R'LC$0052(%r25),%r25 |
ldw 12(%r4),%r24 |
ldw 0(%r20),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
copy %r19,%r26 |
ldil L'LC$0053,%r25 |
ldo R'LC$0053(%r25),%r25 |
ldw 4(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldw 12(%r4),%r20 |
zdep %r20,29,30,%r19 |
add %r19,%r20,%r19 |
zdep %r19,29,30,%r19 |
ldw 16(%r4),%r20 |
add %r19,%r20,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldo 10(%r21),%r20 |
ldw 4(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl recursive_dump_type,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r22 |
add %r20,%r22,%r21 |
ldw 4(%r21),%r20 |
copy %r19,%r26 |
ldil L'LC$0054,%r25 |
ldo R'LC$0054(%r25),%r25 |
ldw 48(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldw 12(%r4),%r20 |
zdep %r20,29,30,%r19 |
add %r19,%r20,%r19 |
zdep %r19,29,30,%r19 |
ldw 16(%r4),%r21 |
add %r19,%r21,%r20 |
ldw 4(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 48(%r19),%r26 |
ldw 0(%r20),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl print_arg_types,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
copy %r19,%r26 |
ldil L'LC$0055,%r25 |
ldo R'LC$0055(%r25),%r25 |
ldw 12(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
ldw 16(%r20),%r21 |
extru %r21,0+1-1,1,%r20 |
copy %r19,%r26 |
ldil L'LC$0056,%r25 |
ldo R'LC$0056(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
ldw 16(%r20),%r21 |
extru %r21,1+1-1,1,%r20 |
copy %r19,%r26 |
ldil L'LC$0057,%r25 |
ldo R'LC$0057(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
ldw 16(%r20),%r21 |
extru %r21,2+1-1,1,%r20 |
copy %r19,%r26 |
ldil L'LC$0058,%r25 |
ldo R'LC$0058(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
ldw 16(%r20),%r21 |
extru %r21,3+1-1,1,%r20 |
copy %r19,%r26 |
ldil L'LC$0059,%r25 |
ldo R'LC$0059(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
ldw 16(%r20),%r21 |
extru %r21,4+1-1,1,%r20 |
copy %r19,%r26 |
ldil L'LC$0060,%r25 |
ldo R'LC$0060(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 8(%r20),%r19 |
ldw 12(%r4),%r21 |
zdep %r21,29,30,%r20 |
add %r20,%r21,%r20 |
zdep %r20,29,30,%r20 |
ldw 16(%r4),%r21 |
add %r20,%r21,%r20 |
ldw 16(%r20),%r21 |
extru %r21,8+24-1,24,%r22 |
ldo -2(%r22),%r20 |
copy %r19,%r26 |
ldil L'LC$0061,%r25 |
ldo R'LC$0061(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
L$0222: |
ldw 12(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,12(%r4) |
bl,n L$0220,%r0 |
L$0221: |
L$0219: |
ldw 8(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,8(%r4) |
bl,n L$0217,%r0 |
L$0218: |
L$0216: |
ldw 24(%r4),%r8 |
ldw 28(%r4),%r7 |
ldw 32(%r4),%r6 |
ldw 36(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
LC$0062: |
.STRING "n_baseclasses %d\x0a\x00" |
.align 4 |
LC$0063: |
.STRING "nfn_fields %d\x0a\x00" |
.align 4 |
LC$0064: |
.STRING "nfn_fields_total %d\x0a\x00" |
.align 4 |
LC$0065: |
.STRING "virtual_field_bits (%d bits at *0x%x)\x00" |
.align 4 |
LC$0066: |
.STRING "\x0a\x00" |
.align 4 |
LC$0067: |
.STRING "private_field_bits (%d bits at *0x%x)\x00" |
.align 4 |
LC$0068: |
.STRING "protected_field_bits (%d bits at *0x%x)\x00" |
.align 4 |
print_cplus_stuff: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r8,16(%r4) |
stw %r7,20(%r4) |
stw %r6,24(%r4) |
stw %r5,28(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 48(%r20),%r21 |
ldh 0(%r21),%r22 |
extrs %r22,31,16,%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0062,%r25 |
ldo R'LC$0062(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 48(%r20),%r21 |
ldh 2(%r21),%r22 |
extrs %r22,31,16,%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0063,%r25 |
ldo R'LC$0063(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldw 48(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0064,%r25 |
ldo R'LC$0064(%r25),%r25 |
ldw 4(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldh 0(%r20),%r21 |
extrs %r21,31,16,%r19 |
comiclr,< 0,%r19,%r0 |
bl L$0224,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 48(%r20),%r21 |
ldh 0(%r21),%r22 |
extrs %r22,31,16,%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
ldw 48(%r22),%r21 |
ldw 0(%r19),%r26 |
ldil L'LC$0065,%r25 |
ldo R'LC$0065(%r25),%r25 |
copy %r20,%r24 |
ldw 8(%r21),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 48(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 48(%r20),%r21 |
ldh 0(%r21),%r22 |
extrs %r22,31,16,%r20 |
ldw 8(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl print_bit_vector,%r2 |
nop |
ldil L'LC$0066,%r26 |
ldo R'LC$0066(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
L$0224: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldh 34(%r19),%r20 |
extrs %r20,31,16,%r19 |
comiclr,< 0,%r19,%r0 |
bl L$0225,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldw 12(%r20),%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0226,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldh 34(%r20),%r21 |
extrs %r21,31,16,%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
ldw 48(%r22),%r21 |
ldw 0(%r19),%r26 |
ldil L'LC$0067,%r25 |
ldo R'LC$0067(%r25),%r25 |
copy %r20,%r24 |
ldw 12(%r21),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 48(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldh 34(%r20),%r21 |
extrs %r21,31,16,%r20 |
ldw 12(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl print_bit_vector,%r2 |
nop |
ldil L'LC$0066,%r26 |
ldo R'LC$0066(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
L$0226: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldw 16(%r20),%r19 |
comiclr,<> 0,%r19,%r0 |
bl L$0227,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldh 34(%r20),%r21 |
extrs %r21,31,16,%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
ldw 48(%r22),%r21 |
ldw 0(%r19),%r26 |
ldil L'LC$0068,%r25 |
ldo R'LC$0068(%r25),%r25 |
copy %r20,%r24 |
ldw 16(%r21),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 48(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldh 34(%r20),%r21 |
extrs %r21,31,16,%r20 |
ldw 16(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl print_bit_vector,%r2 |
nop |
ldil L'LC$0066,%r26 |
ldo R'LC$0066(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
L$0227: |
L$0225: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
ldh 2(%r20),%r21 |
extrs %r21,31,16,%r19 |
comiclr,< 0,%r19,%r0 |
bl L$0228,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r19),%r26 |
ldw 0(%r20),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl dump_fn_fieldlists,%r2 |
nop |
L$0228: |
L$0223: |
ldw 16(%r4),%r8 |
ldw 20(%r4),%r7 |
ldw 24(%r4),%r6 |
ldw 28(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
LC$0069: |
.STRING "type node 0x%x\x0a\x00" |
.align 4 |
LC$0070: |
.STRING "name '%s' (0x%x)\x0a\x00" |
.align 4 |
LC$0071: |
.STRING "<NULL>\x00" |
.align 4 |
LC$0072: |
.STRING "code 0x%x \x00" |
.align 4 |
LC$0073: |
.STRING "(TYPE_CODE_UNDEF)\x00" |
.align 4 |
LC$0074: |
.STRING "(TYPE_CODE_PTR)\x00" |
.align 4 |
LC$0075: |
.STRING "(TYPE_CODE_ARRAY)\x00" |
.align 4 |
LC$0076: |
.STRING "(TYPE_CODE_STRUCT)\x00" |
.align 4 |
LC$0077: |
.STRING "(TYPE_CODE_UNION)\x00" |
.align 4 |
LC$0078: |
.STRING "(TYPE_CODE_ENUM)\x00" |
.align 4 |
LC$0079: |
.STRING "(TYPE_CODE_FUNC)\x00" |
.align 4 |
LC$0080: |
.STRING "(TYPE_CODE_INT)\x00" |
.align 4 |
LC$0081: |
.STRING "(TYPE_CODE_FLT)\x00" |
.align 4 |
LC$0082: |
.STRING "(TYPE_CODE_VOID)\x00" |
.align 4 |
LC$0083: |
.STRING "(TYPE_CODE_SET)\x00" |
.align 4 |
LC$0084: |
.STRING "(TYPE_CODE_RANGE)\x00" |
.align 4 |
LC$0085: |
.STRING "(TYPE_CODE_PASCAL_ARRAY)\x00" |
.align 4 |
LC$0086: |
.STRING "(TYPE_CODE_ERROR)\x00" |
.align 4 |
LC$0087: |
.STRING "(TYPE_CODE_MEMBER)\x00" |
.align 4 |
LC$0088: |
.STRING "(TYPE_CODE_METHOD)\x00" |
.align 4 |
LC$0089: |
.STRING "(TYPE_CODE_REF)\x00" |
.align 4 |
LC$0090: |
.STRING "(TYPE_CODE_CHAR)\x00" |
.align 4 |
LC$0091: |
.STRING "(TYPE_CODE_BOOL)\x00" |
.align 4 |
LC$0092: |
.STRING "(UNKNOWN TYPE CODE)\x00" |
.align 4 |
LC$0093: |
.STRING "length %d\x0a\x00" |
.align 4 |
LC$0094: |
.STRING "objfile 0x%x\x0a\x00" |
.align 4 |
LC$0095: |
.STRING "target_type 0x%x\x0a\x00" |
.align 4 |
LC$0096: |
.STRING "pointer_type 0x%x\x0a\x00" |
.align 4 |
LC$0097: |
.STRING "reference_type 0x%x\x0a\x00" |
.align 4 |
LC$0098: |
.STRING "function_type 0x%x\x0a\x00" |
.align 4 |
LC$0099: |
.STRING "flags 0x%x\x00" |
.align 4 |
LC$0100: |
.STRING " TYPE_FLAG_UNSIGNED\x00" |
.align 4 |
LC$0101: |
.STRING " TYPE_FLAG_SIGNED\x00" |
.align 4 |
LC$0102: |
.STRING " TYPE_FLAG_STUB\x00" |
.align 4 |
LC$0103: |
.STRING "nfields %d 0x%x\x0a\x00" |
.align 4 |
LC$0104: |
.STRING "[%d] bitpos %d bitsize %d type 0x%x name '%s' (0x%x)\x0a\x00" |
.align 4 |
LC$0105: |
.STRING "vptr_basetype 0x%x\x0a\x00" |
.align 4 |
LC$0106: |
.STRING "vptr_fieldno %d\x0a\x00" |
.align 4 |
LC$0107: |
.STRING "arg_types 0x%x\x0a\x00" |
.align 4 |
LC$0108: |
.STRING "cplus_stuff 0x%x\x0a\x00" |
.align 4 |
LC$0109: |
.STRING "type_specific 0x%x\x00" |
.align 4 |
LC$0110: |
.STRING " (unknown data form)\x00" |
.align 4 |
.EXPORT recursive_dump_type,CODE |
.EXPORT recursive_dump_type,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR |
recursive_dump_type: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r8,16(%r4) |
stw %r7,20(%r4) |
stw %r6,24(%r4) |
stw %r5,28(%r4) |
ldo -4(%r0),%r5 |
ldo -32(%r4),%r19 |
add %r19,%r5,%r6 |
stw %r26,0(%r6) |
ldo -8(%r0),%r7 |
ldo -32(%r4),%r19 |
add %r19,%r7,%r8 |
stw %r25,0(%r8) |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0069,%r25 |
ldo R'LC$0069(%r25),%r25 |
ldw 0(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
ldw 4(%r22),%r21 |
ldo -4(%r0),%r22 |
ldo -32(%r4),%r24 |
add %r24,%r22,%r23 |
ldw 0(%r23),%r22 |
ldw 4(%r22),%r23 |
comiclr,= 0,%r23,%r0 |
bl L$0230,%r0 |
nop |
ldil L'LC$0071,%r21 |
ldo R'LC$0071(%r21),%r21 |
L$0230: |
ldw 0(%r19),%r26 |
ldil L'LC$0070,%r25 |
ldo R'LC$0070(%r25),%r25 |
ldw 4(%r20),%r24 |
copy %r21,%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0072,%r25 |
ldo R'LC$0072(%r25),%r25 |
ldw 0(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 0(%r19),%r20 |
addi,uv -19,%r20,%r0 |
blr,n %r20,%r0 |
b,n L$0251 |
L$0252: |
b L$0232 |
nop |
b L$0233 |
nop |
b L$0234 |
nop |
b L$0235 |
nop |
b L$0236 |
nop |
b L$0237 |
nop |
b L$0238 |
nop |
b L$0239 |
nop |
b L$0240 |
nop |
b L$0241 |
nop |
b L$0242 |
nop |
b L$0243 |
nop |
b L$0244 |
nop |
b L$0245 |
nop |
b L$0246 |
nop |
b L$0247 |
nop |
b L$0248 |
nop |
b L$0249 |
nop |
b L$0250 |
nop |
L$0232: |
ldil L'LC$0073,%r26 |
ldo R'LC$0073(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0233: |
ldil L'LC$0074,%r26 |
ldo R'LC$0074(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0234: |
ldil L'LC$0075,%r26 |
ldo R'LC$0075(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0235: |
ldil L'LC$0076,%r26 |
ldo R'LC$0076(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0236: |
ldil L'LC$0077,%r26 |
ldo R'LC$0077(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0237: |
ldil L'LC$0078,%r26 |
ldo R'LC$0078(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0238: |
ldil L'LC$0079,%r26 |
ldo R'LC$0079(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0239: |
ldil L'LC$0080,%r26 |
ldo R'LC$0080(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0240: |
ldil L'LC$0081,%r26 |
ldo R'LC$0081(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0241: |
ldil L'LC$0082,%r26 |
ldo R'LC$0082(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0242: |
ldil L'LC$0083,%r26 |
ldo R'LC$0083(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0243: |
ldil L'LC$0084,%r26 |
ldo R'LC$0084(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0244: |
ldil L'LC$0085,%r26 |
ldo R'LC$0085(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0245: |
ldil L'LC$0086,%r26 |
ldo R'LC$0086(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0246: |
ldil L'LC$0087,%r26 |
ldo R'LC$0087(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0247: |
ldil L'LC$0088,%r26 |
ldo R'LC$0088(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0248: |
ldil L'LC$0089,%r26 |
ldo R'LC$0089(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0249: |
ldil L'LC$0090,%r26 |
ldo R'LC$0090(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0250: |
ldil L'LC$0091,%r26 |
ldo R'LC$0091(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0251: |
ldil L'LC$0092,%r26 |
ldo R'LC$0092(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0231,%r0 |
L$0231: |
ldil L'LC$0066,%r26 |
ldo R'LC$0066(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0093,%r25 |
ldo R'LC$0093(%r25),%r25 |
ldw 8(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0094,%r25 |
ldo R'LC$0094(%r25),%r25 |
ldw 12(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0095,%r25 |
ldo R'LC$0095(%r25),%r25 |
ldw 16(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 16(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0253,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldo 2(%r21),%r20 |
ldw 16(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl recursive_dump_type,%r2 |
nop |
L$0253: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0096,%r25 |
ldo R'LC$0096(%r25),%r25 |
ldw 20(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0097,%r25 |
ldo R'LC$0097(%r25),%r25 |
ldw 24(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0098,%r25 |
ldo R'LC$0098(%r25),%r25 |
ldw 28(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldh 32(%r20),%r21 |
extrs %r21,31,16,%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0099,%r25 |
ldo R'LC$0099(%r25),%r25 |
copy %r20,%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldh 32(%r19),%r20 |
extru %r20,31,1,%r19 |
extrs %r19,31,16,%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0254,%r0 |
nop |
ldil L'LC$0100,%r26 |
ldo R'LC$0100(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
L$0254: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldh 32(%r19),%r20 |
ldo 2(%r0),%r21 |
and %r20,%r21,%r19 |
extrs %r19,31,16,%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0255,%r0 |
nop |
ldil L'LC$0101,%r26 |
ldo R'LC$0101(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
L$0255: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldh 32(%r19),%r20 |
ldo 4(%r0),%r21 |
and %r20,%r21,%r19 |
extrs %r19,31,16,%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0256,%r0 |
nop |
ldil L'LC$0102,%r26 |
ldo R'LC$0102(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
L$0256: |
ldil L'LC$0066,%r26 |
ldo R'LC$0066(%r26),%r26 |
.CALL ARGW0=GR |
bl puts_filtered,%r2 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldh 34(%r20),%r21 |
extrs %r21,31,16,%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r23 |
add %r23,%r21,%r22 |
ldw 0(%r22),%r21 |
ldw 0(%r19),%r26 |
ldil L'LC$0103,%r25 |
ldo R'LC$0103(%r25),%r25 |
copy %r20,%r24 |
ldw 36(%r21),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
stw %r0,8(%r4) |
L$0257: |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldh 34(%r19),%r20 |
extrs %r20,31,16,%r19 |
ldw 8(%r4),%r20 |
comclr,< %r20,%r19,%r0 |
bl L$0258,%r0 |
nop |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldo 2(%r20),%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 8(%r4),%r21 |
zdep %r21,27,28,%r22 |
ldw 36(%r20),%r21 |
add %r22,%r21,%r20 |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r23 |
add %r23,%r21,%r22 |
ldw 0(%r22),%r21 |
ldw 8(%r4),%r22 |
zdep %r22,27,28,%r23 |
ldw 36(%r21),%r22 |
add %r23,%r22,%r21 |
ldw 4(%r21),%r22 |
stw %r22,-52(%r30) |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r23 |
add %r23,%r21,%r22 |
ldw 0(%r22),%r21 |
ldw 8(%r4),%r22 |
zdep %r22,27,28,%r23 |
ldw 36(%r21),%r22 |
add %r23,%r22,%r21 |
ldw 8(%r21),%r22 |
stw %r22,-56(%r30) |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r23 |
add %r23,%r21,%r22 |
ldw 0(%r22),%r21 |
ldw 8(%r4),%r22 |
zdep %r22,27,28,%r23 |
ldw 36(%r21),%r22 |
add %r23,%r22,%r21 |
ldw 12(%r21),%r22 |
stw %r22,-60(%r30) |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r23 |
add %r23,%r21,%r22 |
ldw 0(%r22),%r21 |
ldw 8(%r4),%r22 |
zdep %r22,27,28,%r23 |
ldw 36(%r21),%r22 |
add %r23,%r22,%r21 |
ldw 12(%r21),%r22 |
stw %r22,-64(%r30) |
ldo -4(%r0),%r21 |
ldo -32(%r4),%r23 |
add %r23,%r21,%r22 |
ldw 0(%r22),%r21 |
ldw 8(%r4),%r22 |
zdep %r22,27,28,%r23 |
ldw 36(%r21),%r22 |
add %r23,%r22,%r21 |
ldw 12(%r21),%r22 |
comiclr,= 0,%r22,%r0 |
bl L$0260,%r0 |
nop |
ldil L'LC$0071,%r21 |
ldo R'LC$0071(%r21),%r21 |
stw %r21,-64(%r30) |
L$0260: |
copy %r19,%r26 |
ldil L'LC$0104,%r25 |
ldo R'LC$0104(%r25),%r25 |
ldw 8(%r4),%r24 |
ldw 0(%r20),%r23 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
zdep %r20,27,28,%r21 |
ldw 36(%r19),%r20 |
add %r21,%r20,%r19 |
ldw 8(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0261,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 8(%r4),%r20 |
zdep %r20,27,28,%r21 |
ldw 36(%r19),%r20 |
add %r21,%r20,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldo 4(%r21),%r20 |
ldw 8(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl recursive_dump_type,%r2 |
nop |
L$0261: |
L$0259: |
ldw 8(%r4),%r19 |
ldo 1(%r19),%r20 |
stw %r20,8(%r4) |
bl,n L$0257,%r0 |
L$0258: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0105,%r25 |
ldo R'LC$0105(%r25),%r25 |
ldw 40(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 40(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0262,%r0 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r20),%r21 |
ldo 2(%r21),%r20 |
ldw 40(%r19),%r26 |
copy %r20,%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl recursive_dump_type,%r2 |
nop |
L$0262: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0106,%r25 |
ldo R'LC$0106(%r25),%r25 |
ldw 44(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldw 0(%r19),%r20 |
ldw 0(%r20),%r19 |
comiclr,<> 6,%r19,%r0 |
bl L$0265,%r0 |
nop |
comiclr,>= 6,%r19,%r0 |
bl L$0270,%r0 |
nop |
comiclr,<> 3,%r19,%r0 |
bl L$0266,%r0 |
nop |
bl,n L$0267,%r0 |
L$0270: |
comiclr,<> 15,%r19,%r0 |
bl L$0264,%r0 |
nop |
bl,n L$0267,%r0 |
L$0264: |
L$0265: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0107,%r25 |
ldo R'LC$0107(%r25),%r25 |
ldw 48(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 48(%r19),%r26 |
ldw 0(%r20),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl print_arg_types,%r2 |
nop |
bl,n L$0263,%r0 |
L$0266: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0108,%r25 |
ldo R'LC$0108(%r25),%r25 |
ldw 48(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -8(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldw 0(%r19),%r26 |
ldw 0(%r20),%r25 |
.CALL ARGW0=GR,ARGW1=GR |
bl print_cplus_stuff,%r2 |
nop |
bl,n L$0263,%r0 |
L$0267: |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -4(%r0),%r20 |
ldo -32(%r4),%r22 |
add %r22,%r20,%r21 |
ldw 0(%r21),%r20 |
ldw 0(%r19),%r26 |
ldil L'LC$0109,%r25 |
ldo R'LC$0109(%r25),%r25 |
ldw 48(%r20),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl printfi_filtered,%r2 |
nop |
ldo -4(%r0),%r19 |
ldo -32(%r4),%r21 |
add %r21,%r19,%r20 |
ldw 0(%r20),%r19 |
ldw 48(%r19),%r20 |
comiclr,<> 0,%r20,%r0 |
bl L$0268,%r0 |
nop |
ldil L'LC$0110,%r26 |
ldo R'LC$0110(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
L$0268: |
ldil L'LC$0066,%r26 |
ldo R'LC$0066(%r26),%r26 |
.CALL ARGW0=GR |
bl printf_filtered,%r2 |
nop |
bl,n L$0263,%r0 |
L$0263: |
L$0229: |
ldw 16(%r4),%r8 |
ldw 20(%r4),%r7 |
ldw 24(%r4),%r6 |
ldw 28(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
/parse/xmpyubug.s
0,0 → 1,8
.code |
.align 4 |
; No format selector for xmpyu! |
xmpyu,sgl %fr4,%fr5,%fr6 |
xmpyu,dbl %fr4,%fr5,%fr6 |
xmpyu,quad %fr4,%fr5,%fr6 |
|
|
/parse/ssbug.s
0,0 → 1,10
.SPACE $PRIVATE$ |
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31 |
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82 |
.SUBSPA $SHORTBSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=80 |
.SPACE $TEXT$ |
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44 |
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY |
|
|
|
/parse/versionbug.s
0,0 → 1,4
.code |
|
.VERSION "abc123" |
|
/parse/callinfobug.s
0,0 → 1,7
.code |
.align 4 |
.export divu,millicode |
.proc |
.callinfo millicode |
divu: |
.procend |
/parse/stdreg.s
0,0 → 1,18
.code |
.align 4 |
.export foo |
foo: |
.proc |
.callinfo no_calls |
.entry |
ldi 15,%sp |
ldi 15,%rp |
ldi 15,%dp |
ldi 15,%ret0 |
ldi 15,%ret1 |
ldi 15,%arg0 |
ldi 15,%arg1 |
ldi 15,%arg2 |
ldi 15,%arg3 |
.exit |
.procend |
/parse/spacebug.s
0,0 → 1,3
start: .long 0, 1, 2, 3, 4, 5, 6, 7 |
.space 0x20 - (. - start) |
foo: .long 42 |
/parse/regpopbug.s
0,0 → 1,9
.code |
|
r0: .reg %r0 |
shift: .reg %sar |
fpreg10: .reg %fr10 |
shift2: .reg shift |
|
; Make sure we didn't botch .equ... |
yabba: .equ r0 + shift |
/parse/space.s
0,0 → 1,24
.code |
.align 4 |
.export $$mulI, millicode |
.proc |
.callinfo millicode |
$$mulI: |
.procend |
|
.code |
|
.align 4 |
.PARAM foo, RTNVAL=GR |
foo: |
.PROC |
.CALLINFO FRAME=128, NO_CALLS, ENTRY_GR=3, ENTRY_FR=12 |
.ENTRY |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
|
.align 4 |
.import yabba, code |
|
ble R%yabba(%sr4, %r0) |
/parse/badfmpyadd.s
0,0 → 1,21
.code |
.align 4 |
.EXPORT foobar,ENTRY,PRIV_LEV=3,ARGW0=FR,ARGW1=FU,ARGW2=FR,ARGW3=FU,RTNVAL=FR |
foobar |
.PROC |
.CALLINFO FRAME=0,NO_CALLS |
.ENTRY |
ldo -64(%r30),%r20 |
addil LR'x-$global$,%r27 |
fldds 8(%r20),%fr4 |
fldds 0(%r20),%fr22 |
ldo RR'x-$global$(%r1),%r19 |
fmpysub,sgl %fr5L,%fr7L,%fr5L,%fr22L,%fr4L |
bv %r0(%r2) |
fstds %fr5,0(%r19) |
.EXIT |
.PROCEND |
.bss |
|
x .comm 8 |
y .comm 8 |
/parse/defbug.s
0,0 → 1,9
.code |
.align 4 |
.import _seterrno |
.export vfork ! .label vfork ! .proc! .callinfo no_calls! .entry ! .label __vfork ! mtsp %r0,%sr0! ldil L%0xc0000004,%r1! ble R%0xc0000004(%sr0,%r1)! ldi 66 ,%r22 ! b,n yyy! b,n __vfork ! b _seterrno! copy %r28,%r26! .label yyy |
add,= %r0,%r29,%r0 |
copy %r0,%r28 |
bv,n (%r2) |
.exit |
.procend |
/parse/lselbug.s
0,0 → 1,10
.code |
|
.align 4 |
; In gas-1.36 the ldil instruction using parenthesis generated |
; garbage bits while the one without parens worked fine. |
ldil L%(0x00040000 | 0x00000008 | 0x00000002),%r21 |
ldo L%(0x00040000 | 0x00000008 | 0x00000002) (%r21),%r21 |
ldil L%0x00040000 | 0x00000008 | 0x00000002,%r21 |
ldo L%0x00040000 | 0x00000008 | 0x00000002 (%r21),%r21 |
|
/parse/linesepbug.s
0,0 → 1,12
.code |
|
.align 4 |
; Basic immediate instruction tests. |
; |
; We could/should test some of the corner cases for register and |
; immediate fields. We should also check the assorted field |
; selectors to make sure they're handled correctly. |
|
foo: |
.WORD 0 !.IMPORT $bar$,DATA |
|
/parse/stringer.s
0,0 → 1,11
.data |
|
|
; GAS used to mis-parse the embedded quotes |
.STRING "#include \"awk.def\"\x0a\x00" |
|
; Octal escapes used to consume > 3 chars which led to this |
; string being screwed in a big way. |
.STRING "\0110x123" |
|
|
/parse/undefbug.s
0,0 → 1,6
.code |
|
.align 4 |
bl somewhere,%r2 |
nop |
|
/parse/entrybug.s
0,0 → 1,12
.code |
|
.align 4 |
.PARAM foo,RTNVAL=GR |
foo: |
.PROC |
.CALLINFO FRAME=128,NO_CALLS,ENTRY_GR=1,ENTRY_FR=11 |
.ENTRY |
bv,n %r0(%r2) |
.EXIT |
.PROCEND |
|
/parse/global.s
0,0 → 1,7
.code |
.IMPORT foo,data |
|
.align 4 |
; Official gas code will not accept sym-$global$. |
addil L%foo-$global$,%r27 |
|
/parse/procbug.s
0,0 → 1,15
.code |
.align 4 |
.export divu,entry |
.proc |
.callinfo |
divu: stws,ma %r4,4(%r5) ; save registers on stack |
.procend |
|
.export divu2,entry |
.proc |
.callinfo |
.entry |
divu2: stws,ma %r4,4(%r5) ; save registers on stack |
.exit |
.procend |
/parse/nosubspace.s
0,0 → 1,21
.SPACE $TEXT$ |
|
.align 4 |
.EXPORT mpn_add_n |
.EXPORT mpn_add_n,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR |
mpn_add_n: |
.PROC |
.CALLINFO FRAME=0,NO_CALLS |
.ENTRY |
|
add %r0,%r0,%r0 ; reset cy |
Loop: |
ldws,ma 4(0,%r25),%r20 |
ldws,ma 4(0,%r24),%r19 |
|
addc %r19,%r20,%r19 |
addib,<> -1,%r23,Loop |
stws,ma %r19,4(0,%r26) |
|
bv 0(2) |
addc %r0,%r0,%r28 |
/parse/calldatabug.s
0,0 → 1,178
.code |
.align 4 |
LC$0000: |
.STRING "%d %lf %d\x0a\x00" |
.align 4 |
.EXPORT error__3AAAiidi |
.EXPORT error__3AAAiidi,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=FR,ARGW4=FU,RTNVAL=GR |
error__3AAAiidi: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r9,8(%r4) |
stw %r8,12(%r4) |
stw %r7,16(%r4) |
stw %r6,20(%r4) |
stw %r5,24(%r4) |
copy %r26,%r5 |
ldo -8(%r0),%r6 |
ldo -32(%r4),%r19 |
add %r19,%r6,%r7 |
stw %r25,0(%r7) |
ldo -12(%r0),%r8 |
ldo -32(%r4),%r19 |
add %r19,%r8,%r9 |
stw %r24,0(%r9) |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -24(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldo -28(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
stw %r22,-52(%r30) |
ldil L'LC$0000,%r26 |
ldo R'LC$0000(%r26),%r26 |
ldw 0(%r19),%r25 |
fldds 0(%r20),%fr7 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU |
bl printf,%r2 |
nop |
bl,n L$0002,%r0 |
bl,n L$0001,%r0 |
L$0002: |
L$0001: |
ldw 8(%r4),%r9 |
ldw 12(%r4),%r8 |
ldw 16(%r4),%r7 |
ldw 20(%r4),%r6 |
ldw 24(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.align 4 |
.EXPORT ok__3AAAidi |
.EXPORT ok__3AAAidi,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU,RTNVAL=GR |
ok__3AAAidi: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
stw %r9,8(%r4) |
stw %r8,12(%r4) |
stw %r7,16(%r4) |
stw %r6,20(%r4) |
stw %r5,24(%r4) |
copy %r26,%r5 |
ldo -8(%r0),%r6 |
ldo -32(%r4),%r19 |
add %r19,%r6,%r7 |
stw %r25,0(%r7) |
ldo -16(%r0),%r8 |
ldo -32(%r4),%r19 |
add %r19,%r8,%r9 |
fstds %fr7,0(%r9) |
ldo -8(%r0),%r19 |
ldo -32(%r4),%r20 |
add %r20,%r19,%r19 |
ldo -16(%r0),%r20 |
ldo -32(%r4),%r21 |
add %r21,%r20,%r20 |
ldo -20(%r0),%r21 |
ldo -32(%r4),%r22 |
add %r22,%r21,%r21 |
ldw 0(%r21),%r22 |
stw %r22,-52(%r30) |
ldil L'LC$0000,%r26 |
ldo R'LC$0000(%r26),%r26 |
ldw 0(%r19),%r25 |
fldds 0(%r20),%fr7 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU |
bl printf,%r2 |
nop |
bl,n L$0004,%r0 |
bl,n L$0003,%r0 |
L$0004: |
L$0003: |
ldw 8(%r4),%r9 |
ldw 12(%r4),%r8 |
ldw 16(%r4),%r7 |
ldw 20(%r4),%r6 |
ldw 24(%r4),%r5 |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
.IMPORT __main,CODE |
.align 8 |
LC$0001: |
; .double 5.50000000000000000000e+00 |
.word 1075183616 ; = 0x40160000 |
.word 0 ; = 0x0 |
.align 4 |
.EXPORT main |
.EXPORT main,PRIV_LEV=3,RTNVAL=GR |
main: |
.PROC |
.CALLINFO FRAME=128,CALLS,SAVE_RP |
.ENTRY |
stw %r2,-20(%r30) |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,128(%r30) |
.CALL |
bl __main,%r2 |
nop |
ldo -24(%r0),%r19 |
ldo -32(%r30),%r20 |
add %r20,%r19,%r19 |
ldil L'LC$0001,%r20 |
ldo R'LC$0001(%r20),%r21 |
ldw 0(%r21),%r22 |
ldw 4(%r21),%r23 |
stw %r22,0(%r19) |
stw %r23,4(%r19) |
ldo 3(%r0),%r19 |
stw %r19,-60(%r30) |
ldo 8(%r4),%r26 |
ldo 1(%r0),%r25 |
ldo 4(%r0),%r24 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR |
bl error__3AAAiidi,%r2 |
nop |
ldo 3(%r0),%r19 |
stw %r19,-52(%r30) |
ldo 8(%r4),%r26 |
ldo 1(%r0),%r25 |
ldil L'LC$0001,%r19 |
ldo R'LC$0001(%r19),%r20 |
fldds 0(%r20),%fr7 |
.CALL ARGW0=GR,ARGW1=GR,ARGW2=FR,ARGW3=FU |
bl ok__3AAAidi,%r2 |
nop |
copy %r0,%r28 |
bl,n L$0005,%r0 |
bl,n L$0005,%r0 |
L$0005: |
ldo 8(%r4),%r30 |
ldw -28(%r30),%r2 |
bv %r0(%r2) |
ldwm -8(%r30),%r4 |
.EXIT |
.PROCEND |
|
/parse/parse.exp
0,0 → 1,230
# Copyright (C) 1993, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2007 |
# Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# dejagnu@gnu.org |
|
# Written by the Center for Software Science at the University of Utah |
# and by Cygnus Support. |
|
proc do_string_tests {} { |
set testname "stringer.s: Test embedded quotes and octal escapes in strings" |
set x 0 |
|
gas_start "stringer.s" "-al" |
|
# Instead of having a variable for each match string just increment the |
# total number of matches seen. That's simpler when testing large numbers |
# of instructions (as these tests to). |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 23696E63\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 6C756465\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 6B2E6465\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 66220A00\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0014 09307831\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 3233\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==6] then { pass $testname } else { fail $testname } |
} |
|
proc do_lsel_test {} { |
set testname "lselbugs.s: lselbug" |
set x 0 |
|
gas_start "lselbug.s" "-al" |
|
# Make sure we correctly handle field selectors. |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 22A04000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0004 36B50100\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 22A04000\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 000c 36B50100\[^\n\]*\n" { set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==4] then { pass $testname } else { fail $testname } |
} |
|
proc do_valid_align_tests {} { |
set testname "align1.s: valid alignment tests" |
set x 0 |
|
gas_start "align1.s" "-al" |
|
# Make sure we correctly handle field selectors. |
while 1 { |
expect { |
-re "^ +\[0-9\]+ 0000 08000240\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0008 08000240\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 1000 08000240\[^\n\]*\n" { set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0000\[^\n\]*BLOCK\[^\n\]*1024\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0400\[^\n\]*BLOCK\[^\n\]*1024\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0800\[^\n\]*BLOCK\[^\n\]*4\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0804\[^\n\]*ALIGN\[^\n\]*8\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0808\[^\n\]*BLOCK\[^\n\]*30\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0826\[^\n\]*ALIGN\[^\n\]*4\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "^ +\[0-9\]+ 0828\[^\n\]*BLOCK\[^\n\]*4\[^\n\]*\n" |
{ set x [expr $x+1] } |
-re "\[^\n\]*\n" { } |
timeout { perror "timeout\n"; break } |
eof { break } |
} |
} |
|
# This was intended to do any cleanup necessary. It kinda looks like it |
# isn't needed, but just in case, please keep it in for now. |
gas_finish |
|
# Did we find what we were looking for? If not, flunk it. |
if [expr $x==10] then { pass $testname } else { fail $testname } |
} |
|
if [istarget hppa*-*-*] then { |
if { ![istarget hppa*-*-linux*] |
&& ![istarget hppa*-*-netbsd*] } { |
# GAS-2.0 does not always parse ! as a line separator when it should. |
setup_xfail hppa*-*-* |
} |
gas_test "linesepbug.s" "" "" "line separator bug" |
|
# Make sure GAS accepts syntax for accessing static data. |
gas_test "global.s" "" "" "check for sym-\$global\$ acceptance" |
|
# GAS-2.0 (and 1.36 for that matter) can not handle a .proc which |
# has no label before it. |
gas_test "procbug.s" "" "" "Label following .proc" |
|
# One is required to explicitly IMPORT any non-local symbol used |
# in an assembly file. Make sure we give an error if we use |
# an undefined symbol. |
setup_xfail hppa*-*-* |
gas_test_error "undefbug.s" "" "Check for error when using undefined symbol" |
|
# This file has code and assembler directives before switching into any |
# space/subspace pair. This should report an error for SOM (it is not |
# an error for ELF. The file also has mismatched entry/exit and |
# proc/procend pairs which are errors for both SOM and ELF. |
gas_test_error "nosubspace.s" "" "Check for error(s) in input file " |
|
# This file should return errors for both the ENTRY_GR and ENTRY_FR |
# directives (they are out-of-range) |
gas_test_error "entrybug.s" "" "Check for error on entry_gr and entry_fr" |
|
# Make sure embedded quotes and octal escapes in strings work |
do_string_tests |
|
# Make sure we do not die on a .version directive |
gas_test "versionbug.s" "" "" ".version directive" |
|
# Make sure we give an error on a bogus .space directive. |
# recent version of gas2 went into infinite loops printing |
# errors on this test. |
gas_test_error "spacebug.s" "" "Check for error on bogus .space directive" |
|
# GAS should give an error for this test. |
gas_test_error "calldatabug.s" "" "Check for invalid aguments on .call" |
|
# Old versions of gas incorrectly gave errors on some valid .EXPORT lines |
gas_test "exportbug.s" "" "" "syntax check for an old .EXPORT bug" |
|
# Old versions of gas choked on this file for some reason |
gas_test "fixup7bug.s" "" "" "check for old \"fixup7\" gas bug" |
|
# Test an L% selector parsing bug which existed in gas-1.36 |
do_lsel_test |
|
# First check how some valid alignments are handled. |
do_valid_align_tests |
|
# Now check to make sure an invalid argument is flagged as an error. |
gas_test_error "align2.s" "" "Check for error on bogus argument to .align" |
|
# GAS can't handle upper bound for a PA .block[z] directive |
setup_xfail hppa*-*-* |
gas_test "block1.s" "" "" "Check min/max values for .block" |
|
# Now check for an invalid argument |
gas_test_error "block2.s" "" "Check for error on bogus argument to .block" |
|
# GAS-1.36 choked on this file. |
# FIXME. Should check relocations made for this test! |
gas_test "exprbug.s" "" "" "Check for sym1-sym2 acceptance" |
|
# Bad things happen in the PA ELF backend (others too?) if a non-default |
# section is created... |
setup_xfail "hppa*-*-*elf*" "hppa*-*-linux*" "hppa*64*-*-*" |
gas_test "ssbug.s" "" "" "Check for acceptance of non-default subspaces" |
|
# To be compatable with certain "features" of the HP compiler |
# non-existant registers should default to %r0. |
gas_test "defbug.s" "" "" "Missing register should default to %%r0" |
|
# Make sure GAS understands a reasonable set of standard predefined |
# registers. eg %rp, %dp, %sp, etc. |
gas_test "stdreg.s" "" "" "Test standard predefined registers" |
|
# Make sure GAS will accept a label without a colon. |
setup_xfail "hppa*-*-linux*" |
gas_test "labelbug.s" "" "" "Test label without colon" |
|
# Make sure we grok # line directives. |
gas_test "appbug.s" "" "" "Test acceptance of #line directives" |
|
# Make sure we give errors if a floating point format is specified |
# for an xmpyu instruction (integer multiple) |
gas_test_error "xmpyubug.s" "" "Check for error on bogus argument to xmpyu" |
|
# Make sure gas handles various kinds of .reg pseudo-ops |
gas_test "regpopbug.s" "" "" "Test for bugs in .reg pseudo-op" |
|
# Check some bugs that have appeared in parsing .callinfo directives |
gas_test "callinfobug.s" "" "" "Test for bugs in .callinfo directive" |
|
# Check for bogus registers in single precision fmpyadd/fmpysub |
# instructions |
gas_test_error "badfmpyadd.s" "" "Check for error on bad fmpyadd insn" |
|
# Make sure we grok spaces in directives. |
gas_test "space.s" "" "" "Test acceptance of spaces in directives" |
} |
|
/parse/align1.s
0,0 → 1,31
.code |
.align 1 |
.align 8 |
nop |
; "8" assumed if no alignment given. |
.align |
nop |
.align 4096 |
nop |
|
|
.data |
|
.ALIGN 8 |
$L00BSS: |
home_buff: |
.BLOCK 1024 |
.ALIGN 8 |
current_buff: |
.BLOCK 1024 |
.ALIGN 4 |
lock_file: |
.BLOCK 4 |
.ALIGN 8 |
L332.name: |
.BLOCK 30 |
.ALIGN 4 |
L352.last_case_wa: |
.BLOCK 4 |
|
|
/parse/block1.s
0,0 → 1,11
.data |
|
|
foo: |
.block |
bar: |
.block 0x3fffffff |
com: |
|
|
|
/parse/exprbug.s
0,0 → 1,38
.code |
|
.align 8 |
.export icode,data |
icode: |
.proc |
.callinfo frame=0,no_calls |
.entry |
bv,n %r0(%r2) |
.exit |
nop |
.procend |
|
; |
; FIRST, argv array of pointers to args, 1st is same as path. |
; |
.align 8 |
ic_argv: |
.word ic_argv1-icode ; second, pointer to 1st argument |
.word ic_path-icode ; first, pointer to init path |
.word 0 ; fourth, NULL argv terminator (pad) |
.word 0 ; third, NULL argv terminator |
|
ic_path: |
.blockz 4096 ; must be multiple of 4 bytes |
.word 0 ; in case full string is used |
.word 0 ; this will be the string terminator |
|
ic_argv1: |
.blockz 4096 ; must be multiple of 4 bytes |
.word 0 ; in case full string is used |
.word 0 ; this will be the string terminator |
|
.export szicode,data |
szicode: |
.word szicode-icode |
.word 0 ; must have at least one filler at end |
|
/parse/align2.s
0,0 → 1,6
.code |
.align 3 |
|
|
|
|
/parse/block2.s
0,0 → 1,6
.data |
foo: |
.block -1 |
|
|
|
/parse/labelbug.s
0,0 → 1,27
.code |
|
.align 4 |
; A comment. This should not be interpreted as a label, but both of the |
; following statements should. |
label_without_colon |
label_with_colon: |
|
; A problem tege found... |
; Input scrubbing in gas makes life a real nightmare for assemblers |
; in which the *position* within a line determines how to interpret |
; a stream a characters. These test one particular case where gas |
; had the tendency to delete the whitespace between the opcode and |
; operands if a label without a colon began a line, and the operands |
; started with a non-numeric character. |
L$1 add %r2,%r2,%r2 |
L$2: add %r2,%r2,%r2 |
L$3 |
add %r2,%r2,%r2 |
|
L$4 add %r2,%r2,%r2 |
L$5: add %r2,%r2,%r2 |
L$6 |
add %r2,%r2,%r2 |
|
; An instruction or pseudo-op may begin anywhere after column 0. |
b,n label_without_colon |
/README
0,0 → 1,34
Notes on how the HPPA testsuite is organized: |
|
basic.parse -- this directory contains the basic instruction parsing |
tests and a simple .stab parsing test. This would be where you'd |
add code to make sure new instructions are parsed correctly, new |
completers (such as cache hits) are parsed correctly, etc. |
|
It's also a reasonable place to make sure parsing of the various |
assembler directives is handled correctly. If you're going to add |
such code, try to be reasonably complete. Add test code for each |
basic directive and test all (or a noteworthy) subset of arguments. |
|
It should only be necessary to have an assembler to run these tests; |
calling objdump_start or something similar should not be done from |
this directory. |
|
|
more.parse -- this is where you should put additional parsing tests, such |
as tests to check mode selector parsing, string parsing, expression parsing, |
etc. It's also a reasonable place to put parsing tests which are not complete |
enough (whatever that means) for basic.parse. |
|
It should only be necessary to have an assembler to run these tests; |
calling objdump_start or something similar should not be done from |
this directory. |
|
|
reloc -- this is where you tests which examine relocations produced |
by GAS belong. To run these tests you must have a functioning objdump. |
|
|
unsorted -- this is where everything else goes. As groups of related tests |
end up in this directory, they should be broken out into a new class of |
tests. |