1	.code
2	.align 4
3	.EXPORT integer_memory_tests,CODE
4	.EXPORT integer_indexing_load,CODE
5	.EXPORT integer_load_short_memory,CODE
6	.EXPORT integer_store_short_memory,CODE
7	.EXPORT main,CODE
8	.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
9; Basic integer memory tests which also test the various
10; addressing modes and completers.
11;
12; We could/should test some of the corner cases for register and
13; immediate fields.  We should also check the assorted field
14; selectors to make sure they're handled correctly.
15;
16integer_memory_tests:
17	ldw 0(%sr0,%r4),%r26
18	ldh 0(%sr0,%r4),%r26
19	ldb 0(%sr0,%r4),%r26
20	stw %r26,0(%sr0,%r4)
21	sth %r26,0(%sr0,%r4)
22	stb %r26,0(%sr0,%r4)
23
24; Should make sure pre/post modes are recognized correctly.
25	ldwm 0(%sr0,%r4),%r26
26	stwm %r26,0(%sr0,%r4)
27
28integer_indexing_load:
29	ldwx %r5(%sr0,%r4),%r26
30	ldwx,s %r5(%sr0,%r4),%r26
31	ldwx,m %r5(%sr0,%r4),%r26
32	ldwx,sm %r5(%sr0,%r4),%r26
33	ldhx %r5(%sr0,%r4),%r26
34	ldhx,s %r5(%sr0,%r4),%r26
35	ldhx,m %r5(%sr0,%r4),%r26
36	ldhx,sm %r5(%sr0,%r4),%r26
37	ldbx %r5(%sr0,%r4),%r26
38	ldbx,s %r5(%sr0,%r4),%r26
39	ldbx,m %r5(%sr0,%r4),%r26
40	ldbx,sm %r5(%sr0,%r4),%r26
41	ldwax %r5(%r4),%r26
42	ldwax,s %r5(%r4),%r26
43	ldwax,m %r5(%r4),%r26
44	ldwax,sm %r5(%r4),%r26
45	ldcwx %r5(%sr0,%r4),%r26
46	ldcwx,s %r5(%sr0,%r4),%r26
47	ldcwx,m %r5(%sr0,%r4),%r26
48	ldcwx,sm %r5(%sr0,%r4),%r26
49
50integer_load_short_memory:
51	ldws 0(%sr0,%r4),%r26
52	ldws,mb 0(%sr0,%r4),%r26
53	ldws,ma 0(%sr0,%r4),%r26
54	ldhs 0(%sr0,%r4),%r26
55	ldhs,mb 0(%sr0,%r4),%r26
56	ldhs,ma 0(%sr0,%r4),%r26
57	ldbs 0(%sr0,%r4),%r26
58	ldbs,mb 0(%sr0,%r4),%r26
59	ldbs,ma 0(%sr0,%r4),%r26
60	ldwas 0(%r4),%r26
61	ldwas,mb 0(%r4),%r26
62	ldwas,ma 0(%r4),%r26
63	ldcws 0(%sr0,%r4),%r26
64	ldcws,mb 0(%sr0,%r4),%r26
65	ldcws,ma 0(%sr0,%r4),%r26
66
67integer_store_short_memory:
68	stws %r26,0(%sr0,%r4)
69	stws,mb %r26,0(%sr0,%r4)
70	stws,ma %r26,0(%sr0,%r4)
71	sths %r26,0(%sr0,%r4)
72	sths,mb %r26,0(%sr0,%r4)
73	sths,ma %r26,0(%sr0,%r4)
74	stbs %r26,0(%sr0,%r4)
75	stbs,mb %r26,0(%sr0,%r4)
76	stbs,ma %r26,0(%sr0,%r4)
77	stwas %r26,0(%r4)
78	stwas,mb %r26,0(%r4)
79	stwas,ma %r26,0(%r4)
80	stbys %r26,0(%sr0,%r4)
81	stbys,b %r26,0(%sr0,%r4)
82	stbys,e %r26,0(%sr0,%r4)
83	stbys,b,m %r26,0(%sr0,%r4)
84	stbys,e,m %r26,0(%sr0,%r4)
85