3 .macro assert reg,value
11 add r8,r0,0x7fff7fff ;
12 add r9,r0,0x55555555 ;
13 add r12,r0,0x11111111 ;
14 add r1,r0,0x80000011 ; for psw
16 addhhhh r12,r8,r9 ||addhlll r13,r12,r12
18 mvtsys psw,r1 || add r2,r8, r9
21 assert r20, 0x80000000
22 assert r21, 0x80000014
29 add r1,r0,0x80000000 ; for psw
31 cmpeq f1,r40,r41,||cmpeq f0,r40,r41,;
34 assert r42, 0x80005000
39 add r8,r0,0x80005555 ; for psw
40 add r9,r0,0x80000000 ; for psw
41 add r40,r0,0x11111111 ;
42 add r41,r0,0x22222222 ;
43 add r42,r0,0x00000000 ;
45 mvtsys psw,r9 ||add r42,r40,r41,;
48 assert r10, 0x80000000
53 add r8,r0,0x80000000 ; for psw
54 add r9,r0,0x80005555 ; for psw
55 add r10,r0,0x00000000 ;
56 add r40,r0,0x11111111 ;
57 add r41,r0,0x22222222 ;
58 add r42,r0,0x00000000 ;
60 mvtsys psw,r9 ||add r42,r40,r41,;
63 assert r10, 0x80005544
68 add r8,r0,0x80005555 ; for psw
69 add r9,r0,0x80000000 ; for psw
70 add r10,r0,0x00000000 ;
71 add r40,r0,0x00000011 ;
72 add r41,r0,0x00000011 ;
74 mvtsys psw,r9 ||cmpeq f5,r40,r41,;
77 assert r10, 0x80000010
82 add r9,r0,0x80000000 ; for psw
83 add r40,r0,0x00000011 ;
84 add r41,r0,0x00000011 ;
88 nop ||cmpeq f5,r40,r41,;
91 assert r10, 0x80000010
96 ; test 000 ; mvtsys(s=0) || sathl(s=0) prallel execution test
97 add r8,r0,0x80005555 ; for psw
98 add r9,r0,0x80000000 ; for psw
99 add r40,r0,0x00000044 ;
100 add r41,r0,0x00000008 ;
102 mvtsys psw,r9 ||sathl r30,r40,r41,;
103 mvfsys r20, psw ||nop
104 ;-------------------------------
105 ; test 001 ; mvtsys(s=0) || sathl(s=1) prallel execution test
107 add r40,r0,0x00004444 ;
108 add r41,r0,0x00000008 ;
110 mvtsys psw,r9 ||sathl r31,r40,r41,;
112 ;-------------------------------
113 ; test 002 ; mvtsys(s=1) || sathl(s=0) prallel execution test
114 add r8,r0,0x80000000 ; for psw
115 add r9,r0,0x80005555 ; for psw
116 add r40,r0,0x00000044 ;
117 add r41,r0,0x00000008 ;
119 mvtsys psw,r9 ||sathl r32,r40,r41,;
121 ;-------------------------------
122 ; test 003 ; mvtsys(s=1) || sathl(s=1) prallel execution test
124 add r40,r0,0x00004444 ;
125 add r41,r0,0x00000008 ;
127 mvtsys psw,r9 ||sathl r33,r40,r41,;
130 assert r20, 0x80000000
131 assert r21, 0x80000040
132 assert r22, 0x80005555
133 assert r23, 0x80005515
138 ;------------------------------------------------------------------------
139 ; mvtsys (C =1, V= VA = 0) || addc (C= V= VA =0)
140 ;------------------------------------------------------------------------
142 add r1,r0,1 ||nop ; set C bit
144 mvtsys psw r1 ||addc r20,r0,1
146 ; C changed in MU is not used in IU.
147 ; IU prevail for resulting C.
148 ;------------------------------------------------------------------------
149 ; mvtsys (V =1, C = VA = 0) || add (C= V= VA =0)
150 ;------------------------------------------------------------------------
152 add r1,r0,0x10 ||nop ; set V bit
154 mvtsys psw r1 ||add r0,r0,r0
156 ; IU prevail for resulting V.
157 ;------------------------------------------------------------------------
158 ; mvtsys (V = C= VA = 0) || add (C=0,V= VA =1)
159 ;------------------------------------------------------------------------
164 mvtsys psw r0 ||add r0,r1,r2
166 ; IU prevail for resulting V.
168 ;------------------------------------------------------------------------
169 ; mvtsys (C= 0 V = VA = 1) || add (C= V= VA =0)
170 ;------------------------------------------------------------------------
172 add r1,r0,0x14 ||nop ; set V and VA bit
174 mvtsys psw r1 ||add r0,r0,r0
176 ; IU prevail for resulging V
178 ;------------------------------------------------------------------------
179 ; mvtsys (f3 =1) || orfg (f3) : GROUP_B
180 ;------------------------------------------------------------------------
182 add r1,r0,0x100 ; set f3
184 mvtsys psw,r1 ||orfg f3,f3,0
186 ; results of IU prevail.
187 ;------------------------------------------------------------------------
188 ; mvtsys (f4 =1) || sathp
189 ;------------------------------------------------------------------------
191 add r1,r0,0x40 ; set f4
193 mvtsys psw r1 ||sathl r2,r1,3
195 ; results of MU is used in IU
210 add r8,r0,0x7fff7fff ;
211 add r9,r0,0x55555555 ;
212 add r12,r0,0x11111111 ;
213 add r13,r0,0x00000000 ;
214 addhhhh r12,r8,r9 ||addhlll r13,r12,r12
216 ;------------------------------------------
217 add r20,r0,0x66666666 ;
218 add r21,r0,0x77777777 ;
219 add r40,r0,0x22222222 ;
220 add r41,r0,0x55555555 ;
221 add r22,r20,r21 ||add r42,r40,r41,;
224 assert r60, 0x80000000
225 assert r61, 0x80000000