1#include "macros.inc"
2
3test_suite rst0
4
5test and
6 movi a2, 0x137fa5a5
7 mov a3, a2
8 movi a4, 0xa5a5137f
9 movi a6, 0x01250125
10 and a5, a2, a4
11 assert eq, a5, a6
12 and a2, a2, a4
13 assert eq, a2, a6
14 and a3, a4, a3
15 assert eq, a3, a6
16test_end
17
18test or
19 movi a2, 0x137fa5a5
20 mov a3, a2
21 movi a4, 0xa5a5137f
22 movi a6, 0xb7ffb7ff
23 or a5, a2, a4
24 assert eq, a5, a6
25 or a2, a2, a4
26 assert eq, a2, a6
27 or a3, a4, a3
28 assert eq, a3, a6
29test_end
30
31test xor
32 movi a2, 0x137fa5a5
33 mov a3, a2
34 movi a4, 0xa5a5137f
35 movi a6, 0xb6dab6da
36 xor a5, a2, a4
37 assert eq, a5, a6
38 xor a2, a2, a4
39 assert eq, a2, a6
40 xor a3, a4, a3
41 assert eq, a3, a6
42test_end
43
44test add
45 movi a2, 0x137fa5a5
46 mov a3, a2
47 movi a4, 0xa5a5137f
48 movi a6, 0xb924b924
49 add a5, a2, a4
50 assert eq, a5, a6
51 add a2, a2, a4
52 assert eq, a2, a6
53 add a4, a3, a4
54 assert eq, a4, a6
55test_end
56
57
58
59test addx2
60 movi a2, 0x137fa5a5
61 mov a3, a2
62 movi a4, 0xa5a5137f
63 movi a6, 0xcca45ec9
64 addx2 a5, a2, a4
65 assert eq, a5, a6
66 addx2 a2, a2, a4
67 assert eq, a2, a6
68 addx2 a4, a3, a4
69 assert eq, a4, a6
70test_end
71
72test addx4
73 movi a2, 0x137fa5a5
74 mov a3, a2
75 movi a4, 0xa5a5137f
76 movi a6, 0xf3a3aa13
77 addx4 a5, a2, a4
78 assert eq, a5, a6
79 addx4 a2, a2, a4
80 assert eq, a2, a6
81 addx4 a4, a3, a4
82 assert eq, a4, a6
83test_end
84
85test addx8
86 movi a2, 0x137fa5a5
87 mov a3, a2
88 movi a4, 0xa5a5137f
89 movi a6, 0x41a240a7
90 addx8 a5, a2, a4
91 assert eq, a5, a6
92 addx8 a2, a2, a4
93 assert eq, a2, a6
94 addx8 a4, a3, a4
95 assert eq, a4, a6
96test_end
97
98#endif
99
100test sub
101 movi a2, 0x137fa5a5
102 mov a3, a2
103 movi a4, 0xa5a5137f
104 movi a6, 0x6dda9226
105 sub a5, a2, a4
106 assert eq, a5, a6
107 sub a2, a2, a4
108 assert eq, a2, a6
109 sub a4, a3, a4
110 assert eq, a4, a6
111test_end
112
113
114
115test subx2
116 movi a2, 0x137fa5a5
117 mov a3, a2
118 movi a4, 0xa5a5137f
119 movi a6, 0x815a37cb
120 subx2 a5, a2, a4
121 assert eq, a5, a6
122 subx2 a2, a2, a4
123 assert eq, a2, a6
124 subx2 a4, a3, a4
125 assert eq, a4, a6
126test_end
127
128test subx4
129 movi a2, 0x137fa5a5
130 mov a3, a2
131 movi a4, 0xa5a5137f
132 movi a6, 0xa8598315
133 subx4 a5, a2, a4
134 assert eq, a5, a6
135 subx4 a2, a2, a4
136 assert eq, a2, a6
137 subx4 a4, a3, a4
138 assert eq, a4, a6
139test_end
140
141test subx8
142 movi a2, 0x137fa5a5
143 mov a3, a2
144 movi a4, 0xa5a5137f
145 movi a6, 0xf65819a9
146 subx8 a5, a2, a4
147 assert eq, a5, a6
148 subx8 a2, a2, a4
149 assert eq, a2, a6
150 subx8 a4, a3, a4
151 assert eq, a4, a6
152test_end
153
154#endif
155
156test_suite_end
157