lsmisc3.s
5.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
/****************************************************************
This program tests control paths for scalar loads and stores
moves from the VU (mfc2).
****************************************************************/
#include "suregre.h"
.base 0x04001000
.data 0x04000000
.word 0x01820384
.word 0x85068708
.word 0x098A0B8C
.word 0x8D0E8F10
.word 0x11921394
.word 0x95169718
.word 0x199A1B9C
.word 0x9D1E9F20
.word 0x21A223A4
.word 0xA526A728
.word 0x29AA2BAC
.word 0xAD2EAF30
.word 0x31B233B4
.word 0xB536B738
.word 0x39BA3BBC
.word 0xBD3EBF40
.word 0x41C243C4
.word 0xC546C748
.word 0x49CA4BCC
.word 0xCD4ECF50
.word 0x51D253D4
.word 0xD556D758
.word 0x59DA5BDC
.word 0xDD5EDF60
.word 0x61E263E4
.word 0xE566E768
.word 0x69EA6BEC
.word 0xED6EEF70
.word 0x71F273F4
.word 0xF576F778
.word 0x79FA7BFC
.word 0xFD7E0080
LI(r0 , 0xFFFF, 0xFFFF);
LI(r1 , 0x0101, 0x0101);
LI(r2 , 0x0202, 0x0202);
LI(r3 , 0x0303, 0x0303);
LI(r4 , 0x0404, 0x0404);
LI(r5 , 0x0505, 0x0505);
LI(r6 , 0x0606, 0x0606);
LI(r7 , 0x0707, 0x0707);
LI(r8 , 0x0808, 0x0808);
LI(r9 , 0x0909, 0x0909);
LI(r10, 0x0A0A, 0x0A0A);
LI(r11, 0x0B0B, 0x0B0B);
LI(r12, 0x0C0C, 0x0C0C);
LI(r13, 0x0D0D, 0x0D0D);
LI(r14, 0x0E0E, 0x0E0E);
LI(r15, 0x0F0F, 0x0F0F);
LI(r16, 0x1010, 0x1010);
LI(r17, 0x1111, 0x1111);
LI(r18, 0x1212, 0x1212);
LI(r19, 0x1313, 0x1313);
LI(r20, 0x1414, 0x1414);
LI(r21, 0x1515, 0x1515);
LI(r22, 0x1616, 0x1616);
LI(r23, 0x1717, 0x1717);
LI(r24, 0x1818, 0x1818);
LI(r25, 0x1919, 0x1919);
LI(r26, 0x1A1A, 0x1A1A);
LI(r27, 0x1B1B, 0x1B1B);
LI(r28, 0x1C1C, 0x1C1C);
LI(r29, 0x1D1D, 0x1D1D);
LI(r30, 0x1E1E, 0x1E1E);
LI(r31, 0x1F1F, 0x1F1F);
ChkLdTV( 0x1,lb,r11,0x0B0B,0x0B0B,0x0006,r10,0x0400,0x0000,0xFFFF,0xFF87,r8 )
ChkLdTV( 0x2,lb,r12,0x0C0C,0x0C0C,0x0007,r11,0x0400,0x0000,0x0000,0x0008,r9 )
ChkLdTV( 0x3,lbu,r13,0x0D0D,0x0D0D,0x0008,r12,0x0400,0x0000,0x0000,0x0009,r10)
ChkLdTV( 0x4,lbu,r14,0x0E0E,0x0E0E,0x0009,r13,0x0400,0x0000,0x0000,0x008A,r11)
ChkLdTV( 0x5,lh,r15,0x0F0F,0x0F0F,0x0014,r14,0x0400,0x0000,0xFFFF,0x9516,r12)
ChkLdTV( 0x6,lh,r16,0x1010,0x1010,0x0016,r15,0x0400,0x0000,0xFFFF,0x9718,r13)
ChkLdTV( 0x7,lh,r17,0x1111,0x1111,0x0018,r16,0x0400,0x0000,0x0000,0x199A,r14)
ChkLdTV( 0x8,lhu,r18,0x1212,0x1212,0x001A,r17,0x0400,0x0000,0x0000,0x1B9C,r15)
ChkLdTV( 0x9,lhu,r19,0x1313,0x1313,0x001C,r18,0x0400,0x0000,0x0000,0x9D1E,r16)
LI(r0 , 0xFFFF, 0xFFFF);
LI(r1 , 0x0101, 0x0101);
LI(r2 , 0x0202, 0x0202);
LI(r3 , 0x0303, 0x0303);
LI(r4 , 0x0404, 0x0404);
LI(r5 , 0x0505, 0x0505);
LI(r6 , 0x0606, 0x0606);
LI(r7 , 0x0707, 0x0707);
LI(r8 , 0x0808, 0x0808);
LI(r9 , 0x0909, 0x0909);
LI(r10, 0x0A0A, 0x0A0A);
LI(r11, 0x0B0B, 0x0B0B);
LI(r12, 0x0C0C, 0x0C0C);
LI(r13, 0x0D0D, 0x0D0D);
LI(r14, 0x0E0E, 0x0E0E);
LI(r15, 0x0F0F, 0x0F0F);
LI(r16, 0x1010, 0x1010);
LI(r17, 0x1111, 0x1111);
LI(r18, 0x1212, 0x1212);
LI(r19, 0x1313, 0x1313);
LI(r20, 0x1414, 0x1414);
LI(r21, 0x1515, 0x1515);
LI(r22, 0x1616, 0x1616);
LI(r23, 0x1717, 0x1717);
LI(r25, 0x1919, 0x1919);
LI(r26, 0x1A1A, 0x1A1A);
LI(r27, 0x1B1B, 0x1B1B);
LI(r28, 0x1C1C, 0x1C1C);
LI(r29, 0x1D1D, 0x1D1D);
LI(r30, 0x1E1E, 0x1E1E);
LI(r31, 0x1F1F, 0x1F1F);
lqv v0[0], 0 (r0);
vxor v31, v0, v0
sqv v31[0], 0 (r0) ;
ChkSt( 0xa,sb,r6 ,0x0606,0x0606,0x0001,0x0000,r4 ,r5 ,0x0000,0x2002,0x0400,0x0000,0x0002,0x0000,r3 )
ChkSt( 0xb,sb,r7 ,0x0707,0x0707,0x0002,0x0000,r5 ,r6 ,0x0000,0x4004,0x0400,0x0000,0x0002,0x0400,r4 )
ChkSt( 0xc,sb,r8 ,0x0808,0x0808,0x0003,0x0000,r6 ,r7 ,0x0000,0x8008,0x0400,0x0000,0x0002,0x0408,r5 )
LI(r6 , 0x0606, 0x0606);
LI(r7 , 0x0707, 0x0707);
LI(r8 , 0x0808, 0x0808);
ChkSt( 0xd,sh,r9 ,0x0909,0x0909,0x0008,0x0008,r7 ,r8 ,0x0001,0x0010,0x0400,0x0000,0x0010,0x0000,r6 )
ChkSt( 0xe,sh,r10,0x0A0A,0x0A0A,0x000A,0x0008,r8 ,r9 ,0x0002,0x0020,0x0400,0x0000,0x0010,0x0020,r7 )
ChkSt( 0xf,sh,r11,0x0B0B,0x0B0B,0x000C,0x000C,r9 ,r10,0x0004,0x0040,0x0400,0x0000,0x0040,0x0000,r8 )
LI(r3 , 0x0303, 0x0303);
LI(r4 , 0x0404, 0x0404);
LI(r5 , 0x0505, 0x0505);
LI(r6 , 0x0606, 0x0606);
LI(r7 , 0x0707, 0x0707);
LI(r8 , 0x0808, 0x0808);
LI(r9 , 0x0909, 0x0909);
LI(r10, 0x0A0A, 0x0A0A);
LI(r11, 0x0B0B, 0x0B0B);
vxor v31, v0, v0
sqv v31[0], 0 (r0) ;
ChkMc2TV( 0x10,mfc2,r3 ,r4 ,r5 ,r2 ,v0,0,0x0000,0x0007,0x8001,0x0080,0x0000,0x0080,0x0000,0x0080)
ChkMc2TV( 0x11,mfc2,r4 ,r5 ,r6 ,r3 ,v0,2,0x0000,0x000D,0x8000,0x8080,0xFFFF,0x8080,0xFFFF,0x8080)
ChkMc2TV( 0x12,mfc2,r5 ,r6 ,r7 ,r4 ,v0,4,0x0000,0x0025,0x8000,0x4080,0x0000,0x4080,0x0000,0x4080)
ChkMc2TV( 0x13,mfc2,r6 ,r7 ,r8 ,r5 ,v0,6,0x0000,0x0085,0x8000,0x2080,0x0000,0x2080,0x0000,0x2080)
ChkMc2TV( 0x14,mfc2,r7 ,r8 ,r9 ,r6 ,v0,8,0x0000,0x0205,0x8000,0x1080,0x0000,0x1080,0x0000,0x1080)
ChkMc2TV( 0x15,mfc2,r8 ,r9 ,r10,r7 ,v0,10,0x0000,0x0805,0x8000,0x0880,0x0000,0x0880,0x0000,0x0880)
ChkMc2TV( 0x16,mfc2,r9 ,r10,r11,r8 ,v0,12,0x0000,0x2005,0x8000,0x0480,0x0000,0x0480,0x0000,0x0480)
ChkMc2TV( 0x17,mfc2,r10,r11,r12,r9 ,v0,14,0x0000,0x8005,0x8000,0x0280,0x0000,0x0280,0x0000,0x0280)
ori r1, r0, 0xFEED;
Fail:
sw r1, 0(r0)
nop
nop
nop
nop
break
nop
nop
nop
nop
nop