1b35637a050d995634a21a126d37957f7bcee03a6petarj#include <stdio.h>
2b35637a050d995634a21a126d37957f7bcee03a6petarj#include "const.h"
3b35637a050d995634a21a126d37957f7bcee03a6petarj#include "macro_int.h"
4b35637a050d995634a21a126d37957f7bcee03a6petarj
5b35637a050d995634a21a126d37957f7bcee03a6petarjtypedef enum {
6b35637a050d995634a21a126d37957f7bcee03a6petarj    DROTR=0,  DROTR32,   DROTRV,    DSLL,
7b35637a050d995634a21a126d37957f7bcee03a6petarj    DSLL32,   DSLLV,     DSRA,      DSRA32,
8b35637a050d995634a21a126d37957f7bcee03a6petarj    DSRAV,    DSRL,      DSRL32,    DSRLV,
9b35637a050d995634a21a126d37957f7bcee03a6petarj    ROTR,     ROTRV,     SLL,       SLLV,
10b35637a050d995634a21a126d37957f7bcee03a6petarj    SRA,      SRAV,      SRL,       SRLV
11b35637a050d995634a21a126d37957f7bcee03a6petarj} logical_op;
12b35637a050d995634a21a126d37957f7bcee03a6petarj
13b35637a050d995634a21a126d37957f7bcee03a6petarjint main()
14b35637a050d995634a21a126d37957f7bcee03a6petarj{
15b35637a050d995634a21a126d37957f7bcee03a6petarj   logical_op op;
16b35637a050d995634a21a126d37957f7bcee03a6petarj   int i;
17b35637a050d995634a21a126d37957f7bcee03a6petarj   init_reg_val2();
18b35637a050d995634a21a126d37957f7bcee03a6petarj   for (op = DROTR; op <= SRLV; op++) {
19b35637a050d995634a21a126d37957f7bcee03a6petarj      for (i = 0; i < N; i++) {
20b35637a050d995634a21a126d37957f7bcee03a6petarj         switch(op) {
21b35637a050d995634a21a126d37957f7bcee03a6petarj            case DROTR:
22b35637a050d995634a21a126d37957f7bcee03a6petarj               /* Release 2 Only */
23b35637a050d995634a21a126d37957f7bcee03a6petarj#if (__mips == 64) && (__mips_isa_rev >= 2)
24b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
25b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
26b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
27b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
28b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
29b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
30b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
31b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
32b35637a050d995634a21a126d37957f7bcee03a6petarj#endif
33b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
34b35637a050d995634a21a126d37957f7bcee03a6petarj            case DROTR32:
35b35637a050d995634a21a126d37957f7bcee03a6petarj               /* Release 2 Only */
36b35637a050d995634a21a126d37957f7bcee03a6petarj#if (__mips == 64) && (__mips_isa_rev >= 2)
37b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
38b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
39b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
40b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
41b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
42b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
43b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
44b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("drotr32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
45b35637a050d995634a21a126d37957f7bcee03a6petarj#endif
46b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
47b35637a050d995634a21a126d37957f7bcee03a6petarj            case DROTRV:
48b35637a050d995634a21a126d37957f7bcee03a6petarj               /* Release 2 Only */
49b35637a050d995634a21a126d37957f7bcee03a6petarj#if (__mips == 64) && (__mips_isa_rev >= 2)
50b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("drotrv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
51b35637a050d995634a21a126d37957f7bcee03a6petarj                                             t0, t1, t2);
52b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("drotrv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
53b35637a050d995634a21a126d37957f7bcee03a6petarj                                             s0, s1, s2);
54b35637a050d995634a21a126d37957f7bcee03a6petarj#endif
55b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
56b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSLL:
57b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
58b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
59b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
60b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
61b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
62b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
63b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
64b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
65b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
66b35637a050d995634a21a126d37957f7bcee03a6petarj
67b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSLL32:
68b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
69b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
70b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
71b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
72b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
73b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
74b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
75b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsll32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
76b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
77b35637a050d995634a21a126d37957f7bcee03a6petarj
78b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSLLV:
79b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("dsllv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
80b35637a050d995634a21a126d37957f7bcee03a6petarj                                            t0, t1, t2);
81b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("dsllv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
82b35637a050d995634a21a126d37957f7bcee03a6petarj                                            s0, s1, s2);
83b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
84b35637a050d995634a21a126d37957f7bcee03a6petarj
85b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSRA:
86b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
87b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
88b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
89b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
90b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
91b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
92b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
93b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
94b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
95b35637a050d995634a21a126d37957f7bcee03a6petarj
96b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSRA32:
97b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
98b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
99b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
100b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
101b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
102b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
103b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
104b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsra32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
105b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
106b35637a050d995634a21a126d37957f7bcee03a6petarj
107b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSRAV:
108b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("dsrav $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
109b35637a050d995634a21a126d37957f7bcee03a6petarj                                            t0, t1, t2);
110b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("dsrav $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
111b35637a050d995634a21a126d37957f7bcee03a6petarj                                            s0, s1, s2);
112b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
113b35637a050d995634a21a126d37957f7bcee03a6petarj
114b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSRL:
115b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
116b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
117b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
118b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
119b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
120b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
121b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
122b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
123b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
124b35637a050d995634a21a126d37957f7bcee03a6petarj
125b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSRL32:
126b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
127b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
128b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
129b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
130b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
131b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
132b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
133b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("dsrl32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
134b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
135b35637a050d995634a21a126d37957f7bcee03a6petarj
136b35637a050d995634a21a126d37957f7bcee03a6petarj            case DSRLV:
137b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("dsrlv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
138b35637a050d995634a21a126d37957f7bcee03a6petarj                                            t0, t1, t2);
139b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("dsrlv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
140b35637a050d995634a21a126d37957f7bcee03a6petarj                                            s0, s1, s2);
141b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
142b35637a050d995634a21a126d37957f7bcee03a6petarj
143b35637a050d995634a21a126d37957f7bcee03a6petarj            case ROTR:
144b35637a050d995634a21a126d37957f7bcee03a6petarj               /* Release 2 Only */
145b35637a050d995634a21a126d37957f7bcee03a6petarj#if (__mips == 64) && (__mips_isa_rev >= 2)
146b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("rotr $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
147b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("rotr $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
148b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("rotr $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
149b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("rotr $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
150b35637a050d995634a21a126d37957f7bcee03a6petarj#endif
151b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
152b35637a050d995634a21a126d37957f7bcee03a6petarj            case ROTRV:
153b35637a050d995634a21a126d37957f7bcee03a6petarj               /* Release 2 Only */
154b35637a050d995634a21a126d37957f7bcee03a6petarj#if (__mips == 64) && (__mips_isa_rev >= 2)
155b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("rotrv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
156b35637a050d995634a21a126d37957f7bcee03a6petarj                                            t0, t1, t2);
157b35637a050d995634a21a126d37957f7bcee03a6petarj#endif
158b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
159b35637a050d995634a21a126d37957f7bcee03a6petarj            case SLL:
160b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
161b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
162b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
163b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
164b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
165b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
166b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
167b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sll $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
168b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
169b35637a050d995634a21a126d37957f7bcee03a6petarj
170b35637a050d995634a21a126d37957f7bcee03a6petarj            case SLLV:
171b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("sllv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
172b35637a050d995634a21a126d37957f7bcee03a6petarj                                           t0, t1, t2);
173b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("sllv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
174b35637a050d995634a21a126d37957f7bcee03a6petarj                                           s0, s1, s2);
175b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
176b35637a050d995634a21a126d37957f7bcee03a6petarj
177b35637a050d995634a21a126d37957f7bcee03a6petarj            case SRA:
178b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sra $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
179b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sra $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
180b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sra $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
181b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("sra $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
182b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
183b35637a050d995634a21a126d37957f7bcee03a6petarj
184b35637a050d995634a21a126d37957f7bcee03a6petarj            case SRAV:
185b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("srav $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
186b35637a050d995634a21a126d37957f7bcee03a6petarj                                           t0, t1, t2);
187b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
188b35637a050d995634a21a126d37957f7bcee03a6petarj
189b35637a050d995634a21a126d37957f7bcee03a6petarj            case SRL:
190b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("srl $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
191b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("srl $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
192b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("srl $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
193b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST2("srl $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
194b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
195b35637a050d995634a21a126d37957f7bcee03a6petarj
196b35637a050d995634a21a126d37957f7bcee03a6petarj            case SRLV:
197b35637a050d995634a21a126d37957f7bcee03a6petarj               TEST1("srlv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
198b35637a050d995634a21a126d37957f7bcee03a6petarj                                           t0, t1, t2);
199b35637a050d995634a21a126d37957f7bcee03a6petarj               break;
200b35637a050d995634a21a126d37957f7bcee03a6petarj
201b35637a050d995634a21a126d37957f7bcee03a6petarj         }
202b35637a050d995634a21a126d37957f7bcee03a6petarj      }
203b35637a050d995634a21a126d37957f7bcee03a6petarj   }
204b35637a050d995634a21a126d37957f7bcee03a6petarj   return 0;
205b35637a050d995634a21a126d37957f7bcee03a6petarj}
206