blob: 3c49c121d14decbc079dac2c3f88d83b02324172 [file] [log] [blame]
.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
.SPACE $TEXT$
.SUBSPA $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)