1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* How to compile:
3b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   gcc -O -g -Wall -mcpu=cortex-a8 -o v6intThumb none/tests/arm/v6intThumb.c
4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown*/
5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdio.h>
7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownstatic int gen_cvin(cvin)
9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{
10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  int r = ((cvin & 2) ? (1<<29) : 0) | ((cvin & 1) ? (1<<28) : 0);
11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  r |= (1 << 31) | (1 << 30);
12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  return r;
13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* test macros to generate and output the result of a single instruction */
16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 1 registers in the insn, zero args: rD = op()
19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST1(instruction, RD, cvin) \
20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out; \
22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int cpsr; \
23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	__asm__ volatile( \
25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "msr cpsr_f, %2;" \
26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction ";" \
27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %0," #RD ";" \
28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mrs %1,cpsr;" \
29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "=&r" (out), "=&r" (cpsr) \
30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "r" (gen_cvin(cvin))        \
31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: #RD, "cc", "memory" \
32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	); \
33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction, out, \
35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cvin, \
36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cpsr & 0xffff0000, \
37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<31) & cpsr) ? 'N' : ' ', \
38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<30) & cpsr) ? 'Z' : ' ', \
39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<29) & cpsr) ? 'C' : ' ', \
40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<28) & cpsr) ? 'V' : ' ' \
41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		); \
42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 1 registers in the insn, one args: rD = op(rD)
47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST1x(instruction, RDval, RD, cvin)       \
48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out; \
50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int cpsr; \
51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	__asm__ volatile( \
53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "msr cpsr_f, %2;" \
54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "mov " #RD ",%3;" \
55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction ";" \
56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %0," #RD ";" \
57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mrs %1,cpsr;" \
58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "=&r" (out), "=&r" (cpsr) \
59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "r" (gen_cvin(cvin)), "r"(RDval) \
60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: #RD, "cc", "memory" \
61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	); \
62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction, out, \
64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cvin, \
65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cpsr & 0xffff0000, \
66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<31) & cpsr) ? 'N' : ' ', \
67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<30) & cpsr) ? 'Z' : ' ', \
68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<29) & cpsr) ? 'C' : ' ', \
69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<28) & cpsr) ? 'V' : ' ' \
70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		); \
71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
72ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
73ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 2 registers in the insn, one arg: rD = op(rM)
74ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST2(instruction, RMval, RD, RM, cvin) \
75ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
76ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out; \
77ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int cpsr; \
78ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
79ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	__asm__ volatile( \
80ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "msr cpsr_f, %3;" \
81ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RM ",%2;" \
82ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                /* set #RD to 0x55555555 so we can see which parts get overwritten */ \
83ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "mov " #RD ", #0x55" "\n\t" \
84ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "orr " #RD "," #RD "," #RD ", LSL #8" "\n\t" \
85ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "orr " #RD "," #RD "," #RD ", LSL #16" "\n\t" \
86ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction ";" \
87ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %0," #RD ";" \
88ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mrs %1,cpsr;" \
89ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "=&r" (out), "=&r" (cpsr) \
90ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "r" (RMval), "r" (gen_cvin(cvin))        \
91ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: #RD, #RM, "cc", "memory" \
92ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	); \
93ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
94ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction, out, RMval, \
95ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cvin, \
96ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cpsr & 0xffff0000, \
97ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<31) & cpsr) ? 'N' : ' ', \
98ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<30) & cpsr) ? 'Z' : ' ', \
99ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<29) & cpsr) ? 'C' : ' ', \
100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<28) & cpsr) ? 'V' : ' ' \
101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		); \
102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// 2 registers in the insn, two args: rD = op(rD, rM)
106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST2x(instruction, RDval, RMval, RD, RM, cvin)       \
107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out; \
109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int cpsr; \
110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	__asm__ volatile( \
112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "msr cpsr_f, %3;" \
113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RM ",%2;" \
114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "mov " #RD ",%4;" \
115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction ";" \
116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %0," #RD ";" \
117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mrs %1,cpsr;" \
118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "=&r" (out), "=&r" (cpsr) \
119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "r" (RMval), "r" (gen_cvin(cvin)), "r"(RDval) \
120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: #RD, #RM, "cc", "memory" \
121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	); \
122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction, out, RMval, \
124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cvin, \
125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cpsr & 0xffff0000, \
126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<31) & cpsr) ? 'N' : ' ', \
127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<30) & cpsr) ? 'Z' : ' ', \
128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<29) & cpsr) ? 'C' : ' ', \
129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<28) & cpsr) ? 'V' : ' ' \
130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		); \
131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST3(instruction, RMval, RNval, RD, RM, RN, cvin) \
136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out; \
138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int cpsr; \
139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	__asm__ volatile( \
141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "msr cpsr_f, %4;" \
142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RM ",%2;" \
143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RN ",%3;" \
144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction ";" \
145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %0," #RD ";" \
146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mrs %1,cpsr;" \
147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "=&r" (out), "=&r" (cpsr) \
148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "r" (RMval), "r" (RNval), "r" (gen_cvin(cvin))    \
149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: #RD, #RM, #RN, "cc", "memory" \
150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	); \
151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction, out, RMval, RNval, \
153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cvin, \
154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cpsr & 0xffff0000, \
155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<31) & cpsr) ? 'N' : ' ', \
156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<30) & cpsr) ? 'Z' : ' ', \
157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<29) & cpsr) ? 'C' : ' ', \
158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<28) & cpsr) ? 'V' : ' ' \
159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		); \
160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST4(instruction, RMval, RNval, RSval, RD, RM, RN, RS, cvin) \
163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out; \
165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int cpsr; \
166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	__asm__ volatile( \
168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "msr cpsr_f, %5;" \
169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RM ",%2;" \
170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RN ",%3;" \
171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RS ",%4;" \
172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction ";" \
173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %0," #RD ";" \
174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mrs %1,cpsr;" \
175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "=&r" (out), "=&r" (cpsr) \
176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "r" (RMval), "r" (RNval), "r" (RSval), "r" (gen_cvin(cvin)) \
177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: #RD, #RM, #RN, #RS, "cc", "memory" \
178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	); \
179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x rs 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction, out, RMval, RNval, RSval, \
181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cvin, \
182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cpsr & 0xffff0000, \
183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<31) & cpsr) ? 'N' : ' ', \
184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<30) & cpsr) ? 'Z' : ' ', \
185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<29) & cpsr) ? 'C' : ' ', \
186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<28) & cpsr) ? 'V' : ' ' \
187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		); \
188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST4_2OUT(instruction, RDval, RD2val, RMval, RSval, RD, RD2, RM, RS, cvin) \
191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out; \
193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int out2; \
194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	unsigned int cpsr; \
195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	__asm__ volatile( \
197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "msr cpsr_f, %7;" \
198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RD ",%3;" \
199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RD2 ",%4;" \
200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RM ",%5;" \
201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov " #RS ",%6;" \
202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction ";" \
203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %0," #RD ";" \
204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mov %1," #RD2 ";" \
205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		"mrs %2,cpsr;" \
206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "=&r" (out), "=&r" (out2), "=&r" (cpsr) \
207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: "r" (RDval), "r" (RD2val), "r" (RMval), "r" (RSval), "r" (gen_cvin(cvin)) \
208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		: #RD, #RD2, #RM, #RS, "cc", "memory" \
209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	); \
210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("%s :: rd 0x%08x rd2 0x%08x, rm 0x%08x rs 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		instruction, out, out2, RMval, RSval, \
212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cvin, \
213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		cpsr & 0xffff0000, \
214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<31) & cpsr) ? 'N' : ' ', \
215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<30) & cpsr) ? 'Z' : ' ', \
216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<29) & cpsr) ? 'C' : ' ', \
217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		((1<<28) & cpsr) ? 'V' : ' ' \
218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown		); \
219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* helpers */
222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define NOCARRY { int cv = 0; {
223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTCARRY { int cv = 0; for (cv = 0; cv < 4; cv++) {
224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTCARRYEND }}
225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown////////////////////////////////////////////////////////////
227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown////////////////////////////////////////////////////////////
228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown///////////////////////////////////////////////////////////
229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown///////////////////////////////////////////////////////////
230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownstatic int old_main(void)
232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{
233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("MOV\n");
235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("mov  r0, r1", 1, r0, r1, 0);
236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("cpy  r0, r1", 1, r0, r1, 0);
237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("mov  r0, #0", 0, r0, r1, 0);
238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("mov  r0, #1", 0, r0, r1, 0);
239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("movs r0, r1", 1, r0, r1, cv);
241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("movs r0, r1", 0, r0, r1, cv);
242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("movs r0, r1", 0x80000000, r0, r1, cv);
243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("movs r0, #0", 0, r0, r1, cv);
244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("movs r0, #1", 0, r0, r1, cv);
245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("MVN\n");
248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("mvn  r0, r1", 1, r0, r1, 0);
249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("mvns r0, r1", 1, r0, r1, cv);
251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("mvns r0, r1", 0, r0, r1, cv);
252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv);
253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ADD\n");
256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 0, 0, r0, r1, r2, 0);
257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 0, 1, r0, r1, r2, 0);
258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 1, 0, r0, r1, r2, 0);
259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 1, 1, r0, r1, r2, 0);
260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 0, -1, r0, r1, r2, 0);
261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 1, -1, r0, r1, r2, 0);
262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, 0);
263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 0x80000000, -1, r0, r1, r2, 0);
264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adds r0, r1, r2", 0x80000000, 0, r0, r1, r2, 0);
265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ADC\n");
267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 0);
268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 1);
269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSL\n");
271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0);
273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0);
274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0);
275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0);
276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0);
277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0);
278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0);
279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0);
280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0);
281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0x1, 0, r0, r1, r2, 0);
283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0x1, 1, r0, r1, r2, 0);
284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0x1, 31, r0, r1, r2, 0);
285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsl  r0, r1, r2", 0x2, 31, r0, r1, r2, 0);
286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSLS\n");
288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv);
299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0x1, 0, r0, r1, r2, cv);
300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0x1, 1, r0, r1, r2, cv);
301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0x1, 31, r0, r1, r2, cv);
302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsls r0, r1, r2", 0x2, 31, r0, r1, r2, cv);
303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSL immediate\n");
306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsl  r0, r1, #0", 0xffffffff, r0, r1, cv);
308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsl  r0, r1, #1", 0xffffffff, r0, r1, cv);
309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsl  r0, r1, #31", 0xffffffff, r0, r1, cv);
310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsl  r0, r1, #0", 0x1, r0, r1, cv);
311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsl  r0, r1, #1", 0x1, r0, r1, cv);
312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsl  r0, r1, #31", 0x1, r0, r1, cv);
313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsl  r0, r1, #31", 0x2, r0, r1, cv);
314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSLS immediate\n");
317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsls r0, r1, #0", 0xffffffff, r0, r1, cv);
319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsls r0, r1, #1", 0xffffffff, r0, r1, cv);
320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsls r0, r1, #31", 0xffffffff, r0, r1, cv);
321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsls r0, r1, #0", 0x1, r0, r1, cv);
322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsls r0, r1, #1", 0x1, r0, r1, cv);
323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsls r0, r1, #31", 0x1, r0, r1, cv);
324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsls r0, r1, #31", 0x2, r0, r1, cv);
325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSR\n");
328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0);
330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0);
331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0);
332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0);
333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0);
334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0);
335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0);
336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0);
337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0);
338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSRS\n");
340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSR immediate\n");
353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsr  r0, r1, #0", 0xffffffff, r0, r1, 0);
354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsr  r0, r1, #1", 0xffffffff, r0, r1, 0);
355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsr  r0, r1, #31", 0xffffffff, r0, r1, 0);
356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsr  r0, r1, #32", 0xffffffff, r0, r1, 0);
357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsr  r0, r1, #16", 0x00010000, r0, r1, 0);
358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsr  r0, r1, #17", 0x00010000, r0, r1, 0);
359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsr  r0, r1, #18", 0x00010000, r0, r1, 0);
360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("LSRS immediate\n");
362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsrs r0, r1, #0", 0xffffffff, r0, r1, cv);
364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsrs r0, r1, #1", 0xffffffff, r0, r1, cv);
365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsrs r0, r1, #31", 0xffffffff, r0, r1, cv);
366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsrs r0, r1, #32", 0xffffffff, r0, r1, cv);
367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsrs r0, r1, #16", 0x00010000, r0, r1, cv);
368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsrs r0, r1, #17", 0x00010000, r0, r1, cv);
369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("lsrs r0, r1, #18", 0x00010000, r0, r1, cv);
370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ASR\n");
373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv);
384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv);
385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv);
386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv);
387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv);
388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv);
389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv);
390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv);
391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv);
392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv);
393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv);
394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ASRS\n");
397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv);
408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv);
409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv);
410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv);
411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv);
412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv);
413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv);
414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv);
415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv);
416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv);
417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv);
418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x8, 0, r0, r1, r2, cv);
422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x8, 1, r0, r1, r2, cv);
423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x8, 2, r0, r1, r2, cv);
424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x8, 3, r0, r1, r2, cv);
425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x8, 4, r0, r1, r2, cv);
426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x8, 5, r0, r1, r2, cv);
427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x80000001, 1, r0, r1, r2, 0);
430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("asrs r0, r1, r2", 0x80000001, 2, r0, r1, r2, 0);
431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ASR immediate\n");
433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #0", 0xffffffff, r0, r1, 0);
434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #1", 0xffffffff, r0, r1, 0);
435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #31", 0xffffffff, r0, r1, 0);
436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #32", 0xffffffff, r0, r1, 0);
437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #0", 0x7fffffff, r0, r1, 0);
438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #1", 0x7fffffff, r0, r1, 0);
439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #31", 0x7fffffff, r0, r1, 0);
440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #32", 0x7fffffff, r0, r1, 0);
441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #16", 0x00010000, r0, r1, 0);
442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #17", 0x00010000, r0, r1, 0);
443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asr  r0, r1, #18", 0x00010000, r0, r1, 0);
444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ASRS immediate\n");
446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #0", 0xffffffff, r0, r1, cv);
448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #1", 0xffffffff, r0, r1, cv);
449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #31", 0xffffffff, r0, r1, cv);
450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #32", 0xffffffff, r0, r1, cv);
451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #0", 0x7fffffff, r0, r1, cv);
452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #1", 0x7fffffff, r0, r1, cv);
453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #31", 0x7fffffff, r0, r1, cv);
454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #32", 0x7fffffff, r0, r1, cv);
455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #16", 0x00010000, r0, r1, cv);
456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #17", 0x00010000, r0, r1, cv);
457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("asrs r0, r1, #18", 0x00010000, r0, r1, cv);
458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ROR\n");
462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv);
464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x80088000, 1, r0, r1, r2, cv);
465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv);
466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv);
467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv);
468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv);
469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv);
470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv);
471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv);
472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv);
473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv);
474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv);
475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("ror  r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv);
476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("RORS\n");
479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv);
481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x80088000, 0, r0, r1, r2, cv);
482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv);
483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv);
484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv);
485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv);
486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv);
487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv);
488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv);
489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv);
490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv);
491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv);
492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("rors r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv);
493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("ROR immediate\n");
496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("ror  r0, r1, #0", 0x00088000, r0, r1, cv);
498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("ror  r0, r1, #1", 0x00088000, r0, r1, cv);
499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("ror  r0, r1, #31", 0x00088000, r0, r1, cv);
500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("ror  r0, r1, #16", 0x00010000, r0, r1, cv);
501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("ror  r0, r1, #17", 0x00010000, r0, r1, cv);
502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("ror  r0, r1, #18", 0x00010000, r0, r1, cv);
503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("RORS immediate\n");
506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rors r0, r1, #0", 0x00088000, r0, r1, cv);
508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rors r0, r1, #1", 0x00088000, r0, r1, cv);
509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rors r0, r1, #31", 0x00088000, r0, r1, cv);
510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rors r0, r1, #16", 0x00010000, r0, r1, cv);
511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rors r0, r1, #17", 0x00010000, r0, r1, cv);
512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rors r0, r1, #18", 0x00010000, r0, r1, cv);
513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("shift with barrel shifter\n");
517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 0, r0, r1, r2, r3, cv);
531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 1, r0, r1, r2, r3, cv);
532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 31, r0, r1, r2, r3, cv);
533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 32, r0, r1, r2, r3, cv);
534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 255, r0, r1, r2, r3, cv);
535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 256, r0, r1, r2, r3, cv);
536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 0, r0, r1, r2, r3, cv);
541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 1, r0, r1, r2, r3, cv);
542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 2, r0, r1, r2, r3, cv);
543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 3, r0, r1, r2, r3, cv);
544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 4, r0, r1, r2, r3, cv);
545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 5, r0, r1, r2, r3, cv);
546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv);
550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv);
551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv);
552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv);
553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv);
554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv);
555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv);
556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv);
557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv);
558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv);
576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv);
577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv);
578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv);
579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv);
580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv);
581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv);
582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv);
583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv);
584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("MUL\n");
597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("mul  r0, r1, r2", 0, 0, r0, r1, r2, 0);
598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("mul  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("mul  r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("mul  r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("mul  r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("mul  r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("MULS\n");
606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0);
607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("MLA\n");
615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mla  r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mla  r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mla  r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mla  r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mla  r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mla  r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("MLAS\n");
624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mlas r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mlas r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("MLS\n");
633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mls  r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mls  r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mls  r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mls  r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mls  r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4("mls  r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("UMULL\n");
641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("SMULL\n");
656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("UMLAL\n");
673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("SMLAL\n");
696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("CLZ\n");
718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRY
719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("clz  r0, r1", 0, r0, r1, cv);
720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("clz  r0, r1", 1, r0, r1, cv);
721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("clz  r0, r1", 0x10, r0, r1, cv);
722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("clz  r0, r1", 0xffffffff, r0, r1, cv);
723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTCARRYEND
724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("extend instructions\n");
726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1", 0, r0, r1, 0);
727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1", 1, r0, r1, 0);
728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0);
729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0);
730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxtb r0, r1", 0, r0, r1, 0);
731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxtb r0, r1", 1, r0, r1, 0);
732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0);
733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0);
734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxth r0, r1", 0, r0, r1, 0);
736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxth r0, r1", 1, r0, r1, 0);
737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0);
738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0);
739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxth r0, r1", 0, r0, r1, 0);
740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxth r0, r1", 1, r0, r1, 0);
741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0);
742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0);
743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0);
744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0);
745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0);
746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0);
748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0);
749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0);
750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0);
751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0);
752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0);
754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0);
755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0);
756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0);
757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0);
758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ BFI ------------\n");
760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        /* bfi  rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */
762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0);
767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0);
768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0);
769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0);
771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0);
772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0);
774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0);
775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfi  r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0);
776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ BFC ------------\n");
778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        /* bfi  rDst, #lsb-in-dst, #number-of-bits-to-copy */
780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #0, #11", 0xAAAAAAAA, r0, r1, 0);
781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #1, #11", 0xAAAAAAAA, r0, r1, 0);
782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #2, #11", 0xAAAAAAAA, r0, r1, 0);
783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #19, #11", 0xFFFFFFFF, r0, r1, 0);
785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #20, #11", 0xFFFFFFFF, r0, r1, 0);
786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #21, #11", 0xFFFFFFFF, r0, r1, 0);
787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #0, #32", 0xFFFFFFFF, r0, r1, 0);
789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #1, #31", 0xFFFFFFFF, r0, r1, 0);
790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #29, #3", 0xFFFFFFFF, r0, r1, 0);
792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #30, #2", 0xFFFFFFFF, r0, r1, 0);
793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("bfc  r0, #31, #1", 0xFFFFFFFF, r0, r1, 0);
794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ SBFX ------------\n");
796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        /* sbfx rDst, rSrc, #lsb, #width */
798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #0, #1", 0x00000000, r0, r1, 0);
799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #0, #1", 0x00000001, r0, r1, 0);
800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000000, r0, r1, 0);
801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000001, r0, r1, 0);
802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000002, r0, r1, 0);
803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000003, r0, r1, 0);
804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #0, #2", 0x00000000, r0, r1, 0);
806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #0, #2", 0x00000001, r0, r1, 0);
807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000000, r0, r1, 0);
808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000001, r0, r1, 0);
809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000002, r0, r1, 0);
810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000003, r0, r1, 0);
811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("sbfx  r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ UBFX ------------\n");
822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        /* ubfx rDst, rSrc, #lsb, #width */
824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #0, #1", 0x00000000, r0, r1, 0);
825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #0, #1", 0x00000001, r0, r1, 0);
826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000000, r0, r1, 0);
827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000001, r0, r1, 0);
828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000002, r0, r1, 0);
829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000003, r0, r1, 0);
830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #0, #2", 0x00000000, r0, r1, 0);
832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #0, #2", 0x00000001, r0, r1, 0);
833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000000, r0, r1, 0);
834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000001, r0, r1, 0);
835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000002, r0, r1, 0);
836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000003, r0, r1, 0);
837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST2("ubfx  r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ SMULL{B,T}{B,T} ------------\n");
848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        /* SMULxx rD, rN, rM */
849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000,  r0, r1, r2, 0);
851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002,  r0, r1, r2, 0);
852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff,  r0, r1, r2, 0);
853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff,  r0, r1, r2, 0);
854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff,  r0, r1, r2, 0);
855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ SXTAB ------------\n");
857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ SXTAB16 ------------\n");
876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ UXTAB ------------\n");
895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ UXTAB16 ------------\n");
914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ SXTAH ------------\n");
933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819,
938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819,
940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819,
943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819,
945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819,
947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819,
949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ UXTAH ------------\n");
952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819,
957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819,
959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819,
962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819,
964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819,
966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819,
968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  r0, r1, r2, 0);
969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ PLD/PLDW (begin) ------------\n");
971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        /* These don't have any effect on the architected state, so,
972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown           uh, there's no result values to check.  Just _do_ some of
973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown           them and check Valgrind's instruction decoder eats them up
974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown           without complaining. */
975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        { int alocal;
976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          printf("pld  reg +/- imm12  cases\n");
977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, #128]" : :/*in*/"r"(&alocal) );
978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, #-128]" : :/*in*/"r"(&alocal) );
979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [r15, #-128]" : :/*in*/"r"(&alocal) );
980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          // apparently pldw is v7 only
982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          //__asm__ __volatile__( "pldw [%0, #128]" : :/*in*/"r"(&alocal) );
983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          //__asm__ __volatile__( "pldw [%0, #-128]" : :/*in*/"r"(&alocal) );
984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          //__asm__ __volatile__( "pldw [r15, #128]" : :/*in*/"r"(&alocal) );
985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          printf("pld  reg +/- shifted reg  cases\n");
987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, %1]" : : /*in*/"r"(&alocal), "r"(0) );
988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, %1, LSL #1]" : : /*in*/"r"(&alocal), "r"(0) );
989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, %1, LSR #1]" : : /*in*/"r"(&alocal), "r"(0) );
991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, %1, ASR #1]" : : /*in*/"r"(&alocal), "r"(0) );
992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, %1, ROR #1]" : : /*in*/"r"(&alocal), "r"(0) );
993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          __asm__ __volatile__( "pld [%0, %1, RRX]" : : /*in*/"r"(&alocal), "r"(0) );
994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        }
996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ PLD/PLDW (done) ------------\n");
997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	return 0;
1000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
1001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown////////////////////////////////////////////////////////////
1004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown////////////////////////////////////////////////////////////
1005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown///////////////////////////////////////////////////////////
1006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown///////////////////////////////////////////////////////////
1007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main ( void )
1010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{
1011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // 16 bit instructions
1012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("CMP-16 0x10a\n");
1014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r3, r6", 0,          0,           r6/*fake*/, r3, r6, 0);
1016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r3, r6", 1,          0,           r6/*fake*/, r3, r6, 0);
1017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r3, r6", 0,          1,           r6/*fake*/, r3, r6, 0);
1018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r3, r6", -1,         0,           r6/*fake*/, r3, r6, 0);
1019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r3, r6", 0,          -1,          r6/*fake*/, r3, r6, 0);
1020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r3, r6", 0,          0x80000000,  r6/*fake*/, r3, r6, 0);
1021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r3, r6", 0x80000000, 0,           r6/*fake*/, r3, r6, 0);
1022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("CMN-16 0x10a\n");
1025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmn r3, r6", 0,          0,           r6/*fake*/, r3, r6, 0);
1027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmn r3, r6", 1,          0,           r6/*fake*/, r3, r6, 0);
1028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmn r3, r6", 0,          1,           r6/*fake*/, r3, r6, 0);
1029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmn r3, r6", -1,         0,           r6/*fake*/, r3, r6, 0);
1030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmn r3, r6", 0,          -1,          r6/*fake*/, r3, r6, 0);
1031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmn r3, r6", 0,          0x80000000,  r6/*fake*/, r3, r6, 0);
1032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmn r3, r6", 0x80000000, 0,           r6/*fake*/, r3, r6, 0);
1033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("TST-16 0x108\n");
1036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("tst r3, r6", 0,          0,           r6/*fake*/, r3, r6, cv);
1038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("tst r3, r6", 1,          0,           r6/*fake*/, r3, r6, cv);
1039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("tst r3, r6", 0,          1,           r6/*fake*/, r3, r6, cv);
1040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("tst r3, r6", 1,          1,           r6/*fake*/, r3, r6, cv);
1041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("tst r3, r6", -1,         0,           r6/*fake*/, r3, r6, cv);
1042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("tst r3, r6", 0,          -1,          r6/*fake*/, r3, r6, cv);
1043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("tst r3, r6", -1,         -1,          r6/*fake*/, r3, r6, cv);
1044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("NEGS-16 0x109\n");
1047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("negs r0, r1", 1, r0, r1, 0);
1048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("negs r0, r1", 1, r0, r1, cv);
1050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("negs r0, r1", 0, r0, r1, cv);
1051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("negs r0, r1", 0x80000000, r0, r1, cv);
1052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("negs r0, r1", 0x80000001, r0, r1, cv);
1053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("negs r0, r1", 0xFFFFFFFF, r0, r1, cv);
1054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("negs r0, r1", 0x7FFFFFFF, r0, r1, cv);
1055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("MVNS-16 0x10F\n");
1058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns r0, r1", 1, r0, r1, 0);
1059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns r0, r1", 1, r0, r1, cv);
1061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns r0, r1", 0, r0, r1, cv);
1062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv);
1063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns r0, r1", 0x80000001, r0, r1, cv);
1064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns r0, r1", 0xFFFFFFFF, r0, r1, cv);
1065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns r0, r1", 0x7FFFFFFF, r0, r1, cv);
1066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ORRS-16 0x10C\n");
1069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("orrs r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
1071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("orrs r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
1072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("orrs r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
1073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("orrs r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
1074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("orrs r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
1075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("orrs r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
1076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("orrs r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
1077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ANDS-16 0x100\n");
1080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("ands r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
1082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("ands r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
1083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("ands r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
1084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("ands r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
1085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("ands r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
1086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("ands r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
1087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("ands r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
1088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("EORS-16 0x101\n");
1091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("eors r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
1093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("eors r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
1094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("eors r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
1095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("eors r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
1096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("eors r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
1097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("eors r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
1098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("eors r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
1099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("MULS-16 0x10d\n");
1102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("muls r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
1104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("muls r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
1105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("muls r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
1106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("muls r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
1107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("muls r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
1108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("muls r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
1109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("muls r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
1110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("BICS-16 0x10E\n");
1113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("bics r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
1115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("bics r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
1116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("bics r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
1117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("bics r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
1118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("bics r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
1119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("bics r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
1120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("bics r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
1121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ADCS-16 0x105\n");
1124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
1126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
1127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
1128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
1129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
1130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
1131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
1132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("SBCS-16 0x100\n");
1135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("sbcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
1137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
1138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("sbcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
1139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
1140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("sbcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
1141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("sbcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
1142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("sbcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
1143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("UXTB-16 0x2CB\n");
1146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("uxtb r1, r2", 0x31415927, r1, r2, cv);
1148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("uxtb r1, r2", 0x31415997, r1, r2, cv);
1149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("SXTB-16 0x2C9\n");
1152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sxtb r1, r2", 0x31415927, r1, r2, cv);
1154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sxtb r1, r2", 0x31415997, r1, r2, cv);
1155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("UXTH-16 0x2CA\n");
1158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("uxth r1, r2", 0x31415927, r1, r2, cv);
1160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("uxth r1, r2", 0x31419597, r1, r2, cv);
1161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("SXTH-16 0x2C8\n");
1164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sxth r1, r2", 0x31415927, r1, r2, cv);
1166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sxth r1, r2", 0x31419597, r1, r2, cv);
1167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("LSLS-16 0x102\n");
1170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
1172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000001, r1, r2, cv);
1173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
1174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x0000000F, r1, r2, cv);
1175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
1176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x0000001F, r1, r2, cv);
1177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
1178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000021, r1, r2, cv);
1179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("LSRS-16 0x103\n");
1182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
1184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000001, r1, r2, cv);
1185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
1186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000000F, r1, r2, cv);
1187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
1188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000001F, r1, r2, cv);
1189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
1190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000021, r1, r2, cv);
1191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ASRS-16 0x104\n");
1194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
1196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x91415927, 0x00000001, r1, r2, cv);
1197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
1198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x91415927, 0x0000000F, r1, r2, cv);
1199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
1200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x91415927, 0x0000001F, r1, r2, cv);
1201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
1202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("asrs r1, r2", 0x91415927, 0x00000021, r1, r2, cv);
1203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("RORS-16 0x107\n");
1206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
1208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x00000001, r1, r2, cv);
1209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
1210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x0000000F, r1, r2, cv);
1211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
1212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x0000001F, r1, r2, cv);
1213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
1214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("rors r1, r2", 0x31415927, 0x00000021, r1, r2, cv);
1215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ADD(HI)-16\n");
1218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("add r5, r12", 0x31415927, 0x12345678, r5, r12, cv);
1220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("add r4, r9 ", 0x31415927, 0x12345678, r4, r9,  cv);
1221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("CMP(HI)-16 0x10a\n");
1224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r5, r12", 0,          0,           r12/*fake*/, r5, r12, 0);
1226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r5, r12", 1,          0,           r12/*fake*/, r5, r12, 0);
1227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r5, r12", 0,          1,           r12/*fake*/, r5, r12, 0);
1228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r5, r12", -1,         0,           r12/*fake*/, r5, r12, 0);
1229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r5, r12", 0,          -1,          r12/*fake*/, r5, r12, 0);
1230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r5, r12", 0,          0x80000000,  r12/*fake*/, r5, r12, 0);
1231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("cmp r5, r12", 0x80000000, 0,           r12/*fake*/, r5, r12, 0);
1232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("MOV(HI)-16\n");
1235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("mov r5, r12", 0x31415927, 0x12345678, r5, r12, cv);
1237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("mov r4, r9 ", 0x31415927, 0x12345678, r4, r9,  cv);
1238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ADDS-16 Rd, Rn, #imm3\n");
1241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adds r1, r2, #1", 0x31415927, 0x27181728, r1, r2, cv);
1243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("adds r1, r2, #7", 0x31415927, 0x97181728, r1, r2, cv);
1244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ADDS-16 Rd, Rn, Rm\n");
1247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv);
1249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv);
1250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0,          0,          r1, r2, r3, cv);
1251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 1,          0,          r1, r2, r3, cv);
1252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0,          1,          r1, r2, r3, cv);
1253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", -1,         0,          r1, r2, r3, cv);
1254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0,          -1,         r1, r2, r3, cv);
1255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0,          0x80000000, r1, r2, r3, cv);
1256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0x80000000, 0,          r1, r2, r3, cv);
1257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv);
1258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
1260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
1261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("SUBS-16 Rd, Rn, Rm\n");
1264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv);
1266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv);
1267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0,          0,          r1, r2, r3, cv);
1268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 1,          0,          r1, r2, r3, cv);
1269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0,          1,          r1, r2, r3, cv);
1270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", -1,         0,          r1, r2, r3, cv);
1271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0,          -1,         r1, r2, r3, cv);
1272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0,          0x80000000, r1, r2, r3, cv);
1273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0x80000000, 0,          r1, r2, r3, cv);
1274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv);
1275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
1277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
1278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ADDS-16 Rn, #uimm8\n");
1281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("adds r1, #0  ", 0x31415927, r1, cv);
1283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("adds r1, #255", 0x31415927, r1, cv);
1284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("adds r1, #0  ", 0x91415927, r1, cv);
1285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("adds r1, #255", 0x91415927, r1, cv);
1286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("SUBS-16 Rn, #uimm8\n");
1289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("subs r1, #0  ", 0x31415927, r1, cv);
1291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("subs r1, #255", 0x31415927, r1, cv);
1292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("subs r1, #0  ", 0x91415927, r1, cv);
1293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("subs r1, #255", 0x91415927, r1, cv);
1294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("CMP-16 Rn, #uimm8\n");
1297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp r1, #0x80  ", 0x00000080, r1, cv);
1299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp r1, #0x7f  ", 0x00000080, r1, cv);
1300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp r1, #0x81  ", 0x00000080, r1, cv);
1301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp r1, #0x80  ", 0xffffff80, r1, cv);
1302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp r1, #0x7f  ", 0xffffff80, r1, cv);
1303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp r1, #0x81  ", 0xffffff80, r1, cv);
1304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp r1, #0x01  ", 0x80000000, r1, cv);
1305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("MOVS-16 Rn, #uimm8\n");
1308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("movs r1, #0   ", 0x31415927, r1, cv);
1310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("movs r1, #0x7f", 0x31415927, r1, cv);
1311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("movs r1, #0x80", 0x31415927, r1, cv);
1312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("movs r1, #0x81", 0x31415927, r1, cv);
1313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("movs r1, #0xff", 0x31415927, r1, cv);
1314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("LSLS-16 Rd, Rm, imm5\n");
1317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls r1, r2, #0   ", 0x31415927, r1, r2, cv);
1319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls r1, r2, #1   ", 0x31415927, r1, r2, cv);
1320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls r1, r2, #2   ", 0x31415927, r1, r2, cv);
1321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls r1, r2, #0xF ", 0x31415927, r1, r2, cv);
1322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls r1, r2, #0x10", 0x31415927, r1, r2, cv);
1323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls r1, r2, #0x1F", 0x31415927, r1, r2, cv);
1324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("LSRS-16 Rd, Rm, imm5\n");
1327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs r1, r2, #0   ", 0x31415927, r1, r2, cv);
1329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs r1, r2, #1   ", 0x31415927, r1, r2, cv);
1330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs r1, r2, #2   ", 0x31415927, r1, r2, cv);
1331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs r1, r2, #0xF ", 0x31415927, r1, r2, cv);
1332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs r1, r2, #0x10", 0x31415927, r1, r2, cv);
1333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs r1, r2, #0x1F", 0x31415927, r1, r2, cv);
1334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ASRS-16 Rd, Rm, imm5\n");
1337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs r1, r2, #0   ", 0x31415927, r1, r2, cv);
1339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs r1, r2, #1   ", 0x91415927, r1, r2, cv);
1340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs r1, r2, #2   ", 0x31415927, r1, r2, cv);
1341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs r1, r2, #0xF ", 0x91415927, r1, r2, cv);
1342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs r1, r2, #0x10", 0x31415927, r1, r2, cv);
1343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs r1, r2, #0x1F", 0x91415927, r1, r2, cv);
1344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // 32 bit instructions
1347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) ADD{S}.W Rd, Rn, #constT [allegedly]\n");
1349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #255       ", 0,          r1, r2, cv);
1353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0         ", 1,          r1, r2, cv);
1354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #1         ", 0,          r1, r2, cv);
1355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0         ", -1,         r1, r2, cv);
1356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #-1        ", 0,          r1, r2, cv);
1357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adds.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #255       ", 0,          r1, r2, cv);
1366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0         ", 1,          r1, r2, cv);
1367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #1         ", 0,          r1, r2, cv);
1368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0         ", -1,         r1, r2, cv);
1369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("add.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1378b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T4) ADDW Rd, Rn, #uimm12\n");
1379b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
1380b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("addw r1, r2, #0x000", 0x31415927, r1, r2, cv);
1381b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("addw r1, r2, #0x000", 0x91415927, r1, r2, cv);
1382b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("addw r1, r2, #0xABC", 0x31415927, r1, r2, cv);
1383b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("addw r1, r2, #0xABC", 0x91415927, r1, r2, cv);
1384b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("addw r1, r2, #0xFFF", 0x31415927, r1, r2, cv);
1385b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("addw r1, r2, #0xFFF", 0x91415927, r1, r2, cv);
1386b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
1387b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
1388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) CMP.W Rn, #constT [allegedly]\n");
1389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0xffffffff", 0x31415927, r1, cv);
1391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0xee00ee00", 0x31415927, r1, cv);
1392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #255       ", 0,          r1, cv);
1393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0         ", 1,          r1, cv);
1394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #1         ", 0,          r1, cv);
1395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0         ", -1,         r1, cv);
1396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #-1        ", 0,          r1, cv);
1397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0x80000000", 0,          r1, cv);
1398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0         ", 0x80000000, r1, cv);
1399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0x80000000", 0x80000000, r1, cv);
1400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0x80000000", 0x7fffffff, r1, cv);
1401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0xff000000", 0x80000000, r1, cv);
1402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmp.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
1403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) CMN.W Rn, #constT [allegedly]\n");
1406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0xffffffff", 0x31415927, r1, cv);
1408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0xee00ee00", 0x31415927, r1, cv);
1409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #255       ", 0,          r1, cv);
1410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0         ", 1,          r1, cv);
1411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #1         ", 0,          r1, cv);
1412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0         ", -1,         r1, cv);
1413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #-1        ", 0,          r1, cv);
1414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0x80000000", 0,          r1, cv);
1415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0         ", 0x80000000, r1, cv);
1416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0x80000000", 0x80000000, r1, cv);
1417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0x80000000", 0x7fffffff, r1, cv);
1418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0xff000000", 0x80000000, r1, cv);
1419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("cmn.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
1420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) TST.W Rn, #constT [allegedly]\n");
1423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0xffffffff", 0x31415927, r1, cv);
1425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0xee00ee00", 0x31415927, r1, cv);
1426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #255       ", 0,          r1, cv);
1427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0         ", 1,          r1, cv);
1428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #1         ", 0,          r1, cv);
1429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0         ", -1,         r1, cv);
1430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #-1        ", 0,          r1, cv);
1431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0x80000000", 0,          r1, cv);
1432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0         ", 0x80000000, r1, cv);
1433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0x80000000", 0x80000000, r1, cv);
1434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0x80000000", 0x7fffffff, r1, cv);
1435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0xff000000", 0x80000000, r1, cv);
1436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("tst.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
1437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) TEQ.W Rn, #constT [allegedly]\n");
1440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0xffffffff", 0x31415927, r1, cv);
1442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0xee00ee00", 0x31415927, r1, cv);
1443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #255       ", 0,          r1, cv);
1444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0         ", 1,          r1, cv);
1445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #1         ", 0,          r1, cv);
1446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0         ", -1,         r1, cv);
1447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #-1        ", 0,          r1, cv);
1448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0x80000000", 0,          r1, cv);
1449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0         ", 0x80000000, r1, cv);
1450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0x80000000", 0x80000000, r1, cv);
1451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0x80000000", 0x7fffffff, r1, cv);
1452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0xff000000", 0x80000000, r1, cv);
1453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1x("teq.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
1454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) SUB{S}.W Rd, Rn, #constT [allegedly]\n");
1457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #255       ", 0,          r1, r2, cv);
1461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0         ", 1,          r1, r2, cv);
1462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #1         ", 0,          r1, r2, cv);
1463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0         ", -1,         r1, r2, cv);
1464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #-1        ", 0,          r1, r2, cv);
1465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("subs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #255       ", 0,          r1, r2, cv);
1474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0         ", 1,          r1, r2, cv);
1475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #1         ", 0,          r1, r2, cv);
1476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0         ", -1,         r1, r2, cv);
1477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sub.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1486b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T4) SUBW Rd, Rn, #uimm12\n");
1487b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
1488b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subw r1, r2, #0x000", 0x31415927, r1, r2, cv);
1489b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subw r1, r2, #0x000", 0x91415927, r1, r2, cv);
1490b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subw r1, r2, #0xABC", 0x31415927, r1, r2, cv);
1491b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subw r1, r2, #0xABC", 0x91415927, r1, r2, cv);
1492b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subw r1, r2, #0xFFF", 0x31415927, r1, r2, cv);
1493b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subw r1, r2, #0xFFF", 0x91415927, r1, r2, cv);
1494b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
1495b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
1496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) RSB{S}.W Rd, Rn, #constT [allegedly]\n");
1497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #255       ", 0,          r1, r2, cv);
1501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0         ", 1,          r1, r2, cv);
1502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #1         ", 0,          r1, r2, cv);
1503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0         ", -1,         r1, r2, cv);
1504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #-1        ", 0,          r1, r2, cv);
1505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsbs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #255       ", 0,          r1, r2, cv);
1514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0         ", 1,          r1, r2, cv);
1515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #1         ", 0,          r1, r2, cv);
1516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0         ", -1,         r1, r2, cv);
1517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rsb.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) ADC{S}.W Rd, Rn, #constT [allegedly]\n");
1527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #255       ", 0,          r1, r2, cv);
1531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0         ", 1,          r1, r2, cv);
1532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #1         ", 0,          r1, r2, cv);
1533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0         ", -1,         r1, r2, cv);
1534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #-1        ", 0,          r1, r2, cv);
1535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #255       ", 0,          r1, r2, cv);
1544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0         ", 1,          r1, r2, cv);
1545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #1         ", 0,          r1, r2, cv);
1546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0         ", -1,         r1, r2, cv);
1547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("adc.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) SBC{S}.W Rd, Rn, #constT [allegedly]\n");
1557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #255       ", 0,          r1, r2, cv);
1561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0         ", 1,          r1, r2, cv);
1562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #1         ", 0,          r1, r2, cv);
1563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0         ", -1,         r1, r2, cv);
1564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #-1        ", 0,          r1, r2, cv);
1565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #255       ", 0,          r1, r2, cv);
1574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0         ", 1,          r1, r2, cv);
1575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #1         ", 0,          r1, r2, cv);
1576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0         ", -1,         r1, r2, cv);
1577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("sbc.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) AND{S}.W Rd, Rn, #constT [allegedly]\n");
1587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #255       ", 0,          r1, r2, cv);
1591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0         ", 1,          r1, r2, cv);
1592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #1         ", 0,          r1, r2, cv);
1593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0         ", -1,         r1, r2, cv);
1594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #-1        ", 0,          r1, r2, cv);
1595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ands.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #255       ", 0,          r1, r2, cv);
1604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0         ", 1,          r1, r2, cv);
1605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #1         ", 0,          r1, r2, cv);
1606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0         ", -1,         r1, r2, cv);
1607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("and.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) ORR{S}.W Rd, Rn, #constT [allegedly]\n");
1617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #255       ", 0,          r1, r2, cv);
1621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0         ", 1,          r1, r2, cv);
1622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #1         ", 0,          r1, r2, cv);
1623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0         ", -1,         r1, r2, cv);
1624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #-1        ", 0,          r1, r2, cv);
1625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orrs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #255       ", 0,          r1, r2, cv);
1634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0         ", 1,          r1, r2, cv);
1635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #1         ", 0,          r1, r2, cv);
1636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0         ", -1,         r1, r2, cv);
1637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orr.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) EOR{S}.W Rd, Rn, #constT [allegedly]\n");
1647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #255       ", 0,          r1, r2, cv);
1651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0         ", 1,          r1, r2, cv);
1652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #1         ", 0,          r1, r2, cv);
1653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0         ", -1,         r1, r2, cv);
1654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #-1        ", 0,          r1, r2, cv);
1655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eors.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #255       ", 0,          r1, r2, cv);
1664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0         ", 1,          r1, r2, cv);
1665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #1         ", 0,          r1, r2, cv);
1666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0         ", -1,         r1, r2, cv);
1667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("eor.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) BIC{S}.W Rd, Rn, #constT [allegedly]\n");
1677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #255       ", 0,          r1, r2, cv);
1681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0         ", 1,          r1, r2, cv);
1682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #1         ", 0,          r1, r2, cv);
1683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0         ", -1,         r1, r2, cv);
1684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #-1        ", 0,          r1, r2, cv);
1685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bics.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #255       ", 0,          r1, r2, cv);
1694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0         ", 1,          r1, r2, cv);
1695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #1         ", 0,          r1, r2, cv);
1696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0         ", -1,         r1, r2, cv);
1697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("bic.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T3) ORN{S}.W Rd, Rn, #constT [allegedly]\n");
1707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #255       ", 0,          r1, r2, cv);
1711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0         ", 1,          r1, r2, cv);
1712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #1         ", 0,          r1, r2, cv);
1713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0         ", -1,         r1, r2, cv);
1714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #-1        ", 0,          r1, r2, cv);
1715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0x80000000", 0,          r1, r2, cv);
1716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
1717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orns.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
1722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
1723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #255       ", 0,          r1, r2, cv);
1724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0         ", 1,          r1, r2, cv);
1725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #1         ", 0,          r1, r2, cv);
1726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0         ", -1,         r1, r2, cv);
1727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #-1        ", 0,          r1, r2, cv);
1728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
1729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
1730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
1731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
1732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
1733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("orn.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
1734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
1735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ADD{S}.W Rd, Rn, Rm, {shift}\n");
1737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
1738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
1741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
1742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
1745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
1746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
1749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
1750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
1753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
1754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
1757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
1758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
1760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
1761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
1762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
1765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
1766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
1769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
1770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
1773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
1774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
1777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
1778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
1781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
1782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
1784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
1785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
1786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
1787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
1788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
1789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
1790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
1791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
1792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
1793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
1794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
1795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
1796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
1797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
1798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
1799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
1800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
1801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
1802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
1803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
1804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
1805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
1806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
1807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
1808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
1809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
1810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
1811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
1812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
1813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
1814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
1815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
1816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
1817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
1818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
1819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
1820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
1821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
1822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
1823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
1824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
1825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
1826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
1827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
1828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
1829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
1830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
1831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
1832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
1833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
1834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
1835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
1836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
1837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
1838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
1839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
1840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
1841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
1842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
1843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
1844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
1845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
1846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
1847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
1848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
1849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
1850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
1851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
1852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
1853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
1854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
1855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
1856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
1857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
1858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
1859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
1860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
1861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
1862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
1863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
1864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
1865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
1866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
1867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
1868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
1869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
1870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
1871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
1872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
1873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
1874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
1875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
1876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
1877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
1878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
1879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
1880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
1881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
1882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
1883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
1884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
1885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
1886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
1887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
1888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
1889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
1890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
1891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
1892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
1893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
1894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
1895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
1896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
1897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
1898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
1899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
1900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
1901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
1902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
1903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
1904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
1905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
1906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
1907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
1908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
1909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
1910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
1911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
1912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
1913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
1914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
1915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
1916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
1917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
1918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
1919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
1920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
1921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
1922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
1923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
1924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
1925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
1926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
1927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
1928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
1929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
1930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
1931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
1932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
1933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
1934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
1935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
1936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
1937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
1938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
1939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
1940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
1941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
1942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
1943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
1944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
1945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
1946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
1947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
1948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
1949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
1950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
1951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
1952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
1953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
1954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
1957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
1958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
1961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
1962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
1965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
1966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
1969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
1970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
1973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
1974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
1976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
1977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
1978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
1999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("add.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
2051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("SUBB{S}.W Rd, Rn, Rm, {shift}\n");
2053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
2054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
2103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
2104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
2105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
2106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
2107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
2108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
2109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
2110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
2111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
2112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
2113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
2114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
2115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
2116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
2117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
2118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
2119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
2120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
2121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
2122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
2123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
2124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
2125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
2126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
2127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
2128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
2129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
2130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
2131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
2132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
2133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
2134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
2135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
2136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
2137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
2138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
2139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
2140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
2141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
2142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
2143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
2144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
2145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
2146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
2147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
2148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
2149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
2150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
2151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
2152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
2153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
2154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
2155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
2156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
2157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
2158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
2159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
2160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
2161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
2162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
2163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
2164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
2165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
2166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
2167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
2168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
2169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
2170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
2171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
2172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
2173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
2174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
2175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
2176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
2177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
2178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
2179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
2180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
2181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
2182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
2183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
2184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
2185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
2186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
2187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
2188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
2189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
2190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
2191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
2192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
2193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
2194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
2195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
2196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
2197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
2198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
2199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
2200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
2201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
2202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
2203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
2204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
2205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
2206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
2207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
2208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
2209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
2210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
2211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
2212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
2213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
2214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
2215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
2216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
2217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
2218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
2219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
2220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
2221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
2222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
2223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
2224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
2225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
2226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
2229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
2230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
2233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
2234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
2235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
2236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
2237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
2238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
2241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
2242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
2245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
2246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
2249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
2250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
2253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
2254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
2257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
2258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
2261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
2262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
2265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
2266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
2269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
2270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
2367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("RSB{S}.W Rd, Rn, Rm, {shift}\n");
2369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
2370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
2419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
2420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
2421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
2422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
2423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
2424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
2425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
2426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
2427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
2428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
2429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
2430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
2431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
2432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
2433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
2434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
2435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
2436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
2437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
2438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
2439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
2440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
2441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
2442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
2443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
2444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
2445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
2446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
2447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
2448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
2449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
2450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
2451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
2452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
2453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
2454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
2455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
2456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
2457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
2458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
2459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
2460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
2461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
2462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
2463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
2464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
2465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
2466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
2467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
2468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
2469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
2470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
2471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
2472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
2473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
2474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
2475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
2476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
2477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
2478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
2479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
2480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
2481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
2482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
2483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
2484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
2485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
2486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
2487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
2488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
2489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
2490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
2491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
2492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
2493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
2494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
2495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
2496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
2497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
2498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
2499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
2500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
2501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
2502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
2503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
2504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
2505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
2506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
2507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
2508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
2509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
2510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
2511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
2512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
2513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
2514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
2515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
2516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
2517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
2518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
2519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
2520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
2521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
2522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
2523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
2524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
2525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
2526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
2527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
2528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
2529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
2530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
2531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
2532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
2533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
2534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
2535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
2536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
2537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
2538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
2539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
2540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
2541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
2542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
2545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
2546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
2549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
2550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
2551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
2552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
2553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
2554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
2557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
2558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
2561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
2562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
2565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
2566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
2569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
2570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
2573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
2574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
2577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
2578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
2581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
2582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
2585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
2586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
2683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ADC{S}.W Rd, Rn, Rm, {shift}\n");
2685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
2686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
2708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
2709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
2710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
2732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
2733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
2734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
2735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
2736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
2737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
2738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
2739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
2740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
2741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
2742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
2743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
2744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
2745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
2746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
2747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
2748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
2749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
2750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
2751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
2752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
2753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
2754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
2755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
2756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
2757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
2758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
2759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
2760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
2761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
2762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
2763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
2764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
2765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
2766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
2767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
2768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
2769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
2770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
2771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
2772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
2773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
2774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
2775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
2776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
2777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
2778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
2779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
2780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
2781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
2782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
2783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
2784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
2785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
2786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
2787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
2788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
2789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
2790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
2791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
2792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
2793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
2794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
2795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
2796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
2797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
2798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
2799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
2800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
2801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
2802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
2803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
2804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
2805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
2806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
2807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
2808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
2809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
2810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
2811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
2812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
2813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
2814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
2815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
2816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
2817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
2818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
2819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
2820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
2821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
2822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
2823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
2824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
2825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
2826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
2827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
2828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
2829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
2830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
2831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
2832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
2833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
2834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
2835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
2836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
2837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
2838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
2839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
2840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
2841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
2842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
2843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
2844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
2845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
2846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
2847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
2848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
2849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
2850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
2851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
2852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
2853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
2854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
2855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
2856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
2857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
2858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
2861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
2862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
2865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
2866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
2867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
2868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
2869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
2870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
2873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
2874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
2875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
2876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
2877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
2878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
2881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
2882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
2885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
2886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
2889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
2890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
2893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
2894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
2897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
2898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
2899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
2900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
2901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
2902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
2924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
2925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
2926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
2950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
2974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
2998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
2999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("SBC{S}.W Rd, Rn, Rm, {shift}\n");
3001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
3002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
3051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
3052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
3053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
3054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
3055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
3056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
3057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
3058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
3059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
3060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
3061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
3062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
3063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
3064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
3065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
3066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
3067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
3068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
3069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
3070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
3071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
3072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
3073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
3074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
3075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
3076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
3077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
3078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
3079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
3080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
3081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
3082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
3083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
3084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
3085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
3086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
3087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
3088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
3089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
3090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
3091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
3092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
3093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
3094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
3095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
3096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
3097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
3098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
3099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
3100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
3101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
3102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
3103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
3104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
3105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
3106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
3107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
3108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
3109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
3110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
3111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
3112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
3113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
3114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
3115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
3116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
3117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
3118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
3119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
3120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
3121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
3122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
3123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
3124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
3125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
3126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
3127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
3128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
3129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
3130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
3131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
3132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
3133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
3134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
3135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
3136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
3137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
3138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
3139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
3140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
3141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
3142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
3143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
3144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
3145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
3146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
3147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
3148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
3149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
3150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
3151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
3152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
3153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
3154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
3155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
3156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
3157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
3158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
3159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
3160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
3161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
3162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
3163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
3164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
3165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
3166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
3167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
3168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
3169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
3170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
3171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
3172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
3173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
3174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
3177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
3178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
3181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
3182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
3183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
3184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
3185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
3186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
3189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
3190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
3193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
3194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
3197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
3198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
3201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
3202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
3205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
3206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
3209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
3210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
3213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
3214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
3217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
3218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
3315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
3317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("XXX{S}.W Rd, Rn, Rm, {shift}\n");
3318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
3319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
3368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
3369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
3370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
3371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
3372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
3373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
3374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
3375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
3376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
3377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
3378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
3379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
3380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
3381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
3382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
3383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
3384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
3385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
3386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
3387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
3388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
3389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
3390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
3391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
3392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
3393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
3394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
3395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
3396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
3397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
3398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
3399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
3400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
3401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
3402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
3403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
3404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
3405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
3406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
3407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
3408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
3409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
3410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
3411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
3412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
3413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
3414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
3415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
3416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
3417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
3418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
3419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
3420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
3421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
3422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
3423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
3424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
3425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
3426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
3427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
3428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
3429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
3430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
3431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
3432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
3433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
3434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
3435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
3436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
3437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
3438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
3439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
3440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
3441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
3442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
3443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
3444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
3445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
3446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
3447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
3448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
3449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
3450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
3451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
3452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
3453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
3454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
3455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
3456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
3457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
3458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
3459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
3460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
3461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
3462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
3463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
3464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
3465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
3466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
3467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
3468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
3469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
3470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
3471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
3472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
3473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
3474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
3475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
3476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
3477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
3478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
3479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
3480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
3481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
3482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
3483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
3484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
3485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
3486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
3487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
3488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
3489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
3490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
3491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
3494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
3495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
3498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
3499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
3500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
3501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
3502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
3503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
3506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
3507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
3510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
3511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
3514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
3515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
3518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
3519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
3522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
3523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
3526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
3527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
3530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
3531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
3534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
3535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
3632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
3633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("AND{S}.W Rd, Rn, Rm, {shift}\n");
3635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
3636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
3685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
3686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
3687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
3688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
3689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
3690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
3691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
3692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
3693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
3694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
3695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
3696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
3697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
3698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
3699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
3700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
3701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
3702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
3703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
3704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
3705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
3706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
3707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
3708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
3709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
3710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
3711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
3712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
3713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
3714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
3715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
3716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
3717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
3718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
3719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
3720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
3721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
3722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
3723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
3724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
3725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
3726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
3727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
3728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
3729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
3730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
3731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
3732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
3733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
3734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
3735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
3736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
3737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
3738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
3739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
3740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
3741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
3742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
3743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
3744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
3745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
3746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
3747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
3748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
3749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
3750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
3751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
3752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
3753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
3754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
3755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
3756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
3757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
3758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
3759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
3760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
3761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
3762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
3763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
3764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
3765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
3766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
3767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
3768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
3769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
3770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
3771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
3772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
3773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
3774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
3775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
3776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
3777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
3778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
3779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
3780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
3781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
3782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
3783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
3784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
3785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
3786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
3787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
3788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
3789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
3790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
3791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
3792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
3793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
3794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
3795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
3796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
3797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
3798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
3799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
3800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
3801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
3802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
3803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
3804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
3805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
3806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
3807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
3808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
3811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
3812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
3815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
3816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
3817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
3818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
3819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
3820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
3823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
3824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
3825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
3826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
3827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
3828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
3831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
3832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
3835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
3836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
3839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
3840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
3843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
3844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
3847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
3848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
3849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
3850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
3851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
3852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
3874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
3875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
3876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
3900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
3924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("and.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
3948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
3949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ORR{S}.W Rd, Rn, Rm, {shift}\n");
3951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
3952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
3974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
3975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
3976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
3996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
3998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
3999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
4049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
4050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
4051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
4052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
4053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
4054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
4055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
4056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
4057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
4058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
4059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
4060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
4061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
4062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
4063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
4064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
4065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
4066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
4067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
4068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
4069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
4070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
4071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
4072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
4073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
4074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
4075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
4076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
4077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
4078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
4079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
4080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
4081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
4082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
4083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
4084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
4085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
4086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
4087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
4088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
4089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
4090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
4091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
4092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
4093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
4094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
4095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
4096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
4097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
4098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
4099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
4100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
4101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
4102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
4103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
4104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
4105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
4106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
4107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
4108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
4109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
4110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
4111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
4112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
4113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
4114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
4115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
4116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
4117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
4118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
4119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
4120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
4121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
4122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
4123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
4124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
4127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
4128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
4131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
4132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
4133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
4134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
4135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
4136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
4139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
4140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
4143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
4144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
4147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
4148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
4151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
4152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
4155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
4156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
4159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
4160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
4163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
4164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
4167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
4168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
4265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
4266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("EOR{S}.W Rd, Rn, Rm, {shift}\n");
4267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
4268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
4365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
4366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
4367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
4368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
4369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
4370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
4371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
4372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
4373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
4374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
4375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
4376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
4377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
4378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
4379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
4380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
4381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
4382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
4383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
4384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
4385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
4386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
4387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
4388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
4389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
4390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
4391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
4392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
4393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
4394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
4395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
4396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
4397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
4398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
4399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
4400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
4401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
4402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
4403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
4404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
4405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
4406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
4407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
4408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
4409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
4410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
4411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
4412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
4413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
4414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
4415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
4416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
4417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
4418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
4419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
4420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
4421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
4422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
4423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
4424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
4425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
4426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
4427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
4428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
4429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
4430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
4431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
4432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
4433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
4434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
4435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
4436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
4437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
4438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
4439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
4440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
4443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
4444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
4447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
4448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
4449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
4450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
4451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
4452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
4455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
4456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
4459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
4460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
4463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
4464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
4467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
4468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
4471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
4472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
4475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
4476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
4479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
4480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
4483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
4484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
4581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
4582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("BIC{S}.W Rd, Rn, Rm, {shift}\n");
4583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
4584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
4681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
4682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
4683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
4684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
4685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
4686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
4687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
4688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
4689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
4690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
4691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
4692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
4693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
4694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
4695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
4696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
4697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
4698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
4699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
4700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
4701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
4702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
4703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
4704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
4705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
4706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
4707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
4708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
4709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
4710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
4711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
4712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
4713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
4714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
4715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
4716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
4717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
4718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
4719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
4720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
4721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
4722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
4723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
4724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
4725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
4726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
4727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
4728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
4729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
4730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
4731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
4732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
4733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
4734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
4735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
4736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
4737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
4738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
4739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
4740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
4741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
4742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
4743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
4744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
4745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
4746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
4747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
4748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
4749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
4750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
4751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
4752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
4753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
4754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
4755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
4756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
4759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
4760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
4763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
4764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
4765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
4766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
4767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
4768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
4771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
4772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
4773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
4774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
4775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
4776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
4779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
4780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
4783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
4784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
4787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
4788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
4791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
4792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
4795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
4796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
4797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
4798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
4799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
4800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
4822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
4823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
4824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
4848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
4872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
4896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
4897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
4898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("ORN{S}.W Rd, Rn, Rm, {shift}\n");
4899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
4900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
4922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
4923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
4924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
4946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
4947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
4948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
4961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
4962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
4963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
4964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
4965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
4966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
4967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
4968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
4969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
4970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
4971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
4972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
4985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
4986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
4987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
4988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
4989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
4990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
4991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
4992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
4993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
4994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
4995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
4996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
4997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
4998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
4999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
5000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
5001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
5002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
5003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
5004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
5005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
5006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
5007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
5008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
5009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
5010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
5011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
5012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
5013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
5014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
5015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
5016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
5017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
5018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
5019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
5020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
5021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
5022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
5023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
5024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
5025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
5026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
5027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
5028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
5029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
5030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
5031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
5032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
5033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
5034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
5035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
5036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
5037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
5038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
5039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
5040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
5041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
5042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
5043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
5044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
5045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
5046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
5047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
5048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
5049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
5050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
5051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
5052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
5053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
5054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
5055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
5056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
5057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
5058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
5059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
5060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
5061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
5062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
5063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
5064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
5065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
5066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
5067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
5068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
5069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
5070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
5071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
5072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
5073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
5074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
5075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
5076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
5077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
5078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
5079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
5080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
5081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
5082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
5083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
5084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
5085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
5086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
5087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
5088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
5089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
5090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
5091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
5092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
5093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
5094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
5095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
5096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
5097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
5098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
5099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
5100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
5101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
5102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
5103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
5104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
5105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
5106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
5107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
5108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
5109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
5110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
5111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
5112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
5113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
5114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
5115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
5116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
5119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
5120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
5123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
5124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
5127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
5128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
5131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
5132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
5135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
5136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
5138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
5139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
5140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
5164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
5188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("orn.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
5212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) LSL{S}.W Rd, Rn, Rm\n");
5215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
5218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
5220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
5222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
5224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
5226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
5228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
5230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
5232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) LSR{S}.W Rd, Rn, Rm\n");
5235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
5238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
5240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
5242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
5244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
5246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
5248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
5250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
5252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) ASR{S}.W Rd, Rn, Rm\n");
5255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv);
5258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv);
5260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv);
5262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv);
5264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv);
5266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv);
5268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv);
5270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv);
5272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) ROR{S}.W Rd, Rn, Rm\n");
5275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
5278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
5280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
5282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
5284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
5285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
5286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
5287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
5288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
5289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
5290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
5291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
5292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("MVN{S}.W Rd, Rn, shift,   and MOV{S}.W ditto\n");
5295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
5299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
5300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
5303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
5304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
5307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
5308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
5311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
5312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
5315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
5316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
5319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
5320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
5323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
5324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
5325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
5326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
5327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
5328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv);
5329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv);
5330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #15", 0x7fffffff, r1, r2, cv);
5331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #31", 0x7fffffff, r1, r2, cv);
5332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv);
5333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv);
5334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #15", 0x7fffffff, r1, r2, cv);
5335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #31", 0x7fffffff, r1, r2, cv);
5336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv);
5337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv);
5338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #15", 0x7fffffff, r1, r2, cv);
5339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #31", 0x7fffffff, r1, r2, cv);
5340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv);
5341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv);
5342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #15", 0x7fffffff, r1, r2, cv);
5343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #31", 0x7fffffff, r1, r2, cv);
5344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv);
5345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv);
5346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #15", 0x7fffffff, r1, r2, cv);
5347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #31", 0x7fffffff, r1, r2, cv);
5348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv);
5349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv);
5350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #15", 0x7fffffff, r1, r2, cv);
5351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #31", 0x7fffffff, r1, r2, cv);
5352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv);
5353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv);
5354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #15", 0x7fffffff, r1, r2, cv);
5355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #31", 0x7fffffff, r1, r2, cv);
5356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv);
5357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv);
5358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #15", 0x7fffffff, r1, r2, cv);
5359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #31", 0x7fffffff, r1, r2, cv);
5360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
5361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
5362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #15", 0x00000000, r1, r2, cv);
5363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #31", 0x00000000, r1, r2, cv);
5364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
5365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
5366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #15", 0x00000000, r1, r2, cv);
5367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #31", 0x00000000, r1, r2, cv);
5368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
5369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
5370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #15", 0x00000000, r1, r2, cv);
5371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #31", 0x00000000, r1, r2, cv);
5372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
5373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
5374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #15", 0x00000000, r1, r2, cv);
5375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #31", 0x00000000, r1, r2, cv);
5376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
5377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
5378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #15", 0x00000000, r1, r2, cv);
5379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #31", 0x00000000, r1, r2, cv);
5380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
5381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
5382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #15", 0x00000000, r1, r2, cv);
5383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #31", 0x00000000, r1, r2, cv);
5384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
5385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
5386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #15", 0x00000000, r1, r2, cv);
5387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #31", 0x00000000, r1, r2, cv);
5388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
5389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
5390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #15", 0x00000000, r1, r2, cv);
5391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #31", 0x00000000, r1, r2, cv);
5392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x00000000, r1, r2, cv);
5393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x00000000, r1, r2, cv);
5394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #15", 0x00000000, r1, r2, cv);
5395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #31", 0x00000000, r1, r2, cv);
5396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x00000000, r1, r2, cv);
5397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x00000000, r1, r2, cv);
5398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #15", 0x00000000, r1, r2, cv);
5399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #31", 0x00000000, r1, r2, cv);
5400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x00000000, r1, r2, cv);
5401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x00000000, r1, r2, cv);
5402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #15", 0x00000000, r1, r2, cv);
5403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #31", 0x00000000, r1, r2, cv);
5404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x00000000, r1, r2, cv);
5405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x00000000, r1, r2, cv);
5406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #15", 0x00000000, r1, r2, cv);
5407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #31", 0x00000000, r1, r2, cv);
5408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x00000000, r1, r2, cv);
5409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x00000000, r1, r2, cv);
5410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #15", 0x00000000, r1, r2, cv);
5411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #31", 0x00000000, r1, r2, cv);
5412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x00000000, r1, r2, cv);
5413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x00000000, r1, r2, cv);
5414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #15", 0x00000000, r1, r2, cv);
5415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #31", 0x00000000, r1, r2, cv);
5416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x00000000, r1, r2, cv);
5417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x00000000, r1, r2, cv);
5418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #15", 0x00000000, r1, r2, cv);
5419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #31", 0x00000000, r1, r2, cv);
5420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x00000000, r1, r2, cv);
5421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x00000000, r1, r2, cv);
5422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #15", 0x00000000, r1, r2, cv);
5423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #31", 0x00000000, r1, r2, cv);
5424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
5425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
5426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #15", 0x00000001, r1, r2, cv);
5427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #31", 0x00000001, r1, r2, cv);
5428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
5429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
5430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #15", 0x00000001, r1, r2, cv);
5431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #31", 0x00000001, r1, r2, cv);
5432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
5433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
5434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #15", 0x00000001, r1, r2, cv);
5435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #31", 0x00000001, r1, r2, cv);
5436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
5437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
5438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #15", 0x00000001, r1, r2, cv);
5439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #31", 0x00000001, r1, r2, cv);
5440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
5441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
5442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #15", 0x00000001, r1, r2, cv);
5443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #31", 0x00000001, r1, r2, cv);
5444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
5445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
5446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #15", 0x00000001, r1, r2, cv);
5447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #31", 0x00000001, r1, r2, cv);
5448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
5449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
5450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #15", 0x00000001, r1, r2, cv);
5451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #31", 0x00000001, r1, r2, cv);
5452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
5453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
5454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #15", 0x00000001, r1, r2, cv);
5455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #31", 0x00000001, r1, r2, cv);
5456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x00000001, r1, r2, cv);
5457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x00000001, r1, r2, cv);
5458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #15", 0x00000001, r1, r2, cv);
5459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #31", 0x00000001, r1, r2, cv);
5460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x00000001, r1, r2, cv);
5461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x00000001, r1, r2, cv);
5462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #15", 0x00000001, r1, r2, cv);
5463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #31", 0x00000001, r1, r2, cv);
5464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x00000001, r1, r2, cv);
5465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x00000001, r1, r2, cv);
5466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #15", 0x00000001, r1, r2, cv);
5467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #31", 0x00000001, r1, r2, cv);
5468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x00000001, r1, r2, cv);
5469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x00000001, r1, r2, cv);
5470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #15", 0x00000001, r1, r2, cv);
5471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #31", 0x00000001, r1, r2, cv);
5472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x00000001, r1, r2, cv);
5473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x00000001, r1, r2, cv);
5474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #15", 0x00000001, r1, r2, cv);
5475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #31", 0x00000001, r1, r2, cv);
5476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x00000001, r1, r2, cv);
5477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x00000001, r1, r2, cv);
5478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #15", 0x00000001, r1, r2, cv);
5479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #31", 0x00000001, r1, r2, cv);
5480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x00000001, r1, r2, cv);
5481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x00000001, r1, r2, cv);
5482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #15", 0x00000001, r1, r2, cv);
5483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #31", 0x00000001, r1, r2, cv);
5484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x00000001, r1, r2, cv);
5485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x00000001, r1, r2, cv);
5486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #15", 0x00000001, r1, r2, cv);
5487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #31", 0x00000001, r1, r2, cv);
5488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
5491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
5492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
5495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
5496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
5499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
5500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
5503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
5504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
5507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
5508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
5511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
5512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
5515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
5516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
5517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
5518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
5519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
5520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv);
5521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv);
5522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #15", 0x9218abcd, r1, r2, cv);
5523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #31", 0x9218abcd, r1, r2, cv);
5524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv);
5525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv);
5526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #15", 0x9218abcd, r1, r2, cv);
5527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #31", 0x9218abcd, r1, r2, cv);
5528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv);
5529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv);
5530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #15", 0x9218abcd, r1, r2, cv);
5531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #31", 0x9218abcd, r1, r2, cv);
5532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv);
5533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv);
5534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #15", 0x9218abcd, r1, r2, cv);
5535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #31", 0x9218abcd, r1, r2, cv);
5536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv);
5537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv);
5538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #15", 0x9218abcd, r1, r2, cv);
5539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #31", 0x9218abcd, r1, r2, cv);
5540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv);
5541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv);
5542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #15", 0x9218abcd, r1, r2, cv);
5543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #31", 0x9218abcd, r1, r2, cv);
5544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv);
5545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv);
5546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #15", 0x9218abcd, r1, r2, cv);
5547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #31", 0x9218abcd, r1, r2, cv);
5548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv);
5549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv);
5550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #15", 0x9218abcd, r1, r2, cv);
5551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #31", 0x9218abcd, r1, r2, cv);
5552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
5555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsls.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
5556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
5559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsrs.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
5560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
5563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asrs.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
5564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
5567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rors.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
5568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
5571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsl.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
5572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
5575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("lsr.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
5576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
5579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("asr.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
5580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
5581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
5582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
5583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("ror.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
5584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv);
5585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv);
5586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #15", 0xffffffff, r1, r2, cv);
5587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsl #31", 0xffffffff, r1, r2, cv);
5588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv);
5589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv);
5590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #15", 0xffffffff, r1, r2, cv);
5591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, lsr #31", 0xffffffff, r1, r2, cv);
5592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #0 ", 0xffffffff, r1, r2, cv);
5593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #1 ", 0xffffffff, r1, r2, cv);
5594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #15", 0xffffffff, r1, r2, cv);
5595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, asr #31", 0xffffffff, r1, r2, cv);
5596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #0 ", 0xffffffff, r1, r2, cv);
5597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #1 ", 0xffffffff, r1, r2, cv);
5598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #15", 0xffffffff, r1, r2, cv);
5599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvns.w   r1, r2, ror #31", 0xffffffff, r1, r2, cv);
5600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv);
5601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv);
5602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #15", 0xffffffff, r1, r2, cv);
5603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsl #31", 0xffffffff, r1, r2, cv);
5604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv);
5605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv);
5606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #15", 0xffffffff, r1, r2, cv);
5607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, lsr #31", 0xffffffff, r1, r2, cv);
5608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #0 ", 0xffffffff, r1, r2, cv);
5609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #1 ", 0xffffffff, r1, r2, cv);
5610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #15", 0xffffffff, r1, r2, cv);
5611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, asr #31", 0xffffffff, r1, r2, cv);
5612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #0 ", 0xffffffff, r1, r2, cv);
5613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #1 ", 0xffffffff, r1, r2, cv);
5614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #15", 0xffffffff, r1, r2, cv);
5615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("mvn.w    r1, r2, ror #31", 0xffffffff, r1, r2, cv);
5616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) TST.W Rn, Rm, {shift}\n");
5619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
5621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
5622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
5623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
5624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
5625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
5626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
5627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
5628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
5629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
5630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
5631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("tst.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
5632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) TEQ.W Rn, Rm, {shift}\n");
5635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
5637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
5638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
5639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
5640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
5641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
5642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
5643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
5644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
5645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
5646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
5647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("teq.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
5648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) CMP.W Rn, Rm, {shift}\n");
5651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
5653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
5654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
5655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
5656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
5657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
5658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
5659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
5660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
5661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
5662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
5663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
5664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv);
5665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmp.w  r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv);
5666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T?) CMN.W Rn, Rm, {shift}\n");
5669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
5671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
5672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
5673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
5674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
5675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
5676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
5677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
5678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
5679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
5680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
5681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
5682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv);
5683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2x("cmn.w  r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv);
5684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T2) MOV{S}.W Rd, #constT\n");
5687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00000000", r9, cv);
5689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x000000FF", r9, cv);
5690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x0000007F", r9, cv);
5691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00FF00FF", r9, cv);
5692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x007F007F", r9, cv);
5693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x43434343", r9, cv);
5694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x93939393", r9, cv);
5695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x93000000", r9, cv);
5696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x43000000", r9, cv);
5697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x09300000", r9, cv);
5698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x04300000", r9, cv);
5699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00930000", r9, cv);
5700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00430000", r9, cv);
5701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00000930", r9, cv);
5702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00000430", r9, cv);
5703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00000093", r9, cv);
5704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("movs.w  r9, 0x00000043", r9, cv);
5705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00000000", r9, cv);
5706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x000000FF", r9, cv);
5707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x0000007F", r9, cv);
5708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00FF00FF", r9, cv);
5709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x007F007F", r9, cv);
5710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x43434343", r9, cv);
5711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x93939393", r9, cv);
5712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x93000000", r9, cv);
5713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x43000000", r9, cv);
5714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x09300000", r9, cv);
5715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x04300000", r9, cv);
5716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00930000", r9, cv);
5717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00430000", r9, cv);
5718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00000930", r9, cv);
5719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00000430", r9, cv);
5720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00000093", r9, cv);
5721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mov.w   r9, 0x00000043", r9, cv);
5722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T2) MVN{S}.W Rd, #constT\n");
5725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRY
5726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00000000", r9, cv);
5727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x000000FF", r9, cv);
5728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x0000007F", r9, cv);
5729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00FF00FF", r9, cv);
5730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x007F007F", r9, cv);
5731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x43434343", r9, cv);
5732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x93939393", r9, cv);
5733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x93000000", r9, cv);
5734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x43000000", r9, cv);
5735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x09300000", r9, cv);
5736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x04300000", r9, cv);
5737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00930000", r9, cv);
5738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00430000", r9, cv);
5739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00000930", r9, cv);
5740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00000430", r9, cv);
5741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00000093", r9, cv);
5742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvns.w  r9, 0x00000043", r9, cv);
5743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00000000", r9, cv);
5744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x000000FF", r9, cv);
5745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x0000007F", r9, cv);
5746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00FF00FF", r9, cv);
5747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x007F007F", r9, cv);
5748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x43434343", r9, cv);
5749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x93939393", r9, cv);
5750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x93000000", r9, cv);
5751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x43000000", r9, cv);
5752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x09300000", r9, cv);
5753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x04300000", r9, cv);
5754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00930000", r9, cv);
5755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00430000", r9, cv);
5756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00000930", r9, cv);
5757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00000430", r9, cv);
5758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00000093", r9, cv);
5759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST1("mvn.w   r9, 0x00000043", r9, cv);
5760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTCARRYEND
5761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("(T1) RBIT Rd, Rm\n");
5763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rbit r0, r1", 0x00000000, r0, r1, 0);
5764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rbit r0, r1", 0xFFFFFFFF, r0, r1, 0);
5765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rbit r0, r1", 0x80000000, r0, r1, 0);
5766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rbit r0, r1", 0x00000001, r0, r1, 0);
5767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rbit r0, r1", 0x31415927, r0, r1, 0);
5768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rbit r0, r1", 0x14141562, r0, r1, 0);
5769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0xabe8391f, r0, r1, 0);
5770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0x9028aa80, r0, r1, 0);
5771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0xead1fc6d, r0, r1, 0);
5772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0x35c98c55, r0, r1, 0);
5773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0x534af1eb, r0, r1, 0);
5774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0x45511b08, r0, r1, 0);
5775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0x90077f71, r0, r1, 0);
5776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0xde8ca84b, r0, r1, 0);
5777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0xe37a0dda, r0, r1, 0);
5778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0xe5b83d4b, r0, r1, 0);
5779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0xbb6d14ec, r0, r1, 0);
5780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rbit r0, r1", 0x68983cc9, r0, r1, 0);
5781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("(T1) REV Rd, Rm ------------\n");
5783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r0, r1", 0x00000000, r0, r1, 0);
5784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r0, r1", 0xFFFFFFFF, r0, r1, 0);
5785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r0, r1", 0x80000000, r0, r1, 0);
5786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r0, r1", 0x00000001, r0, r1, 0);
5787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r0, r1", 0x31415927, r0, r1, 0);
5788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r0, r1", 0x14141562, r0, r1, 0);
5789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0xabe8391f, r0, r1, 0);
5790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0x9028aa80, r0, r1, 0);
5791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0xead1fc6d, r0, r1, 0);
5792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0x35c98c55, r0, r1, 0);
5793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0x534af1eb, r0, r1, 0);
5794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0x45511b08, r0, r1, 0);
5795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0x90077f71, r0, r1, 0);
5796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0xde8ca84b, r0, r1, 0);
5797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0xe37a0dda, r0, r1, 0);
5798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0xe5b83d4b, r0, r1, 0);
5799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0xbb6d14ec, r0, r1, 0);
5800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r0, r1", 0x68983cc9, r0, r1, 0);
5801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("(T2) REV Rd, Rm ------------\n");
5803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r8, r9", 0x00000000, r8, r9, 0);
5804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r8, r9", 0xFFFFFFFF, r8, r9, 0);
5805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r8, r9", 0x80000000, r8, r9, 0);
5806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r8, r9", 0x00000001, r8, r9, 0);
5807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r8, r9", 0x31415927, r8, r9, 0);
5808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev r8, r9", 0x14141562, r8, r9, 0);
5809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0xabe8391f, r8, r9, 0);
5810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0x9028aa80, r8, r9, 0);
5811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0xead1fc6d, r8, r9, 0);
5812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0x35c98c55, r8, r9, 0);
5813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0x534af1eb, r8, r9, 0);
5814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0x45511b08, r8, r9, 0);
5815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0x90077f71, r8, r9, 0);
5816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0xde8ca84b, r8, r9, 0);
5817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0xe37a0dda, r8, r9, 0);
5818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0xe5b83d4b, r8, r9, 0);
5819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0xbb6d14ec, r8, r9, 0);
5820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev r8, r9", 0x68983cc9, r8, r9, 0);
5821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("(T1) REV16 Rd, Rm ------------\n");
5823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r0, r1", 0x00000000, r0, r1, 0);
5824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r0, r1", 0xFFFFFFFF, r0, r1, 0);
5825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r0, r1", 0x80000000, r0, r1, 0);
5826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r0, r1", 0x00000001, r0, r1, 0);
5827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r0, r1", 0x31415927, r0, r1, 0);
5828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r0, r1", 0x14141562, r0, r1, 0);
5829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0xabe8391f, r0, r1, 0);
5830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0x9028aa80, r0, r1, 0);
5831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0xead1fc6d, r0, r1, 0);
5832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0x35c98c55, r0, r1, 0);
5833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0x534af1eb, r0, r1, 0);
5834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0x45511b08, r0, r1, 0);
5835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0x90077f71, r0, r1, 0);
5836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0xde8ca84b, r0, r1, 0);
5837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0xe37a0dda, r0, r1, 0);
5838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0xe5b83d4b, r0, r1, 0);
5839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0xbb6d14ec, r0, r1, 0);
5840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r0, r1", 0x68983cc9, r0, r1, 0);
5841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("(T2) REV16 Rd, Rm ------------\n");
5843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r8, r9", 0x00000000, r8, r9, 0);
5844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r8, r9", 0xFFFFFFFF, r8, r9, 0);
5845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r8, r9", 0x80000000, r8, r9, 0);
5846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r8, r9", 0x00000001, r8, r9, 0);
5847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r8, r9", 0x31415927, r8, r9, 0);
5848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	TESTINST2("rev16 r8, r9", 0x14141562, r8, r9, 0);
5849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0xabe8391f, r8, r9, 0);
5850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0x9028aa80, r8, r9, 0);
5851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0xead1fc6d, r8, r9, 0);
5852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0x35c98c55, r8, r9, 0);
5853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0x534af1eb, r8, r9, 0);
5854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0x45511b08, r8, r9, 0);
5855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0x90077f71, r8, r9, 0);
5856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0xde8ca84b, r8, r9, 0);
5857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0xe37a0dda, r8, r9, 0);
5858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0xe5b83d4b, r8, r9, 0);
5859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0xbb6d14ec, r8, r9, 0);
5860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   TESTINST2("rev16 r8, r9", 0x68983cc9, r8, r9, 0);
5861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ NOP (begin) ------------\n");
5863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        printf("nop\n");
5864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        __asm__ __volatile__("nop" ::: "memory","cc");
5865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        printf("nop.w\n");
5866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown        __asm__ __volatile__("nop.w" ::: "memory","cc");
5867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	printf("------------ NOP (end) ------------\n");
5868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   // plus whatever stuff we can throw in from the old ARM test program
5870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   old_main();
5871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   return 0;
5873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
5874b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5875b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov/* How to compile:
5876b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   gcc -O -g -Wall -mcpu=cortex-a8 -o testarmv6int testarmv6int.c
5877b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov*/
5878b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5879b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include <stdio.h>
5880b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5881b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovstatic int gen_cvin(cvin)
5882b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{
5883b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  int r = ((cvin & 2) ? (1<<29) : 0) | ((cvin & 1) ? (1<<28) : 0);
5884b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  r |= (1 << 31) | (1 << 30);
5885b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  return r;
5886b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
5887b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5888b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov/* test macros to generate and output the result of a single instruction */
5889b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5890b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5891b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov// 1 registers in the insn, zero args: rD = op()
5892b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTINST1(instruction, RD, cvin) \
5893b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ \
5894b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out; \
5895b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int cpsr; \
5896b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov\
5897b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	__asm__ volatile( \
5898b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "msr cpsr_f, %2;" \
5899b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction ";" \
5900b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %0," #RD ";" \
5901b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mrs %1,cpsr;" \
5902b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "=&r" (out), "=&r" (cpsr) \
5903b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "r" (gen_cvin(cvin))        \
5904b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: #RD, "cc", "memory" \
5905b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	); \
5906b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
5907b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction, out, \
5908b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cvin, \
5909b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cpsr & 0xffff0000, \
5910b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<31) & cpsr) ? 'N' : ' ', \
5911b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<30) & cpsr) ? 'Z' : ' ', \
5912b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<29) & cpsr) ? 'C' : ' ', \
5913b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<28) & cpsr) ? 'V' : ' ' \
5914b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		); \
5915b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
5916b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5917b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5918b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5919b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov// 1 registers in the insn, one args: rD = op(rD)
5920b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTINST1x(instruction, RDval, RD, cvin)       \
5921b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ \
5922b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out; \
5923b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int cpsr; \
5924b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov\
5925b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	__asm__ volatile( \
5926b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "msr cpsr_f, %2;" \
5927b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "mov " #RD ",%3;" \
5928b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction ";" \
5929b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %0," #RD ";" \
5930b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mrs %1,cpsr;" \
5931b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "=&r" (out), "=&r" (cpsr) \
5932b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "r" (gen_cvin(cvin)), "r"(RDval) \
5933b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: #RD, "cc", "memory" \
5934b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	); \
5935b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
5936b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction, out, \
5937b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cvin, \
5938b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cpsr & 0xffff0000, \
5939b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<31) & cpsr) ? 'N' : ' ', \
5940b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<30) & cpsr) ? 'Z' : ' ', \
5941b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<29) & cpsr) ? 'C' : ' ', \
5942b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<28) & cpsr) ? 'V' : ' ' \
5943b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		); \
5944b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
5945b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5946b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov// 2 registers in the insn, one arg: rD = op(rM)
5947b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTINST2(instruction, RMval, RD, RM, cvin) \
5948b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ \
5949b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out; \
5950b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int cpsr; \
5951b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov\
5952b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	__asm__ volatile( \
5953b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "msr cpsr_f, %3;" \
5954b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RM ",%2;" \
5955b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                /* set #RD to 0x55555555 so we can see which parts get overwritten */ \
5956b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "mov " #RD ", #0x55" "\n\t" \
5957b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "orr " #RD "," #RD "," #RD ", LSL #8" "\n\t" \
5958b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "orr " #RD "," #RD "," #RD ", LSL #16" "\n\t" \
5959b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction ";" \
5960b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %0," #RD ";" \
5961b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mrs %1,cpsr;" \
5962b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "=&r" (out), "=&r" (cpsr) \
5963b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "r" (RMval), "r" (gen_cvin(cvin))        \
5964b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: #RD, #RM, "cc", "memory" \
5965b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	); \
5966b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
5967b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction, out, RMval, \
5968b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cvin, \
5969b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cpsr & 0xffff0000, \
5970b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<31) & cpsr) ? 'N' : ' ', \
5971b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<30) & cpsr) ? 'Z' : ' ', \
5972b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<29) & cpsr) ? 'C' : ' ', \
5973b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<28) & cpsr) ? 'V' : ' ' \
5974b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		); \
5975b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
5976b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5977b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5978b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov// 2 registers in the insn, two args: rD = op(rD, rM)
5979b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTINST2x(instruction, RDval, RMval, RD, RM, cvin)       \
5980b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ \
5981b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out; \
5982b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int cpsr; \
5983b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov\
5984b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	__asm__ volatile( \
5985b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "msr cpsr_f, %3;" \
5986b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RM ",%2;" \
5987b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "mov " #RD ",%4;" \
5988b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction ";" \
5989b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %0," #RD ";" \
5990b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mrs %1,cpsr;" \
5991b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "=&r" (out), "=&r" (cpsr) \
5992b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "r" (RMval), "r" (gen_cvin(cvin)), "r"(RDval) \
5993b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: #RD, #RM, "cc", "memory" \
5994b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	); \
5995b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
5996b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction, out, RMval, \
5997b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cvin, \
5998b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cpsr & 0xffff0000, \
5999b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<31) & cpsr) ? 'N' : ' ', \
6000b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<30) & cpsr) ? 'Z' : ' ', \
6001b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<29) & cpsr) ? 'C' : ' ', \
6002b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<28) & cpsr) ? 'V' : ' ' \
6003b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		); \
6004b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
6005b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6006b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6007b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6008b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTINST3(instruction, RMval, RNval, RD, RM, RN, cvin) \
6009b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ \
6010b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out; \
6011b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int cpsr; \
6012b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov\
6013b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	__asm__ volatile( \
6014b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "msr cpsr_f, %4;" \
6015b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RM ",%2;" \
6016b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RN ",%3;" \
6017b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction ";" \
6018b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %0," #RD ";" \
6019b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mrs %1,cpsr;" \
6020b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "=&r" (out), "=&r" (cpsr) \
6021b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "r" (RMval), "r" (RNval), "r" (gen_cvin(cvin))    \
6022b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: #RD, #RM, #RN, "cc", "memory" \
6023b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	); \
6024b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
6025b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction, out, RMval, RNval, \
6026b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cvin, \
6027b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cpsr & 0xffff0000, \
6028b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<31) & cpsr) ? 'N' : ' ', \
6029b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<30) & cpsr) ? 'Z' : ' ', \
6030b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<29) & cpsr) ? 'C' : ' ', \
6031b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<28) & cpsr) ? 'V' : ' ' \
6032b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		); \
6033b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
6034b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6035b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTINST4(instruction, RMval, RNval, RSval, RD, RM, RN, RS, cvin) \
6036b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ \
6037b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out; \
6038b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int cpsr; \
6039b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov\
6040b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	__asm__ volatile( \
6041b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "msr cpsr_f, %5;" \
6042b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RM ",%2;" \
6043b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RN ",%3;" \
6044b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RS ",%4;" \
6045b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction ";" \
6046b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %0," #RD ";" \
6047b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mrs %1,cpsr;" \
6048b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "=&r" (out), "=&r" (cpsr) \
6049b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "r" (RMval), "r" (RNval), "r" (RSval), "r" (gen_cvin(cvin)) \
6050b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: #RD, #RM, #RN, #RS, "cc", "memory" \
6051b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	); \
6052b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x rs 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
6053b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction, out, RMval, RNval, RSval, \
6054b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cvin, \
6055b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cpsr & 0xffff0000, \
6056b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<31) & cpsr) ? 'N' : ' ', \
6057b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<30) & cpsr) ? 'Z' : ' ', \
6058b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<29) & cpsr) ? 'C' : ' ', \
6059b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<28) & cpsr) ? 'V' : ' ' \
6060b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		); \
6061b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
6062b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6063b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTINST4_2OUT(instruction, RDval, RD2val, RMval, RSval, RD, RD2, RM, RS, cvin) \
6064b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ \
6065b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out; \
6066b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int out2; \
6067b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	unsigned int cpsr; \
6068b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov\
6069b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	__asm__ volatile( \
6070b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                "msr cpsr_f, %7;" \
6071b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RD ",%3;" \
6072b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RD2 ",%4;" \
6073b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RM ",%5;" \
6074b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov " #RS ",%6;" \
6075b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction ";" \
6076b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %0," #RD ";" \
6077b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mov %1," #RD2 ";" \
6078b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		"mrs %2,cpsr;" \
6079b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "=&r" (out), "=&r" (out2), "=&r" (cpsr) \
6080b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: "r" (RDval), "r" (RD2val), "r" (RMval), "r" (RSval), "r" (gen_cvin(cvin)) \
6081b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		: #RD, #RD2, #RM, #RS, "cc", "memory" \
6082b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	); \
6083b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("%s :: rd 0x%08x rd2 0x%08x, rm 0x%08x rs 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \
6084b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		instruction, out, out2, RMval, RSval, \
6085b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cvin, \
6086b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		cpsr & 0xffff0000, \
6087b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<31) & cpsr) ? 'N' : ' ', \
6088b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<30) & cpsr) ? 'Z' : ' ', \
6089b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<29) & cpsr) ? 'C' : ' ', \
6090b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		((1<<28) & cpsr) ? 'V' : ' ' \
6091b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov		); \
6092b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
6093b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6094b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov/* helpers */
6095b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define NOCARRY { int cv = 0; {
6096b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTCARRY { int cv = 0; for (cv = 0; cv < 4; cv++) {
6097b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#define TESTCARRYEND }}
6098b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6099b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov////////////////////////////////////////////////////////////
6100b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov////////////////////////////////////////////////////////////
6101b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov///////////////////////////////////////////////////////////
6102b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov///////////////////////////////////////////////////////////
6103b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6104b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovstatic int old_main(void)
6105b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{
6106b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6107b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("MOV\n");
6108b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("mov  r0, r1", 1, r0, r1, 0);
6109b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("cpy  r0, r1", 1, r0, r1, 0);
6110b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("mov  r0, #0", 0, r0, r1, 0);
6111b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("mov  r0, #1", 0, r0, r1, 0);
6112b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6113b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("movs r0, r1", 1, r0, r1, cv);
6114b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("movs r0, r1", 0, r0, r1, cv);
6115b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("movs r0, r1", 0x80000000, r0, r1, cv);
6116b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("movs r0, #0", 0, r0, r1, cv);
6117b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("movs r0, #1", 0, r0, r1, cv);
6118b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6119b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6120b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("MVN\n");
6121b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("mvn  r0, r1", 1, r0, r1, 0);
6122b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6123b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("mvns r0, r1", 1, r0, r1, cv);
6124b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("mvns r0, r1", 0, r0, r1, cv);
6125b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv);
6126b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6127b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6128b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ADD\n");
6129b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 0, 0, r0, r1, r2, 0);
6130b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 0, 1, r0, r1, r2, 0);
6131b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 1, 0, r0, r1, r2, 0);
6132b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 1, 1, r0, r1, r2, 0);
6133b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 0, -1, r0, r1, r2, 0);
6134b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 1, -1, r0, r1, r2, 0);
6135b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, 0);
6136b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 0x80000000, -1, r0, r1, r2, 0);
6137b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adds r0, r1, r2", 0x80000000, 0, r0, r1, r2, 0);
6138b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6139b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ADC\n");
6140b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 0);
6141b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 1);
6142b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6143b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSL\n");
6144b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
6145b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0);
6146b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0);
6147b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0);
6148b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0);
6149b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0);
6150b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0);
6151b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0);
6152b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0);
6153b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0);
6154b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6155b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0x1, 0, r0, r1, r2, 0);
6156b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0x1, 1, r0, r1, r2, 0);
6157b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0x1, 31, r0, r1, r2, 0);
6158b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsl  r0, r1, r2", 0x2, 31, r0, r1, r2, 0);
6159b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6160b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSLS\n");
6161b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6162b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
6163b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
6164b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
6165b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
6166b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
6167b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
6168b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
6169b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
6170b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
6171b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv);
6172b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0x1, 0, r0, r1, r2, cv);
6173b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0x1, 1, r0, r1, r2, cv);
6174b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0x1, 31, r0, r1, r2, cv);
6175b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsls r0, r1, r2", 0x2, 31, r0, r1, r2, cv);
6176b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6177b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6178b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSL immediate\n");
6179b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6180b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsl  r0, r1, #0", 0xffffffff, r0, r1, cv);
6181b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsl  r0, r1, #1", 0xffffffff, r0, r1, cv);
6182b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsl  r0, r1, #31", 0xffffffff, r0, r1, cv);
6183b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsl  r0, r1, #0", 0x1, r0, r1, cv);
6184b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsl  r0, r1, #1", 0x1, r0, r1, cv);
6185b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsl  r0, r1, #31", 0x1, r0, r1, cv);
6186b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsl  r0, r1, #31", 0x2, r0, r1, cv);
6187b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6188b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6189b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSLS immediate\n");
6190b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6191b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsls r0, r1, #0", 0xffffffff, r0, r1, cv);
6192b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsls r0, r1, #1", 0xffffffff, r0, r1, cv);
6193b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsls r0, r1, #31", 0xffffffff, r0, r1, cv);
6194b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsls r0, r1, #0", 0x1, r0, r1, cv);
6195b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsls r0, r1, #1", 0x1, r0, r1, cv);
6196b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsls r0, r1, #31", 0x1, r0, r1, cv);
6197b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsls r0, r1, #31", 0x2, r0, r1, cv);
6198b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6199b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6200b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSR\n");
6201b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
6202b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0);
6203b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0);
6204b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0);
6205b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0);
6206b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0);
6207b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0);
6208b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0);
6209b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0);
6210b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsr  r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0);
6211b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6212b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSRS\n");
6213b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6214b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
6215b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
6216b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
6217b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
6218b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
6219b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
6220b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
6221b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
6222b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("lsrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
6223b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6224b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6225b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSR immediate\n");
6226b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsr  r0, r1, #0", 0xffffffff, r0, r1, 0);
6227b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsr  r0, r1, #1", 0xffffffff, r0, r1, 0);
6228b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsr  r0, r1, #31", 0xffffffff, r0, r1, 0);
6229b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsr  r0, r1, #32", 0xffffffff, r0, r1, 0);
6230b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsr  r0, r1, #16", 0x00010000, r0, r1, 0);
6231b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsr  r0, r1, #17", 0x00010000, r0, r1, 0);
6232b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsr  r0, r1, #18", 0x00010000, r0, r1, 0);
6233b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6234b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("LSRS immediate\n");
6235b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6236b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsrs r0, r1, #0", 0xffffffff, r0, r1, cv);
6237b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsrs r0, r1, #1", 0xffffffff, r0, r1, cv);
6238b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsrs r0, r1, #31", 0xffffffff, r0, r1, cv);
6239b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsrs r0, r1, #32", 0xffffffff, r0, r1, cv);
6240b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsrs r0, r1, #16", 0x00010000, r0, r1, cv);
6241b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsrs r0, r1, #17", 0x00010000, r0, r1, cv);
6242b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("lsrs r0, r1, #18", 0x00010000, r0, r1, cv);
6243b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6244b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6245b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ASR\n");
6246b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6247b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
6248b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
6249b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
6250b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
6251b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
6252b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
6253b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
6254b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
6255b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
6256b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv);
6257b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv);
6258b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv);
6259b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv);
6260b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv);
6261b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv);
6262b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv);
6263b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv);
6264b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv);
6265b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv);
6266b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asr  r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv);
6267b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6268b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6269b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ASRS\n");
6270b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6271b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv);
6272b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv);
6273b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv);
6274b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv);
6275b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv);
6276b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv);
6277b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv);
6278b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv);
6279b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv);
6280b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv);
6281b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv);
6282b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv);
6283b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv);
6284b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv);
6285b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv);
6286b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv);
6287b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv);
6288b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv);
6289b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv);
6290b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv);
6291b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6292b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6293b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6294b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x8, 0, r0, r1, r2, cv);
6295b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x8, 1, r0, r1, r2, cv);
6296b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x8, 2, r0, r1, r2, cv);
6297b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x8, 3, r0, r1, r2, cv);
6298b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x8, 4, r0, r1, r2, cv);
6299b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x8, 5, r0, r1, r2, cv);
6300b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6301b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6302b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x80000001, 1, r0, r1, r2, 0);
6303b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("asrs r0, r1, r2", 0x80000001, 2, r0, r1, r2, 0);
6304b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6305b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ASR immediate\n");
6306b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #0", 0xffffffff, r0, r1, 0);
6307b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #1", 0xffffffff, r0, r1, 0);
6308b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #31", 0xffffffff, r0, r1, 0);
6309b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #32", 0xffffffff, r0, r1, 0);
6310b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #0", 0x7fffffff, r0, r1, 0);
6311b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #1", 0x7fffffff, r0, r1, 0);
6312b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #31", 0x7fffffff, r0, r1, 0);
6313b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #32", 0x7fffffff, r0, r1, 0);
6314b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #16", 0x00010000, r0, r1, 0);
6315b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #17", 0x00010000, r0, r1, 0);
6316b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asr  r0, r1, #18", 0x00010000, r0, r1, 0);
6317b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6318b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ASRS immediate\n");
6319b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6320b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #0", 0xffffffff, r0, r1, cv);
6321b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #1", 0xffffffff, r0, r1, cv);
6322b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #31", 0xffffffff, r0, r1, cv);
6323b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #32", 0xffffffff, r0, r1, cv);
6324b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #0", 0x7fffffff, r0, r1, cv);
6325b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #1", 0x7fffffff, r0, r1, cv);
6326b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #31", 0x7fffffff, r0, r1, cv);
6327b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #32", 0x7fffffff, r0, r1, cv);
6328b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #16", 0x00010000, r0, r1, cv);
6329b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #17", 0x00010000, r0, r1, cv);
6330b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("asrs r0, r1, #18", 0x00010000, r0, r1, cv);
6331b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6332b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6333b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6334b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ROR\n");
6335b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6336b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv);
6337b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x80088000, 1, r0, r1, r2, cv);
6338b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv);
6339b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv);
6340b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv);
6341b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv);
6342b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv);
6343b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv);
6344b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv);
6345b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv);
6346b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv);
6347b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv);
6348b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("ror  r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv);
6349b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6350b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6351b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("RORS\n");
6352b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6353b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv);
6354b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x80088000, 0, r0, r1, r2, cv);
6355b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv);
6356b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv);
6357b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv);
6358b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv);
6359b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv);
6360b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv);
6361b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv);
6362b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv);
6363b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv);
6364b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv);
6365b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("rors r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv);
6366b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6367b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6368b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("ROR immediate\n");
6369b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6370b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("ror  r0, r1, #0", 0x00088000, r0, r1, cv);
6371b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("ror  r0, r1, #1", 0x00088000, r0, r1, cv);
6372b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("ror  r0, r1, #31", 0x00088000, r0, r1, cv);
6373b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("ror  r0, r1, #16", 0x00010000, r0, r1, cv);
6374b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("ror  r0, r1, #17", 0x00010000, r0, r1, cv);
6375b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("ror  r0, r1, #18", 0x00010000, r0, r1, cv);
6376b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6377b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6378b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("RORS immediate\n");
6379b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6380b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("rors r0, r1, #0", 0x00088000, r0, r1, cv);
6381b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("rors r0, r1, #1", 0x00088000, r0, r1, cv);
6382b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("rors r0, r1, #31", 0x00088000, r0, r1, cv);
6383b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("rors r0, r1, #16", 0x00010000, r0, r1, cv);
6384b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("rors r0, r1, #17", 0x00010000, r0, r1, cv);
6385b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("rors r0, r1, #18", 0x00010000, r0, r1, cv);
6386b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6387b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6388b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6389b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("shift with barrel shifter\n");
6390b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6391b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
6392b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
6393b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
6394b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
6395b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
6396b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
6397b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
6398b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
6399b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
6400b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
6401b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
6402b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
6403b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 0, r0, r1, r2, r3, cv);
6404b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 1, r0, r1, r2, r3, cv);
6405b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 31, r0, r1, r2, r3, cv);
6406b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 32, r0, r1, r2, r3, cv);
6407b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 255, r0, r1, r2, r3, cv);
6408b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x7fffffff, 256, r0, r1, r2, r3, cv);
6409b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
6410b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6411b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6412b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6413b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 0, r0, r1, r2, r3, cv);
6414b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 1, r0, r1, r2, r3, cv);
6415b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 2, r0, r1, r2, r3, cv);
6416b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 3, r0, r1, r2, r3, cv);
6417b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 4, r0, r1, r2, r3, cv);
6418b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, asr r3", 0, 0x8, 5, r0, r1, r2, r3, cv);
6419b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6420b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6421b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6422b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv);
6423b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv);
6424b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv);
6425b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv);
6426b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv);
6427b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv);
6428b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv);
6429b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv);
6430b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("add  r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv);
6431b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6432b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6433b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6434b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6435b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
6436b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
6437b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
6438b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
6439b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
6440b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
6441b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
6442b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
6443b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv);
6444b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv);
6445b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv);
6446b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv);
6447b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6448b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv);
6449b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv);
6450b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv);
6451b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv);
6452b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv);
6453b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv);
6454b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv);
6455b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv);
6456b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv);
6457b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6458b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6459b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6460b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6461b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6462b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
6463b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv);
6464b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
6465b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv);
6466b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6467b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6468b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6469b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("MUL\n");
6470b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("mul  r0, r1, r2", 0, 0, r0, r1, r2, 0);
6471b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("mul  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
6472b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("mul  r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
6473b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("mul  r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
6474b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("mul  r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
6475b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("mul  r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
6476b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6477b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6478b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("MULS\n");
6479b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0);
6480b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
6481b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
6482b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
6483b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
6484b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
6485b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6486b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6487b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("MLA\n");
6488b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mla  r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
6489b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mla  r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
6490b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mla  r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
6491b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mla  r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
6492b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mla  r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
6493b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mla  r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
6494b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6495b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6496b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("MLAS\n");
6497b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mlas r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
6498b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
6499b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mlas r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
6500b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
6501b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
6502b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
6503b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6504b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6505b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("MLS\n");
6506b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mls  r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
6507b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mls  r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
6508b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mls  r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
6509b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mls  r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
6510b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mls  r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
6511b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4("mls  r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
6512b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6513b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("UMULL\n");
6514b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6515b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6516b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6517b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6518b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6519b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6520b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6521b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6522b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6523b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6524b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6525b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6526b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6527b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6528b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("SMULL\n");
6529b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6530b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6531b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6532b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6533b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6534b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6535b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6536b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6537b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6538b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6539b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6540b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6541b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6542b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6543b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6544b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6545b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("UMLAL\n");
6546b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6547b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
6548b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
6549b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
6550b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6551b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6552b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6553b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6554b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6555b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6556b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6557b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6558b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
6559b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
6560b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
6561b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6562b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6563b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6564b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6565b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6566b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6567b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6568b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("SMLAL\n");
6569b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6570b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
6571b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
6572b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
6573b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6574b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6575b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6576b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6577b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6578b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6579b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6580b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
6581b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
6582b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
6583b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
6584b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
6585b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
6586b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
6587b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
6588b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
6589b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6590b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("CLZ\n");
6591b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRY
6592b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("clz  r0, r1", 0, r0, r1, cv);
6593b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("clz  r0, r1", 1, r0, r1, cv);
6594b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("clz  r0, r1", 0x10, r0, r1, cv);
6595b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("clz  r0, r1", 0xffffffff, r0, r1, cv);
6596b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTCARRYEND
6597b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6598b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("extend instructions\n");
6599b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1", 0, r0, r1, 0);
6600b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1", 1, r0, r1, 0);
6601b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0);
6602b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0);
6603b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxtb r0, r1", 0, r0, r1, 0);
6604b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxtb r0, r1", 1, r0, r1, 0);
6605b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0);
6606b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0);
6607b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6608b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxth r0, r1", 0, r0, r1, 0);
6609b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxth r0, r1", 1, r0, r1, 0);
6610b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0);
6611b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0);
6612b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxth r0, r1", 0, r0, r1, 0);
6613b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxth r0, r1", 1, r0, r1, 0);
6614b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0);
6615b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0);
6616b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0);
6617b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0);
6618b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0);
6619b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6620b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0);
6621b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0);
6622b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0);
6623b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0);
6624b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0);
6625b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6626b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0);
6627b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0);
6628b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0);
6629b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0);
6630b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0);
6631b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6632b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ BFI ------------\n");
6633b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6634b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        /* bfi  rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */
6635b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
6636b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
6637b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
6638b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6639b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0);
6640b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0);
6641b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0);
6642b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6643b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0);
6644b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0);
6645b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6646b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0);
6647b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0);
6648b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfi  r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0);
6649b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6650b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ BFC ------------\n");
6651b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6652b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        /* bfi  rDst, #lsb-in-dst, #number-of-bits-to-copy */
6653b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #0, #11", 0xAAAAAAAA, r0, r1, 0);
6654b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #1, #11", 0xAAAAAAAA, r0, r1, 0);
6655b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #2, #11", 0xAAAAAAAA, r0, r1, 0);
6656b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6657b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #19, #11", 0xFFFFFFFF, r0, r1, 0);
6658b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #20, #11", 0xFFFFFFFF, r0, r1, 0);
6659b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #21, #11", 0xFFFFFFFF, r0, r1, 0);
6660b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6661b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #0, #32", 0xFFFFFFFF, r0, r1, 0);
6662b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #1, #31", 0xFFFFFFFF, r0, r1, 0);
6663b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6664b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #29, #3", 0xFFFFFFFF, r0, r1, 0);
6665b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #30, #2", 0xFFFFFFFF, r0, r1, 0);
6666b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST2("bfc  r0, #31, #1", 0xFFFFFFFF, r0, r1, 0);
6667b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6668b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ SBFX ------------\n");
6669b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6670b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        /* sbfx rDst, rSrc, #lsb, #width */
6671b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #0, #1", 0x00000000, r0, r1, 0);
6672b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #0, #1", 0x00000001, r0, r1, 0);
6673b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000000, r0, r1, 0);
6674b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000001, r0, r1, 0);
6675b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000002, r0, r1, 0);
6676b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #1", 0x00000003, r0, r1, 0);
6677b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6678b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #0, #2", 0x00000000, r0, r1, 0);
6679b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #0, #2", 0x00000001, r0, r1, 0);
6680b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000000, r0, r1, 0);
6681b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000001, r0, r1, 0);
6682b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000002, r0, r1, 0);
6683b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #2", 0x00000003, r0, r1, 0);
6684b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6685b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
6686b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
6687b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
6688b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6689b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
6690b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6691b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
6692b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("sbfx  r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
6693b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6694b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ UBFX ------------\n");
6695b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6696b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        /* ubfx rDst, rSrc, #lsb, #width */
6697b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #0, #1", 0x00000000, r0, r1, 0);
6698b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #0, #1", 0x00000001, r0, r1, 0);
6699b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000000, r0, r1, 0);
6700b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000001, r0, r1, 0);
6701b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000002, r0, r1, 0);
6702b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #1", 0x00000003, r0, r1, 0);
6703b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6704b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #0, #2", 0x00000000, r0, r1, 0);
6705b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #0, #2", 0x00000001, r0, r1, 0);
6706b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000000, r0, r1, 0);
6707b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000001, r0, r1, 0);
6708b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000002, r0, r1, 0);
6709b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #2", 0x00000003, r0, r1, 0);
6710b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6711b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
6712b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
6713b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
6714b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6715b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
6716b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6717b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
6718b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST2("ubfx  r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
6719b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6720b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ SMULL{B,T}{B,T} ------------\n");
6721b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        /* SMULxx rD, rN, rM */
6722b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6723b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000,  r0, r1, r2, 0);
6724b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002,  r0, r1, r2, 0);
6725b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff,  r0, r1, r2, 0);
6726b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff,  r0, r1, r2, 0);
6727b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff,  r0, r1, r2, 0);
6728b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6729b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ SXTAB ------------\n");
6730b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
6731b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6732b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
6733b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6734b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
6735b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6736b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
6737b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6738b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6739b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
6740b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6741b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
6742b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6743b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
6744b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6745b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
6746b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6747b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6748b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ SXTAB16 ------------\n");
6749b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
6750b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6751b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
6752b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6753b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
6754b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6755b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
6756b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6757b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6758b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
6759b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6760b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
6761b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6762b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
6763b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6764b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
6765b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6766b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6767b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ UXTAB ------------\n");
6768b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
6769b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6770b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
6771b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6772b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
6773b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6774b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
6775b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6776b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6777b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
6778b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6779b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
6780b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6781b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
6782b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6783b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
6784b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6785b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6786b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ UXTAB16 ------------\n");
6787b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
6788b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6789b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
6790b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6791b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
6792b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6793b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
6794b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6795b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6796b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
6797b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6798b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
6799b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6800b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
6801b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6802b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
6803b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6804b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6805b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ SXTAH ------------\n");
6806b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
6807b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6808b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
6809b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6810b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819,
6811b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6812b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819,
6813b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6814b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6815b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819,
6816b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6817b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819,
6818b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6819b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819,
6820b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6821b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819,
6822b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6823b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6824b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ UXTAH ------------\n");
6825b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
6826b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6827b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
6828b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6829b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819,
6830b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6831b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819,
6832b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6833b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6834b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819,
6835b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6836b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819,
6837b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6838b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819,
6839b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6840b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819,
6841b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov                  r0, r1, r2, 0);
6842b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6843b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ PLD/PLDW (begin) ------------\n");
6844b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        /* These don't have any effect on the architected state, so,
6845b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov           uh, there's no result values to check.  Just _do_ some of
6846b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov           them and check Valgrind's instruction decoder eats them up
6847b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov           without complaining. */
6848b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        { int alocal;
6849b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          printf("pld  reg +/- imm12  cases\n");
6850b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, #128]" : :/*in*/"r"(&alocal) );
6851b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, #-128]" : :/*in*/"r"(&alocal) );
6852b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [r15, #-128]" : :/*in*/"r"(&alocal) );
6853b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6854b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          // apparently pldw is v7 only
6855b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          //__asm__ __volatile__( "pldw [%0, #128]" : :/*in*/"r"(&alocal) );
6856b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          //__asm__ __volatile__( "pldw [%0, #-128]" : :/*in*/"r"(&alocal) );
6857b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          //__asm__ __volatile__( "pldw [r15, #128]" : :/*in*/"r"(&alocal) );
6858b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6859b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          printf("pld  reg +/- shifted reg  cases\n");
6860b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, %1]" : : /*in*/"r"(&alocal), "r"(0) );
6861b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, %1, LSL #1]" : : /*in*/"r"(&alocal), "r"(0) );
6862b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
6863b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, %1, LSR #1]" : : /*in*/"r"(&alocal), "r"(0) );
6864b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, %1, ASR #1]" : : /*in*/"r"(&alocal), "r"(0) );
6865b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, %1, ROR #1]" : : /*in*/"r"(&alocal), "r"(0) );
6866b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov          __asm__ __volatile__( "pld [%0, %1, RRX]" : : /*in*/"r"(&alocal), "r"(0) );
6867b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6868b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov        }
6869b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	printf("------------ PLD/PLDW (done) ------------\n");
6870b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
6871b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6872b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	return 0;
6873b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
6874b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6875b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6876b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov////////////////////////////////////////////////////////////
6877b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov////////////////////////////////////////////////////////////
6878b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov///////////////////////////////////////////////////////////
6879b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov///////////////////////////////////////////////////////////
6880b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6881b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6882b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovint main ( void )
6883b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{
6884b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   // 16 bit instructions
6885b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6886b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("CMP-16 0x10a\n");
6887b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6888b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r3, r6", 0,          0,           r6/*fake*/, r3, r6, 0);
6889b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r3, r6", 1,          0,           r6/*fake*/, r3, r6, 0);
6890b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r3, r6", 0,          1,           r6/*fake*/, r3, r6, 0);
6891b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r3, r6", -1,         0,           r6/*fake*/, r3, r6, 0);
6892b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r3, r6", 0,          -1,          r6/*fake*/, r3, r6, 0);
6893b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r3, r6", 0,          0x80000000,  r6/*fake*/, r3, r6, 0);
6894b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r3, r6", 0x80000000, 0,           r6/*fake*/, r3, r6, 0);
6895b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6896b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6897b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("CMN-16 0x10a\n");
6898b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6899b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmn r3, r6", 0,          0,           r6/*fake*/, r3, r6, 0);
6900b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmn r3, r6", 1,          0,           r6/*fake*/, r3, r6, 0);
6901b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmn r3, r6", 0,          1,           r6/*fake*/, r3, r6, 0);
6902b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmn r3, r6", -1,         0,           r6/*fake*/, r3, r6, 0);
6903b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmn r3, r6", 0,          -1,          r6/*fake*/, r3, r6, 0);
6904b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmn r3, r6", 0,          0x80000000,  r6/*fake*/, r3, r6, 0);
6905b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmn r3, r6", 0x80000000, 0,           r6/*fake*/, r3, r6, 0);
6906b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6907b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6908b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("TST-16 0x108\n");
6909b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6910b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("tst r3, r6", 0,          0,           r6/*fake*/, r3, r6, cv);
6911b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("tst r3, r6", 1,          0,           r6/*fake*/, r3, r6, cv);
6912b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("tst r3, r6", 0,          1,           r6/*fake*/, r3, r6, cv);
6913b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("tst r3, r6", 1,          1,           r6/*fake*/, r3, r6, cv);
6914b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("tst r3, r6", -1,         0,           r6/*fake*/, r3, r6, cv);
6915b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("tst r3, r6", 0,          -1,          r6/*fake*/, r3, r6, cv);
6916b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("tst r3, r6", -1,         -1,          r6/*fake*/, r3, r6, cv);
6917b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6918b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6919b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("NEGS-16 0x109\n");
6920b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("negs r0, r1", 1, r0, r1, 0);
6921b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6922b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("negs r0, r1", 1, r0, r1, cv);
6923b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("negs r0, r1", 0, r0, r1, cv);
6924b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("negs r0, r1", 0x80000000, r0, r1, cv);
6925b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("negs r0, r1", 0x80000001, r0, r1, cv);
6926b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("negs r0, r1", 0xFFFFFFFF, r0, r1, cv);
6927b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("negs r0, r1", 0x7FFFFFFF, r0, r1, cv);
6928b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6929b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6930b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("MVNS-16 0x10F\n");
6931b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns r0, r1", 1, r0, r1, 0);
6932b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6933b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns r0, r1", 1, r0, r1, cv);
6934b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns r0, r1", 0, r0, r1, cv);
6935b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv);
6936b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns r0, r1", 0x80000001, r0, r1, cv);
6937b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns r0, r1", 0xFFFFFFFF, r0, r1, cv);
6938b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns r0, r1", 0x7FFFFFFF, r0, r1, cv);
6939b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6940b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6941b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ORRS-16 0x10C\n");
6942b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6943b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("orrs r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
6944b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("orrs r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
6945b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("orrs r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
6946b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("orrs r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
6947b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("orrs r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
6948b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("orrs r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
6949b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("orrs r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
6950b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6951b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6952b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ANDS-16 0x100\n");
6953b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6954b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("ands r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
6955b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("ands r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
6956b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("ands r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
6957b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("ands r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
6958b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("ands r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
6959b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("ands r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
6960b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("ands r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
6961b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6962b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6963b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("EORS-16 0x101\n");
6964b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6965b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("eors r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
6966b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("eors r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
6967b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("eors r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
6968b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("eors r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
6969b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("eors r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
6970b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("eors r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
6971b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("eors r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
6972b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6973b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6974b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("MULS-16 0x10d\n");
6975b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6976b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("muls r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
6977b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("muls r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
6978b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("muls r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
6979b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("muls r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
6980b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("muls r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
6981b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("muls r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
6982b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("muls r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
6983b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6984b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6985b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("BICS-16 0x10E\n");
6986b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6987b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("bics r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
6988b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("bics r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
6989b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("bics r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
6990b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("bics r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
6991b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("bics r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
6992b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("bics r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
6993b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("bics r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
6994b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
6995b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
6996b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ADCS-16 0x105\n");
6997b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
6998b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
6999b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
7000b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
7001b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
7002b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
7003b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
7004b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
7005b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7006b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7007b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("SBCS-16 0x100\n");
7008b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7009b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("sbcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv);
7010b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv);
7011b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("sbcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv);
7012b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv);
7013b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("sbcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv);
7014b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("sbcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv);
7015b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("sbcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv);
7016b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7017b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7018b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("UXTB-16 0x2CB\n");
7019b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7020b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("uxtb r1, r2", 0x31415927, r1, r2, cv);
7021b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("uxtb r1, r2", 0x31415997, r1, r2, cv);
7022b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7023b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7024b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("SXTB-16 0x2C9\n");
7025b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7026b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sxtb r1, r2", 0x31415927, r1, r2, cv);
7027b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sxtb r1, r2", 0x31415997, r1, r2, cv);
7028b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7029b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7030b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("UXTH-16 0x2CA\n");
7031b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7032b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("uxth r1, r2", 0x31415927, r1, r2, cv);
7033b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("uxth r1, r2", 0x31419597, r1, r2, cv);
7034b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7035b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7036b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("SXTH-16 0x2C8\n");
7037b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7038b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sxth r1, r2", 0x31415927, r1, r2, cv);
7039b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sxth r1, r2", 0x31419597, r1, r2, cv);
7040b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7041b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7042b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("LSLS-16 0x102\n");
7043b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7044b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
7045b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000001, r1, r2, cv);
7046b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
7047b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x0000000F, r1, r2, cv);
7048b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
7049b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x0000001F, r1, r2, cv);
7050b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
7051b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsls r1, r2", 0x31415927, 0x00000021, r1, r2, cv);
7052b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7053b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7054b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("LSRS-16 0x103\n");
7055b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7056b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
7057b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000001, r1, r2, cv);
7058b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
7059b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000000F, r1, r2, cv);
7060b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
7061b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000001F, r1, r2, cv);
7062b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
7063b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000021, r1, r2, cv);
7064b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7065b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7066b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ASRS-16 0x104\n");
7067b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7068b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
7069b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x91415927, 0x00000001, r1, r2, cv);
7070b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
7071b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x91415927, 0x0000000F, r1, r2, cv);
7072b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
7073b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x91415927, 0x0000001F, r1, r2, cv);
7074b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
7075b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("asrs r1, r2", 0x91415927, 0x00000021, r1, r2, cv);
7076b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7077b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7078b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("RORS-16 0x107\n");
7079b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7080b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x00000000, r1, r2, cv);
7081b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x00000001, r1, r2, cv);
7082b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x00000002, r1, r2, cv);
7083b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x0000000F, r1, r2, cv);
7084b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x00000010, r1, r2, cv);
7085b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x0000001F, r1, r2, cv);
7086b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x00000020, r1, r2, cv);
7087b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("rors r1, r2", 0x31415927, 0x00000021, r1, r2, cv);
7088b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7089b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7090b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ADD(HI)-16\n");
7091b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7092b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("add r5, r12", 0x31415927, 0x12345678, r5, r12, cv);
7093b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("add r4, r9 ", 0x31415927, 0x12345678, r4, r9,  cv);
7094b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7095b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7096b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("CMP(HI)-16 0x10a\n");
7097b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7098b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r5, r12", 0,          0,           r12/*fake*/, r5, r12, 0);
7099b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r5, r12", 1,          0,           r12/*fake*/, r5, r12, 0);
7100b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r5, r12", 0,          1,           r12/*fake*/, r5, r12, 0);
7101b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r5, r12", -1,         0,           r12/*fake*/, r5, r12, 0);
7102b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r5, r12", 0,          -1,          r12/*fake*/, r5, r12, 0);
7103b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r5, r12", 0,          0x80000000,  r12/*fake*/, r5, r12, 0);
7104b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("cmp r5, r12", 0x80000000, 0,           r12/*fake*/, r5, r12, 0);
7105b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7106b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7107b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("MOV(HI)-16\n");
7108b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7109b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("mov r5, r12", 0x31415927, 0x12345678, r5, r12, cv);
7110b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("mov r4, r9 ", 0x31415927, 0x12345678, r4, r9,  cv);
7111b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7112b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7113b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ADDS-16 Rd, Rn, #imm3\n");
7114b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7115b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adds r1, r2, #1", 0x31415927, 0x27181728, r1, r2, cv);
7116b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("adds r1, r2, #7", 0x31415927, 0x97181728, r1, r2, cv);
7117b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7118b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7119b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ADDS-16 Rd, Rn, Rm\n");
7120b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7121b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv);
7122b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv);
7123b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0,          0,          r1, r2, r3, cv);
7124b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 1,          0,          r1, r2, r3, cv);
7125b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0,          1,          r1, r2, r3, cv);
7126b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", -1,         0,          r1, r2, r3, cv);
7127b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0,          -1,         r1, r2, r3, cv);
7128b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0,          0x80000000, r1, r2, r3, cv);
7129b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0x80000000, 0,          r1, r2, r3, cv);
7130b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv);
7131b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7132b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7133b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7134b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7135b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7136b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("SUBS-16 Rd, Rn, Rm\n");
7137b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7138b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv);
7139b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv);
7140b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0,          0,          r1, r2, r3, cv);
7141b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 1,          0,          r1, r2, r3, cv);
7142b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0,          1,          r1, r2, r3, cv);
7143b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", -1,         0,          r1, r2, r3, cv);
7144b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0,          -1,         r1, r2, r3, cv);
7145b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0,          0x80000000, r1, r2, r3, cv);
7146b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0x80000000, 0,          r1, r2, r3, cv);
7147b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv);
7148b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7149b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7150b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7151b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7152b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7153b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ADDS-16 Rn, #uimm8\n");
7154b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7155b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("adds r1, #0  ", 0x31415927, r1, cv);
7156b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("adds r1, #255", 0x31415927, r1, cv);
7157b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("adds r1, #0  ", 0x91415927, r1, cv);
7158b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("adds r1, #255", 0x91415927, r1, cv);
7159b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7160b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7161b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("SUBS-16 Rn, #uimm8\n");
7162b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7163b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("subs r1, #0  ", 0x31415927, r1, cv);
7164b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("subs r1, #255", 0x31415927, r1, cv);
7165b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("subs r1, #0  ", 0x91415927, r1, cv);
7166b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("subs r1, #255", 0x91415927, r1, cv);
7167b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7168b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7169b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("CMP-16 Rn, #uimm8\n");
7170b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7171b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp r1, #0x80  ", 0x00000080, r1, cv);
7172b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp r1, #0x7f  ", 0x00000080, r1, cv);
7173b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp r1, #0x81  ", 0x00000080, r1, cv);
7174b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp r1, #0x80  ", 0xffffff80, r1, cv);
7175b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp r1, #0x7f  ", 0xffffff80, r1, cv);
7176b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp r1, #0x81  ", 0xffffff80, r1, cv);
7177b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp r1, #0x01  ", 0x80000000, r1, cv);
7178b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7179b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7180b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("MOVS-16 Rn, #uimm8\n");
7181b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7182b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("movs r1, #0   ", 0x31415927, r1, cv);
7183b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("movs r1, #0x7f", 0x31415927, r1, cv);
7184b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("movs r1, #0x80", 0x31415927, r1, cv);
7185b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("movs r1, #0x81", 0x31415927, r1, cv);
7186b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("movs r1, #0xff", 0x31415927, r1, cv);
7187b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7188b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7189b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("LSLS-16 Rd, Rm, imm5\n");
7190b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7191b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls r1, r2, #0   ", 0x31415927, r1, r2, cv);
7192b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls r1, r2, #1   ", 0x31415927, r1, r2, cv);
7193b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls r1, r2, #2   ", 0x31415927, r1, r2, cv);
7194b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls r1, r2, #0xF ", 0x31415927, r1, r2, cv);
7195b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls r1, r2, #0x10", 0x31415927, r1, r2, cv);
7196b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls r1, r2, #0x1F", 0x31415927, r1, r2, cv);
7197b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7198b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7199b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("LSRS-16 Rd, Rm, imm5\n");
7200b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7201b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs r1, r2, #0   ", 0x31415927, r1, r2, cv);
7202b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs r1, r2, #1   ", 0x31415927, r1, r2, cv);
7203b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs r1, r2, #2   ", 0x31415927, r1, r2, cv);
7204b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs r1, r2, #0xF ", 0x31415927, r1, r2, cv);
7205b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs r1, r2, #0x10", 0x31415927, r1, r2, cv);
7206b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs r1, r2, #0x1F", 0x31415927, r1, r2, cv);
7207b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7208b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7209b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ASRS-16 Rd, Rm, imm5\n");
7210b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7211b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs r1, r2, #0   ", 0x31415927, r1, r2, cv);
7212b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs r1, r2, #1   ", 0x91415927, r1, r2, cv);
7213b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs r1, r2, #2   ", 0x31415927, r1, r2, cv);
7214b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs r1, r2, #0xF ", 0x91415927, r1, r2, cv);
7215b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs r1, r2, #0x10", 0x31415927, r1, r2, cv);
7216b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs r1, r2, #0x1F", 0x91415927, r1, r2, cv);
7217b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7218b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7219b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   // 32 bit instructions
7220b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7221b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) ADD{S}.W Rd, Rn, #constT [allegedly]\n");
7222b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7223b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7224b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7225b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #255       ", 0,          r1, r2, cv);
7226b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0         ", 1,          r1, r2, cv);
7227b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #1         ", 0,          r1, r2, cv);
7228b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0         ", -1,         r1, r2, cv);
7229b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #-1        ", 0,          r1, r2, cv);
7230b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7231b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7232b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7233b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7234b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7235b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adds.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7236b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7237b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7238b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #255       ", 0,          r1, r2, cv);
7239b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0         ", 1,          r1, r2, cv);
7240b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #1         ", 0,          r1, r2, cv);
7241b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0         ", -1,         r1, r2, cv);
7242b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7243b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7244b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7245b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7246b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7247b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7248b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("add.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7249b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7250b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7251b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) CMP.W Rn, #constT [allegedly]\n");
7252b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7253b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0xffffffff", 0x31415927, r1, cv);
7254b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0xee00ee00", 0x31415927, r1, cv);
7255b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #255       ", 0,          r1, cv);
7256b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0         ", 1,          r1, cv);
7257b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #1         ", 0,          r1, cv);
7258b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0         ", -1,         r1, cv);
7259b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #-1        ", 0,          r1, cv);
7260b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0x80000000", 0,          r1, cv);
7261b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0         ", 0x80000000, r1, cv);
7262b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0x80000000", 0x80000000, r1, cv);
7263b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0x80000000", 0x7fffffff, r1, cv);
7264b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0xff000000", 0x80000000, r1, cv);
7265b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmp.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
7266b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7267b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7268b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) CMN.W Rn, #constT [allegedly]\n");
7269b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7270b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0xffffffff", 0x31415927, r1, cv);
7271b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0xee00ee00", 0x31415927, r1, cv);
7272b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #255       ", 0,          r1, cv);
7273b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0         ", 1,          r1, cv);
7274b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #1         ", 0,          r1, cv);
7275b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0         ", -1,         r1, cv);
7276b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #-1        ", 0,          r1, cv);
7277b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0x80000000", 0,          r1, cv);
7278b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0         ", 0x80000000, r1, cv);
7279b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0x80000000", 0x80000000, r1, cv);
7280b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0x80000000", 0x7fffffff, r1, cv);
7281b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0xff000000", 0x80000000, r1, cv);
7282b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("cmn.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
7283b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7284b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7285b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) TST.W Rn, #constT [allegedly]\n");
7286b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7287b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0xffffffff", 0x31415927, r1, cv);
7288b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0xee00ee00", 0x31415927, r1, cv);
7289b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #255       ", 0,          r1, cv);
7290b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0         ", 1,          r1, cv);
7291b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #1         ", 0,          r1, cv);
7292b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0         ", -1,         r1, cv);
7293b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #-1        ", 0,          r1, cv);
7294b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0x80000000", 0,          r1, cv);
7295b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0         ", 0x80000000, r1, cv);
7296b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0x80000000", 0x80000000, r1, cv);
7297b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0x80000000", 0x7fffffff, r1, cv);
7298b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0xff000000", 0x80000000, r1, cv);
7299b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("tst.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
7300b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7301b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7302b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) TEQ.W Rn, #constT [allegedly]\n");
7303b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7304b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0xffffffff", 0x31415927, r1, cv);
7305b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0xee00ee00", 0x31415927, r1, cv);
7306b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #255       ", 0,          r1, cv);
7307b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0         ", 1,          r1, cv);
7308b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #1         ", 0,          r1, cv);
7309b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0         ", -1,         r1, cv);
7310b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #-1        ", 0,          r1, cv);
7311b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0x80000000", 0,          r1, cv);
7312b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0         ", 0x80000000, r1, cv);
7313b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0x80000000", 0x80000000, r1, cv);
7314b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0x80000000", 0x7fffffff, r1, cv);
7315b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0xff000000", 0x80000000, r1, cv);
7316b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1x("teq.w r1, #0x0dd00000", 0x7fffffff, r1, cv);
7317b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7318b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7319b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) SUB{S}.W Rd, Rn, #constT [allegedly]\n");
7320b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7321b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7322b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7323b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #255       ", 0,          r1, r2, cv);
7324b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0         ", 1,          r1, r2, cv);
7325b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #1         ", 0,          r1, r2, cv);
7326b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0         ", -1,         r1, r2, cv);
7327b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #-1        ", 0,          r1, r2, cv);
7328b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7329b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7330b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7331b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7332b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7333b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("subs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7334b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7335b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7336b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #255       ", 0,          r1, r2, cv);
7337b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0         ", 1,          r1, r2, cv);
7338b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #1         ", 0,          r1, r2, cv);
7339b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0         ", -1,         r1, r2, cv);
7340b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7341b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7342b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7343b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7344b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7345b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7346b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sub.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7347b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7348b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7349b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) RSB{S}.W Rd, Rn, #constT [allegedly]\n");
7350b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7351b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7352b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7353b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #255       ", 0,          r1, r2, cv);
7354b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0         ", 1,          r1, r2, cv);
7355b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #1         ", 0,          r1, r2, cv);
7356b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0         ", -1,         r1, r2, cv);
7357b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #-1        ", 0,          r1, r2, cv);
7358b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7359b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7360b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7361b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7362b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7363b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsbs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7364b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7365b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7366b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #255       ", 0,          r1, r2, cv);
7367b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0         ", 1,          r1, r2, cv);
7368b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #1         ", 0,          r1, r2, cv);
7369b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0         ", -1,         r1, r2, cv);
7370b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7371b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7372b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7373b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7374b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7375b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7376b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rsb.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7377b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7378b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7379b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) ADC{S}.W Rd, Rn, #constT [allegedly]\n");
7380b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7381b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7382b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7383b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #255       ", 0,          r1, r2, cv);
7384b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0         ", 1,          r1, r2, cv);
7385b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #1         ", 0,          r1, r2, cv);
7386b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0         ", -1,         r1, r2, cv);
7387b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #-1        ", 0,          r1, r2, cv);
7388b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7389b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7390b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7391b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7392b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7393b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7394b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7395b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7396b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #255       ", 0,          r1, r2, cv);
7397b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0         ", 1,          r1, r2, cv);
7398b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #1         ", 0,          r1, r2, cv);
7399b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0         ", -1,         r1, r2, cv);
7400b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7401b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7402b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7403b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7404b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7405b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7406b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("adc.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7407b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7408b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7409b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) SBC{S}.W Rd, Rn, #constT [allegedly]\n");
7410b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7411b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7412b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7413b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #255       ", 0,          r1, r2, cv);
7414b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0         ", 1,          r1, r2, cv);
7415b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #1         ", 0,          r1, r2, cv);
7416b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0         ", -1,         r1, r2, cv);
7417b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #-1        ", 0,          r1, r2, cv);
7418b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7419b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7420b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7421b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7422b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7423b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7424b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7425b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7426b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #255       ", 0,          r1, r2, cv);
7427b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0         ", 1,          r1, r2, cv);
7428b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #1         ", 0,          r1, r2, cv);
7429b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0         ", -1,         r1, r2, cv);
7430b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7431b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7432b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7433b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7434b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7435b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7436b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("sbc.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7437b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7438b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7439b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) AND{S}.W Rd, Rn, #constT [allegedly]\n");
7440b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7441b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7442b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7443b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #255       ", 0,          r1, r2, cv);
7444b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0         ", 1,          r1, r2, cv);
7445b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #1         ", 0,          r1, r2, cv);
7446b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0         ", -1,         r1, r2, cv);
7447b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #-1        ", 0,          r1, r2, cv);
7448b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7449b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7450b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7451b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7452b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7453b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ands.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7454b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7455b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7456b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #255       ", 0,          r1, r2, cv);
7457b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0         ", 1,          r1, r2, cv);
7458b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #1         ", 0,          r1, r2, cv);
7459b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0         ", -1,         r1, r2, cv);
7460b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7461b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7462b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7463b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7464b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7465b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7466b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("and.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7467b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7468b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7469b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) ORR{S}.W Rd, Rn, #constT [allegedly]\n");
7470b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7471b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7472b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7473b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #255       ", 0,          r1, r2, cv);
7474b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0         ", 1,          r1, r2, cv);
7475b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #1         ", 0,          r1, r2, cv);
7476b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0         ", -1,         r1, r2, cv);
7477b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #-1        ", 0,          r1, r2, cv);
7478b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7479b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7480b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7481b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7482b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7483b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orrs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7484b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7485b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7486b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #255       ", 0,          r1, r2, cv);
7487b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0         ", 1,          r1, r2, cv);
7488b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #1         ", 0,          r1, r2, cv);
7489b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0         ", -1,         r1, r2, cv);
7490b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7491b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7492b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7493b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7494b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7495b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7496b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("orr.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7497b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7498b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7499b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) EOR{S}.W Rd, Rn, #constT [allegedly]\n");
7500b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7501b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7502b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7503b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #255       ", 0,          r1, r2, cv);
7504b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0         ", 1,          r1, r2, cv);
7505b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #1         ", 0,          r1, r2, cv);
7506b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0         ", -1,         r1, r2, cv);
7507b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #-1        ", 0,          r1, r2, cv);
7508b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7509b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7510b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7511b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7512b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7513b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eors.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7514b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7515b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7516b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #255       ", 0,          r1, r2, cv);
7517b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0         ", 1,          r1, r2, cv);
7518b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #1         ", 0,          r1, r2, cv);
7519b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0         ", -1,         r1, r2, cv);
7520b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7521b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7522b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7523b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7524b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7525b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7526b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("eor.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7527b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7528b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7529b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T3) BIC{S}.W Rd, Rn, #constT [allegedly]\n");
7530b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7531b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7532b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7533b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #255       ", 0,          r1, r2, cv);
7534b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0         ", 1,          r1, r2, cv);
7535b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #1         ", 0,          r1, r2, cv);
7536b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0         ", -1,         r1, r2, cv);
7537b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #-1        ", 0,          r1, r2, cv);
7538b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0x80000000", 0,          r1, r2, cv);
7539b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0         ", 0x80000000, r1, r2, cv);
7540b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7541b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7542b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7543b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bics.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7544b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
7545b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
7546b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #255       ", 0,          r1, r2, cv);
7547b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0         ", 1,          r1, r2, cv);
7548b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #1         ", 0,          r1, r2, cv);
7549b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0         ", -1,         r1, r2, cv);
7550b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #-1        ", 0,          r1, r2, cv);
7551b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0x80000000", 0,          r1, r2, cv);
7552b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0         ", 0x80000000, r1, r2, cv);
7553b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
7554b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
7555b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
7556b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("bic.w  r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
7557b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7558b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7559b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ADD{S}.W Rd, Rn, Rm, {shift}\n");
7560b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7561b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7562b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7563b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7564b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7565b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7566b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7567b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7568b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7569b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7570b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7571b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7572b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7573b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7574b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7575b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7576b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7577b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7578b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7579b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7580b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7581b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7582b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7583b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7584b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7585b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7586b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7587b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7588b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7589b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7590b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7591b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7592b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7593b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7594b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7595b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7596b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7597b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7598b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7599b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7600b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7601b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7602b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7603b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7604b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7605b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7606b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7607b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7608b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7609b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
7610b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
7611b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
7612b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
7613b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
7614b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
7615b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
7616b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
7617b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
7618b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
7619b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
7620b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
7621b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
7622b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
7623b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
7624b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
7625b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
7626b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
7627b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
7628b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
7629b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
7630b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
7631b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
7632b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
7633b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
7634b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
7635b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
7636b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
7637b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
7638b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
7639b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
7640b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
7641b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
7642b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
7643b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
7644b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
7645b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
7646b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
7647b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
7648b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
7649b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
7650b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
7651b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
7652b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
7653b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
7654b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
7655b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
7656b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
7657b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
7658b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
7659b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
7660b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
7661b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
7662b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
7663b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
7664b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
7665b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
7666b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
7667b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
7668b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
7669b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
7670b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
7671b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
7672b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
7673b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
7674b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
7675b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
7676b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
7677b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
7678b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
7679b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
7680b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
7681b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
7682b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
7683b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
7684b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
7685b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
7686b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
7687b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
7688b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
7689b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
7690b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
7691b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
7692b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
7693b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
7694b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
7695b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
7696b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
7697b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
7698b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
7699b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
7700b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
7701b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
7702b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
7703b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
7704b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
7705b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
7706b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
7707b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
7708b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
7709b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
7710b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
7711b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
7712b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
7713b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
7714b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
7715b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
7716b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
7717b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
7718b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
7719b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
7720b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
7721b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
7722b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
7723b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
7724b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
7725b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
7726b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
7727b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
7728b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
7729b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
7730b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
7731b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
7732b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
7733b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
7734b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
7735b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
7736b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
7737b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
7738b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
7739b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
7740b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
7741b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
7742b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
7743b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
7744b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
7745b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
7746b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
7747b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
7748b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
7749b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
7750b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
7751b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
7752b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
7753b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
7754b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
7755b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
7756b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
7757b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
7758b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
7759b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
7760b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
7761b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
7762b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
7763b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
7764b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
7765b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
7766b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
7767b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
7768b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
7769b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
7770b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
7771b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
7772b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
7773b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
7774b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
7775b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
7776b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
7777b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7778b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7779b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
7780b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
7781b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7782b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7783b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
7784b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
7785b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7786b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7787b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
7788b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
7789b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7790b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7791b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
7792b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
7793b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7794b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7795b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
7796b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
7797b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7798b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
7799b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
7800b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
7801b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7802b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7803b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7804b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7805b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7806b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7807b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7808b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7809b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7810b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7811b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7812b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7813b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7814b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7815b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7816b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7817b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7818b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7819b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7820b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7821b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7822b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7823b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7824b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
7825b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7826b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7827b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7828b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7829b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7830b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7831b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7832b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7833b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7834b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7835b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7836b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7837b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7838b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7839b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7840b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7841b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7842b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7843b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7844b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7845b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7846b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7847b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7848b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
7849b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7850b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7851b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7852b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7853b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7854b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7855b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7856b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7857b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7858b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7859b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7860b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7861b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7862b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7863b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7864b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7865b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7866b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7867b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7868b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7869b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7870b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7871b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7872b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("add.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
7873b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
7874b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
7875b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("SUBB{S}.W Rd, Rn, Rm, {shift}\n");
7876b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
7877b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7878b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7879b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7880b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7881b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7882b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7883b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7884b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7885b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7886b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7887b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7888b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7889b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7890b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7891b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7892b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7893b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7894b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7895b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7896b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7897b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7898b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
7899b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
7900b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
7901b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7902b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7903b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7904b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7905b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7906b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7907b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7908b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7909b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7910b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7911b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7912b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7913b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7914b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7915b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7916b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7917b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7918b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7919b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7920b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7921b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7922b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
7923b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
7924b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
7925b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
7926b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
7927b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
7928b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
7929b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
7930b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
7931b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
7932b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
7933b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
7934b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
7935b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
7936b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
7937b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
7938b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
7939b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
7940b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
7941b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
7942b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
7943b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
7944b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
7945b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
7946b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
7947b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
7948b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
7949b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
7950b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
7951b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
7952b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
7953b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
7954b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
7955b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
7956b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
7957b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
7958b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
7959b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
7960b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
7961b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
7962b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
7963b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
7964b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
7965b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
7966b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
7967b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
7968b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
7969b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
7970b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
7971b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
7972b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
7973b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
7974b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
7975b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
7976b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
7977b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
7978b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
7979b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
7980b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
7981b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
7982b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
7983b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
7984b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
7985b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
7986b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
7987b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
7988b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
7989b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
7990b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
7991b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
7992b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
7993b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
7994b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
7995b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
7996b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
7997b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
7998b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
7999b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8000b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8001b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8002b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8003b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8004b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8005b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8006b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8007b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8008b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8009b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
8010b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
8011b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8012b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8013b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8014b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8015b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8016b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8017b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8018b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8019b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8020b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8021b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8022b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8023b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8024b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8025b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8026b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8027b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8028b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8029b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8030b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8031b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8032b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8033b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8034b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8035b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8036b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8037b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8038b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8039b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8040b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8041b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8042b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8043b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8044b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8045b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
8046b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
8047b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
8048b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
8049b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8050b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8051b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
8052b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
8053b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8054b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8055b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
8056b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
8057b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
8058b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
8059b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
8060b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
8061b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8062b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8063b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
8064b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
8065b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8066b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8067b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
8068b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
8069b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8070b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8071b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
8072b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
8073b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8074b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8075b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
8076b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
8077b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8078b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8079b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
8080b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
8081b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8082b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8083b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
8084b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
8085b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8086b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8087b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
8088b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
8089b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8090b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8091b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
8092b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
8093b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8094b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8095b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8096b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8097b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8098b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8099b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8100b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8101b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8102b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8103b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8104b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8105b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8106b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8107b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8108b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8109b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8110b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8111b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8112b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8113b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8114b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8115b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8116b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8117b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8118b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8119b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8120b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8121b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8122b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8123b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8124b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8125b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8126b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8127b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8128b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8129b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8130b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8131b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8132b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8133b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8134b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8135b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8136b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8137b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8138b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8139b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8140b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8141b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8142b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8143b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8144b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8145b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8146b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8147b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8148b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8149b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8150b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8151b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8152b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8153b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8154b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8155b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8156b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8157b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8158b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8159b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8160b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8161b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8162b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8163b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8164b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8165b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8166b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8167b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8168b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8169b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8170b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8171b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8172b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8173b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8174b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8175b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8176b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8177b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8178b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8179b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8180b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8181b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8182b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8183b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8184b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8185b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8186b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8187b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8188b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sub.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8189b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
8190b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
8191b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("RSB{S}.W Rd, Rn, Rm, {shift}\n");
8192b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
8193b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8194b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8195b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8196b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8197b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8198b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8199b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8200b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8201b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8202b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8203b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8204b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8205b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8206b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8207b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8208b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8209b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8210b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8211b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8212b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8213b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8214b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8215b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8216b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8217b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8218b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8219b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8220b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8221b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8222b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8223b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8224b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8225b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8226b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8227b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8228b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8229b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8230b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8231b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8232b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8233b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8234b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8235b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8236b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8237b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8238b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8239b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8240b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8241b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
8242b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
8243b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
8244b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
8245b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
8246b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
8247b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
8248b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
8249b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
8250b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
8251b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
8252b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
8253b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
8254b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
8255b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
8256b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
8257b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
8258b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
8259b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
8260b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
8261b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
8262b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
8263b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
8264b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
8265b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
8266b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
8267b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
8268b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
8269b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
8270b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
8271b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
8272b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
8273b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
8274b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
8275b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
8276b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
8277b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
8278b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
8279b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
8280b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
8281b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
8282b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
8283b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
8284b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
8285b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
8286b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
8287b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
8288b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
8289b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
8290b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
8291b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
8292b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
8293b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
8294b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
8295b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
8296b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
8297b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
8298b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
8299b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
8300b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
8301b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
8302b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
8303b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
8304b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
8305b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
8306b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
8307b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
8308b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
8309b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
8310b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
8311b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
8312b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
8313b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
8314b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
8315b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8316b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8317b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8318b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8319b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8320b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8321b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8322b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8323b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8324b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8325b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
8326b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
8327b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8328b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8329b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8330b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8331b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8332b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8333b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8334b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8335b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8336b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8337b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8338b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8339b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8340b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8341b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8342b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8343b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8344b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8345b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8346b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8347b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8348b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8349b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8350b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8351b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8352b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8353b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8354b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8355b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8356b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8357b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8358b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8359b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8360b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8361b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
8362b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
8363b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
8364b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
8365b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8366b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8367b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
8368b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
8369b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8370b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8371b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
8372b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
8373b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
8374b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
8375b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
8376b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
8377b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8378b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8379b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
8380b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
8381b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8382b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8383b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
8384b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
8385b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8386b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8387b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
8388b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
8389b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8390b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8391b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
8392b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
8393b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8394b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8395b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
8396b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
8397b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8398b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8399b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
8400b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
8401b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8402b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8403b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
8404b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
8405b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8406b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8407b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
8408b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
8409b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8410b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8411b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8412b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8413b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8414b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8415b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8416b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8417b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8418b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8419b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8420b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8421b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8422b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8423b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8424b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8425b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8426b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8427b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8428b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8429b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8430b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8431b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8432b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8433b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8434b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8435b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8436b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8437b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8438b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8439b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8440b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8441b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8442b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8443b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8444b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8445b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8446b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8447b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8448b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8449b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8450b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8451b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8452b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8453b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8454b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8455b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8456b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8457b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8458b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8459b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8460b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8461b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8462b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8463b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8464b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8465b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8466b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8467b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8468b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8469b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8470b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8471b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8472b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8473b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8474b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8475b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8476b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8477b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8478b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8479b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8480b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8481b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8482b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8483b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8484b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8485b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8486b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8487b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8488b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8489b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8490b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8491b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8492b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8493b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8494b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8495b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8496b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8497b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8498b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8499b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8500b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8501b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8502b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8503b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8504b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rsb.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8505b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
8506b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
8507b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ADC{S}.W Rd, Rn, Rm, {shift}\n");
8508b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
8509b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8510b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8511b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8512b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8513b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8514b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8515b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8516b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8517b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8518b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8519b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8520b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8521b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8522b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8523b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8524b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8525b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8526b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8527b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8528b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8529b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8530b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8531b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8532b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8533b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8534b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8535b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8536b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8537b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8538b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8539b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8540b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8541b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8542b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8543b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8544b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8545b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8546b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8547b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8548b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8549b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8550b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8551b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8552b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8553b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8554b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8555b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8556b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8557b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
8558b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
8559b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
8560b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
8561b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
8562b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
8563b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
8564b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
8565b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
8566b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
8567b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
8568b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
8569b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
8570b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
8571b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
8572b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
8573b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
8574b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
8575b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
8576b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
8577b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
8578b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
8579b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
8580b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
8581b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
8582b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
8583b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
8584b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
8585b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
8586b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
8587b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
8588b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
8589b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
8590b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
8591b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
8592b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
8593b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
8594b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
8595b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
8596b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
8597b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
8598b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
8599b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
8600b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
8601b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
8602b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
8603b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
8604b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
8605b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
8606b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
8607b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
8608b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
8609b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
8610b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
8611b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
8612b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
8613b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
8614b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
8615b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
8616b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
8617b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
8618b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
8619b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
8620b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
8621b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
8622b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
8623b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
8624b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
8625b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
8626b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
8627b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
8628b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
8629b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
8630b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
8631b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8632b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8633b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8634b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8635b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8636b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8637b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8638b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8639b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8640b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8641b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
8642b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
8643b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8644b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8645b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8646b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8647b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8648b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8649b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8650b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8651b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8652b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8653b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8654b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8655b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8656b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8657b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8658b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8659b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8660b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8661b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8662b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8663b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8664b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8665b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8666b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8667b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8668b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8669b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8670b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8671b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8672b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8673b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8674b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8675b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8676b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8677b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
8678b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
8679b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
8680b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
8681b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8682b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8683b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
8684b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
8685b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8686b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8687b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
8688b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
8689b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
8690b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
8691b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
8692b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
8693b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8694b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8695b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
8696b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
8697b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8698b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8699b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
8700b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
8701b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8702b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8703b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
8704b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
8705b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8706b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8707b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
8708b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
8709b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8710b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8711b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
8712b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
8713b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8714b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8715b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
8716b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
8717b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8718b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8719b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
8720b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
8721b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
8722b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
8723b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
8724b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
8725b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8726b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8727b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8728b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8729b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8730b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8731b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8732b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8733b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8734b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8735b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8736b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8737b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8738b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8739b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8740b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8741b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8742b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8743b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8744b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8745b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8746b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
8747b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
8748b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
8749b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8750b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8751b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8752b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8753b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8754b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8755b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8756b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8757b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8758b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8759b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8760b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8761b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8762b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8763b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8764b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8765b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8766b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8767b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8768b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8769b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8770b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8771b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8772b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
8773b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8774b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8775b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8776b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8777b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8778b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8779b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8780b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8781b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8782b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8783b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8784b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8785b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8786b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8787b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8788b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8789b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8790b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8791b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8792b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8793b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8794b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8795b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8796b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
8797b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8798b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8799b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8800b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8801b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8802b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8803b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8804b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8805b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8806b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8807b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8808b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8809b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8810b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8811b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8812b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8813b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8814b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8815b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8816b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8817b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8818b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8819b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8820b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("adc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
8821b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
8822b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
8823b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("SBC{S}.W Rd, Rn, Rm, {shift}\n");
8824b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
8825b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8826b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8827b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8828b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8829b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8830b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8831b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8832b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8833b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8834b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8835b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8836b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8837b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8838b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8839b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8840b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8841b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8842b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8843b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8844b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8845b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8846b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
8847b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
8848b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
8849b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8850b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8851b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8852b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8853b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8854b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8855b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8856b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8857b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8858b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8859b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8860b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8861b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8862b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8863b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8864b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8865b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8866b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8867b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8868b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8869b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8870b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
8871b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
8872b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
8873b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
8874b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
8875b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
8876b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
8877b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
8878b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
8879b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
8880b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
8881b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
8882b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
8883b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
8884b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
8885b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
8886b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
8887b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
8888b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
8889b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
8890b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
8891b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
8892b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
8893b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
8894b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
8895b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
8896b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
8897b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
8898b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
8899b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
8900b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
8901b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
8902b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
8903b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
8904b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
8905b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
8906b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
8907b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
8908b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
8909b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
8910b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
8911b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
8912b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
8913b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
8914b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
8915b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
8916b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
8917b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
8918b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
8919b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
8920b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
8921b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
8922b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
8923b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
8924b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
8925b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
8926b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
8927b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
8928b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
8929b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
8930b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
8931b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
8932b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
8933b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
8934b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
8935b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
8936b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
8937b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
8938b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
8939b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
8940b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
8941b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
8942b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
8943b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
8944b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
8945b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
8946b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
8947b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8948b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8949b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8950b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8951b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8952b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8953b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8954b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8955b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8956b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8957b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
8958b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
8959b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
8960b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
8961b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
8962b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
8963b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
8964b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
8965b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
8966b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
8967b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
8968b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
8969b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8970b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8971b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8972b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8973b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8974b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8975b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8976b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8977b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8978b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8979b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8980b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8981b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
8982b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
8983b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
8984b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
8985b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
8986b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
8987b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
8988b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
8989b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
8990b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
8991b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
8992b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
8993b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
8994b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
8995b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
8996b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
8997b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
8998b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
8999b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9000b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9001b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9002b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9003b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9004b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9005b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
9006b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
9007b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
9008b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
9009b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9010b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9011b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9012b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9013b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9014b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9015b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9016b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9017b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9018b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9019b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9020b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9021b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9022b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9023b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9024b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9025b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9026b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9027b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9028b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9029b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9030b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9031b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9032b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9033b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9034b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9035b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9036b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9037b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9038b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9039b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9040b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9041b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9042b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9043b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9044b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9045b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9046b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9047b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9048b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9049b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9050b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9051b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9052b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9053b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9054b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9055b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9056b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9057b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9058b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9059b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9060b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9061b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9062b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9063b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9064b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9065b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9066b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9067b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9068b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9069b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9070b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9071b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9072b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9073b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9074b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9075b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9076b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9077b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9078b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9079b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9080b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9081b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9082b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9083b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9084b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9085b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9086b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9087b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9088b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9089b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9090b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9091b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9092b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9093b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9094b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9095b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9096b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9097b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9098b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9099b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9100b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9101b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9102b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9103b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9104b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9105b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9106b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9107b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9108b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9109b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9110b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9111b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9112b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9113b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9114b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9115b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9116b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9117b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9118b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9119b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9120b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9121b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9122b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9123b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9124b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9125b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9126b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9127b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9128b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9129b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9130b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9131b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9132b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9133b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9134b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9135b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9136b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("sbc.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9137b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
9138b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
9139b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
9140b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("XXX{S}.W Rd, Rn, Rm, {shift}\n");
9141b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
9142b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9143b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9144b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9145b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9146b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9147b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9148b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9149b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9150b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9151b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9152b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9153b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9154b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9155b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9156b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9157b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9158b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9159b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9160b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9161b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9162b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9163b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9164b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9165b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9166b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9167b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9168b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9169b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9170b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9171b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9172b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9173b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9174b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9175b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9176b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9177b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9178b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9179b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9180b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9181b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9182b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9183b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9184b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9185b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9186b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9187b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9188b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9189b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9190b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
9191b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
9192b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
9193b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
9194b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
9195b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
9196b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
9197b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
9198b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
9199b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
9200b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
9201b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
9202b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
9203b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
9204b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
9205b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
9206b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
9207b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
9208b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
9209b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
9210b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
9211b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
9212b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
9213b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
9214b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
9215b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
9216b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
9217b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
9218b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
9219b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
9220b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
9221b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
9222b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
9223b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
9224b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
9225b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
9226b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
9227b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
9228b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
9229b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
9230b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
9231b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
9232b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
9233b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
9234b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
9235b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
9236b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
9237b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
9238b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
9239b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
9240b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
9241b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
9242b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
9243b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
9244b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
9245b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
9246b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
9247b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
9248b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
9249b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
9250b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
9251b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
9252b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
9253b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
9254b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
9255b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
9256b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
9257b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
9258b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
9259b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
9260b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
9261b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
9262b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
9263b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
9264b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
9265b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
9266b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
9267b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
9268b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
9269b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
9270b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
9271b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
9272b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
9273b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
9274b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
9275b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
9276b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
9277b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
9278b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
9279b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
9280b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
9281b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
9282b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
9283b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
9284b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
9285b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
9286b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
9287b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
9288b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
9289b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
9290b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
9291b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
9292b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
9293b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
9294b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
9295b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
9296b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
9297b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
9298b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
9299b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
9300b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
9301b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
9302b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
9303b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
9304b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
9305b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
9306b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
9307b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
9308b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
9309b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
9310b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
9311b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
9312b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
9313b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
9314b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9315b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9316b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9317b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9318b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9319b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9320b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9321b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9322b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
9323b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
9324b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
9325b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
9326b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9327b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9328b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9329b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9330b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9331b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9332b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9333b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9334b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9335b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9336b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9337b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9338b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9339b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9340b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9341b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9342b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9343b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9344b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9345b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9346b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9347b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9348b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9349b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9350b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9351b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9352b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9353b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9354b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9355b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9356b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9357b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9358b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9359b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9360b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9361b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9362b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9363b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9364b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9365b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9366b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9367b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9368b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9369b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9370b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9371b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9372b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9373b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9374b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9375b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9376b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9377b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9378b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9379b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9380b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9381b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9382b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9383b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9384b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9385b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9386b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9387b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9388b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9389b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9390b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9391b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9392b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9393b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9394b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9395b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9396b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9397b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9398b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9399b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9400b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9401b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9402b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9403b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9404b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9405b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9406b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9407b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9408b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9409b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9410b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9411b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9412b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9413b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9414b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9415b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9416b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9417b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9418b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9419b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9420b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9421b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9422b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9423b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9424b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9425b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9426b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9427b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9428b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9429b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9430b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9431b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9432b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9433b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9434b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9435b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9436b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9437b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9438b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9439b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9440b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9441b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9442b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9443b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9444b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9445b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9446b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9447b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9448b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9449b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9450b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9451b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9452b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9453b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("xxx.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9454b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
9455b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
9456b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
9457b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("AND{S}.W Rd, Rn, Rm, {shift}\n");
9458b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
9459b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9460b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9461b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9462b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9463b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9464b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9465b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9466b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9467b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9468b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9469b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9470b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9471b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9472b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9473b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9474b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9475b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9476b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9477b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9478b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9479b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9480b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9481b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9482b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9483b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9484b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9485b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9486b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9487b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9488b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9489b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9490b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9491b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9492b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9493b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9494b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9495b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9496b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9497b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9498b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9499b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9500b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9501b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9502b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9503b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9504b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9505b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9506b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9507b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
9508b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
9509b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
9510b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
9511b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
9512b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
9513b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
9514b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
9515b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
9516b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
9517b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
9518b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
9519b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
9520b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
9521b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
9522b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
9523b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
9524b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
9525b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
9526b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
9527b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
9528b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
9529b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
9530b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
9531b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
9532b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
9533b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
9534b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
9535b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
9536b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
9537b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
9538b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
9539b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
9540b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
9541b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
9542b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
9543b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
9544b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
9545b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
9546b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
9547b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
9548b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
9549b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
9550b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
9551b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
9552b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
9553b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
9554b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
9555b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
9556b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
9557b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
9558b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
9559b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
9560b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
9561b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
9562b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
9563b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
9564b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
9565b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
9566b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
9567b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
9568b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
9569b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
9570b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
9571b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
9572b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
9573b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
9574b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
9575b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
9576b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
9577b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
9578b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
9579b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
9580b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
9581b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
9582b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
9583b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
9584b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
9585b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
9586b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
9587b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
9588b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
9589b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
9590b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
9591b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
9592b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
9593b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
9594b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
9595b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
9596b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
9597b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
9598b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
9599b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
9600b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
9601b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
9602b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
9603b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
9604b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
9605b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
9606b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
9607b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
9608b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
9609b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
9610b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
9611b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
9612b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
9613b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
9614b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
9615b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
9616b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
9617b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
9618b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
9619b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
9620b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
9621b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
9622b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
9623b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
9624b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
9625b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
9626b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
9627b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
9628b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
9629b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
9630b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
9631b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9632b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9633b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9634b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9635b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9636b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9637b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9638b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9639b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
9640b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
9641b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
9642b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
9643b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9644b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9645b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9646b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9647b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9648b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9649b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9650b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9651b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9652b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9653b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9654b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9655b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9656b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9657b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9658b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9659b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9660b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9661b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9662b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9663b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9664b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9665b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9666b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9667b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9668b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9669b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9670b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9671b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9672b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9673b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9674b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9675b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9676b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9677b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9678b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9679b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9680b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9681b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9682b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9683b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9684b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9685b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9686b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9687b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9688b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9689b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9690b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9691b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9692b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9693b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9694b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9695b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9696b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9697b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9698b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9699b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9700b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9701b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9702b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9703b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9704b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9705b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9706b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9707b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9708b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9709b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9710b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9711b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9712b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9713b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9714b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9715b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9716b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9717b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9718b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9719b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9720b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9721b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9722b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
9723b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9724b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9725b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9726b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9727b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9728b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9729b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9730b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9731b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9732b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9733b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9734b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9735b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9736b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9737b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9738b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9739b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9740b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9741b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9742b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9743b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9744b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9745b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9746b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
9747b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9748b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9749b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9750b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9751b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9752b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9753b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9754b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9755b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9756b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9757b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9758b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9759b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9760b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9761b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9762b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9763b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9764b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9765b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9766b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9767b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9768b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9769b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9770b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("and.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
9771b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
9772b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
9773b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("ORR{S}.W Rd, Rn, Rm, {shift}\n");
9774b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
9775b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9776b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9777b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9778b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9779b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9780b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9781b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9782b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9783b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9784b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9785b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9786b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9787b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9788b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9789b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9790b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9791b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9792b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9793b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9794b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9795b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9796b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
9797b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
9798b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
9799b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9800b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9801b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9802b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9803b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9804b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9805b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9806b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9807b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9808b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9809b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9810b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9811b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9812b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9813b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9814b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9815b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9816b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9817b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9818b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9819b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9820b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
9821b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
9822b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
9823b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
9824b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
9825b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
9826b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
9827b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
9828b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
9829b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
9830b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
9831b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
9832b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
9833b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
9834b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
9835b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
9836b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
9837b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
9838b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
9839b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
9840b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
9841b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
9842b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
9843b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
9844b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
9845b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
9846b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
9847b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
9848b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
9849b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
9850b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
9851b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
9852b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
9853b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
9854b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
9855b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
9856b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
9857b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
9858b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
9859b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
9860b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
9861b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
9862b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
9863b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
9864b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
9865b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
9866b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
9867b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
9868b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
9869b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
9870b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
9871b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
9872b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
9873b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
9874b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
9875b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
9876b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
9877b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
9878b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
9879b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
9880b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
9881b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
9882b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
9883b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
9884b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
9885b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
9886b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
9887b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
9888b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
9889b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
9890b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
9891b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
9892b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
9893b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
9894b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
9895b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
9896b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
9897b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
9898b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
9899b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
9900b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
9901b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
9902b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
9903b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
9904b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
9905b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
9906b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
9907b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
9908b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
9909b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
9910b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
9911b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
9912b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
9913b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
9914b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
9915b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
9916b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
9917b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
9918b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
9919b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
9920b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
9921b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
9922b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
9923b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
9924b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
9925b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
9926b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
9927b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
9928b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
9929b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
9930b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
9931b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
9932b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
9933b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
9934b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
9935b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
9936b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
9937b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
9938b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
9939b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
9940b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
9941b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
9942b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
9943b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
9944b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
9945b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
9946b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
9947b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9948b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9949b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9950b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9951b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9952b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9953b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9954b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9955b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
9956b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
9957b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
9958b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
9959b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9960b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9961b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
9962b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
9963b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
9964b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
9965b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
9966b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
9967b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9968b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9969b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9970b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9971b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9972b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9973b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9974b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9975b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9976b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9977b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9978b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9979b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9980b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9981b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
9982b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
9983b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9984b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9985b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
9986b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
9987b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
9988b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
9989b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
9990b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
9991b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9992b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9993b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9994b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9995b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9996b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
9997b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
9998b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
9999b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10000b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10001b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10002b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10003b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10004b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10005b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10006b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10007b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10008b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10009b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10010b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10011b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10012b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10013b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10014b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10015b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10016b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10017b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10018b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10019b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10020b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10021b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10022b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10023b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10024b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10025b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10026b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10027b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10028b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10029b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10030b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10031b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10032b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10033b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10034b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10035b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10036b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10037b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10038b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10039b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10040b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10041b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10042b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10043b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10044b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10045b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10046b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10047b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10048b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10049b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10050b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10051b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10052b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10053b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10054b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10055b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10056b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10057b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10058b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10059b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10060b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10061b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10062b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10063b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10064b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10065b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10066b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10067b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10068b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10069b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10070b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10071b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10072b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10073b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10074b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10075b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10076b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10077b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10078b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10079b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10080b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10081b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10082b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10083b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10084b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10085b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10086b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("orr.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10087b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
10088b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
10089b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("EOR{S}.W Rd, Rn, Rm, {shift}\n");
10090b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
10091b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10092b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10093b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10094b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10095b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10096b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10097b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10098b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10099b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10100b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10101b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10102b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10103b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10104b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10105b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10106b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10107b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10108b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10109b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10110b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10111b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10112b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10113b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10114b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10115b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10116b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10117b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10118b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10119b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10120b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10121b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10122b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10123b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10124b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10125b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10126b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10127b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10128b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10129b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10130b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10131b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10132b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10133b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10134b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10135b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10136b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10137b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10138b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10139b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
10140b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
10141b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
10142b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
10143b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
10144b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
10145b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
10146b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
10147b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
10148b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
10149b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
10150b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
10151b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
10152b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
10153b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
10154b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
10155b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
10156b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
10157b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
10158b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
10159b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
10160b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
10161b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
10162b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
10163b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
10164b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
10165b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
10166b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
10167b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
10168b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
10169b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
10170b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
10171b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
10172b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
10173b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
10174b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
10175b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
10176b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
10177b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
10178b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
10179b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
10180b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
10181b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
10182b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
10183b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
10184b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
10185b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
10186b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
10187b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
10188b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
10189b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
10190b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
10191b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
10192b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
10193b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
10194b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
10195b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
10196b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
10197b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
10198b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
10199b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
10200b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
10201b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
10202b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
10203b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
10204b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
10205b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
10206b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
10207b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
10208b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
10209b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
10210b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
10211b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
10212b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
10213b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
10214b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
10215b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
10216b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
10217b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
10218b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
10219b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
10220b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
10221b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
10222b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
10223b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
10224b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
10225b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
10226b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
10227b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
10228b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
10229b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
10230b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
10231b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
10232b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
10233b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
10234b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
10235b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
10236b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
10237b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
10238b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
10239b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
10240b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
10241b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
10242b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
10243b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
10244b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
10245b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
10246b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
10247b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
10248b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
10249b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
10250b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
10251b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
10252b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
10253b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
10254b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
10255b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
10256b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
10257b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
10258b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
10259b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
10260b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
10261b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
10262b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
10263b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10264b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10265b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
10266b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
10267b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10268b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10269b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
10270b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
10271b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
10272b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
10273b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
10274b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
10275b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10276b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10277b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
10278b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
10279b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10280b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10281b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
10282b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
10283b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10284b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10285b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
10286b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
10287b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10288b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10289b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
10290b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
10291b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10292b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10293b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
10294b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
10295b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10296b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10297b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
10298b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
10299b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10300b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10301b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
10302b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
10303b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10304b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10305b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
10306b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
10307b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10308b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10309b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10310b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10311b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10312b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10313b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10314b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10315b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10316b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10317b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10318b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10319b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10320b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10321b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10322b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10323b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10324b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10325b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10326b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10327b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10328b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10329b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10330b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10331b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10332b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10333b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10334b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10335b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10336b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10337b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10338b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10339b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10340b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10341b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10342b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10343b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10344b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10345b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10346b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10347b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10348b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10349b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10350b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10351b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10352b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10353b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10354b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10355b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10356b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10357b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10358b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10359b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10360b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10361b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10362b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10363b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10364b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10365b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10366b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10367b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10368b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10369b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10370b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10371b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10372b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10373b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10374b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10375b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10376b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10377b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10378b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10379b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10380b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10381b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10382b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10383b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10384b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10385b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10386b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10387b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10388b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10389b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10390b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10391b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10392b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10393b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10394b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10395b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10396b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10397b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10398b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10399b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10400b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10401b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10402b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("eor.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10403b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
10404b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
10405b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("BIC{S}.W Rd, Rn, Rm, {shift}\n");
10406b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
10407b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10408b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10409b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10410b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10411b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10412b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10413b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10414b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10415b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10416b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10417b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10418b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10419b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10420b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10421b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10422b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10423b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10424b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10425b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10426b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10427b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10428b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
10429b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
10430b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
10431b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10432b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10433b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10434b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10435b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10436b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10437b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10438b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10439b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10440b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10441b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10442b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10443b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10444b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10445b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10446b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10447b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10448b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10449b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10450b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10451b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10452b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
10453b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
10454b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
10455b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
10456b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
10457b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
10458b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
10459b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
10460b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
10461b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
10462b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
10463b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
10464b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
10465b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
10466b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
10467b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          0,          r1, r2, r3, cv);
10468b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          0,          r1, r2, r3, cv);
10469b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          0,          r1, r2, r3, cv);
10470b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          0,          r1, r2, r3, cv);
10471b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          0,          r1, r2, r3, cv);
10472b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          0,          r1, r2, r3, cv);
10473b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          0,          r1, r2, r3, cv);
10474b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          0,          r1, r2, r3, cv);
10475b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          0,          r1, r2, r3, cv);
10476b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          0,          r1, r2, r3, cv);
10477b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          0,          r1, r2, r3, cv);
10478b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          0,          r1, r2, r3, cv);
10479b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
10480b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
10481b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
10482b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
10483b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
10484b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
10485b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
10486b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
10487b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
10488b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
10489b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
10490b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
10491b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 1,          0,          r1, r2, r3, cv);
10492b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 1,          0,          r1, r2, r3, cv);
10493b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 1,          0,          r1, r2, r3, cv);
10494b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 1,          0,          r1, r2, r3, cv);
10495b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 1,          0,          r1, r2, r3, cv);
10496b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 1,          0,          r1, r2, r3, cv);
10497b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 1,          0,          r1, r2, r3, cv);
10498b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 1,          0,          r1, r2, r3, cv);
10499b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 1,          0,          r1, r2, r3, cv);
10500b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 1,          0,          r1, r2, r3, cv);
10501b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 1,          0,          r1, r2, r3, cv);
10502b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 1,          0,          r1, r2, r3, cv);
10503b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
10504b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
10505b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
10506b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
10507b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
10508b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
10509b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
10510b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
10511b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
10512b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
10513b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
10514b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
10515b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          1,          r1, r2, r3, cv);
10516b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          1,          r1, r2, r3, cv);
10517b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          1,          r1, r2, r3, cv);
10518b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          1,          r1, r2, r3, cv);
10519b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          1,          r1, r2, r3, cv);
10520b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          1,          r1, r2, r3, cv);
10521b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          1,          r1, r2, r3, cv);
10522b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          1,          r1, r2, r3, cv);
10523b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          1,          r1, r2, r3, cv);
10524b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          1,          r1, r2, r3, cv);
10525b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          1,          r1, r2, r3, cv);
10526b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          1,          r1, r2, r3, cv);
10527b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
10528b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
10529b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
10530b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
10531b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
10532b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
10533b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
10534b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
10535b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
10536b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
10537b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
10538b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
10539b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", -1,         0,          r1, r2, r3, cv);
10540b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", -1,         0,          r1, r2, r3, cv);
10541b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", -1,         0,          r1, r2, r3, cv);
10542b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", -1,         0,          r1, r2, r3, cv);
10543b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", -1,         0,          r1, r2, r3, cv);
10544b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", -1,         0,          r1, r2, r3, cv);
10545b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", -1,         0,          r1, r2, r3, cv);
10546b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", -1,         0,          r1, r2, r3, cv);
10547b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", -1,         0,          r1, r2, r3, cv);
10548b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", -1,         0,          r1, r2, r3, cv);
10549b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", -1,         0,          r1, r2, r3, cv);
10550b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", -1,         0,          r1, r2, r3, cv);
10551b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
10552b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
10553b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
10554b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
10555b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
10556b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
10557b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
10558b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
10559b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
10560b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
10561b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
10562b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
10563b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          -1,         r1, r2, r3, cv);
10564b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          -1,         r1, r2, r3, cv);
10565b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          -1,         r1, r2, r3, cv);
10566b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          -1,         r1, r2, r3, cv);
10567b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          -1,         r1, r2, r3, cv);
10568b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          -1,         r1, r2, r3, cv);
10569b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          -1,         r1, r2, r3, cv);
10570b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          -1,         r1, r2, r3, cv);
10571b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          -1,         r1, r2, r3, cv);
10572b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          -1,         r1, r2, r3, cv);
10573b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          -1,         r1, r2, r3, cv);
10574b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          -1,         r1, r2, r3, cv);
10575b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
10576b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
10577b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
10578b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
10579b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10580b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10581b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
10582b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
10583b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10584b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10585b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
10586b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
10587b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0,          0x80000000, r1, r2, r3, cv);
10588b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0,          0x80000000, r1, r2, r3, cv);
10589b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0,          0x80000000, r1, r2, r3, cv);
10590b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0,          0x80000000, r1, r2, r3, cv);
10591b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10592b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10593b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0,          0x80000000, r1, r2, r3, cv);
10594b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0,          0x80000000, r1, r2, r3, cv);
10595b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0,          0x80000000, r1, r2, r3, cv);
10596b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0,          0x80000000, r1, r2, r3, cv);
10597b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0,          0x80000000, r1, r2, r3, cv);
10598b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0,          0x80000000, r1, r2, r3, cv);
10599b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10600b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10601b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
10602b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
10603b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10604b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10605b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
10606b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
10607b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10608b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10609b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
10610b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
10611b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10612b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10613b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x80000000, 0,          r1, r2, r3, cv);
10614b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x80000000, 0,          r1, r2, r3, cv);
10615b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10616b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10617b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x80000000, 0,          r1, r2, r3, cv);
10618b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x80000000, 0,          r1, r2, r3, cv);
10619b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x80000000, 0,          r1, r2, r3, cv);
10620b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x80000000, 0,          r1, r2, r3, cv);
10621b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x80000000, 0,          r1, r2, r3, cv);
10622b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x80000000, 0,          r1, r2, r3, cv);
10623b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10624b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10625b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10626b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10627b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10628b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10629b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10630b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10631b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10632b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10633b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10634b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10635b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10636b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10637b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10638b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10639b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10640b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10641b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10642b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10643b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10644b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
10645b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
10646b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
10647b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10648b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10649b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10650b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10651b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10652b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10653b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10654b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10655b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10656b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10657b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10658b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10659b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10660b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10661b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10662b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10663b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10664b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10665b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10666b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10667b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10668b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10669b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10670b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
10671b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10672b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10673b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10674b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10675b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10676b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10677b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10678b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10679b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10680b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10681b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10682b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10683b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10684b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10685b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10686b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10687b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10688b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10689b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10690b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10691b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10692b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10693b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10694b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
10695b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10696b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10697b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10698b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10699b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10700b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10701b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10702b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10703b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10704b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10705b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10706b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10707b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10708b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10709b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10710b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10711b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10712b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10713b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10714b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10715b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10716b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10717b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10718b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("bic.w  r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
10719b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
10720b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
10721b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) LSL{S}.W Rd, Rn, Rm\n");
10722b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
10723b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10724b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
10725b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10726b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
10727b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10728b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
10729b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10730b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
10731b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10732b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
10733b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10734b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
10735b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10736b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
10737b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10738b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsl.w  r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
10739b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
10740b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
10741b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) LSR{S}.W Rd, Rn, Rm\n");
10742b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
10743b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10744b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
10745b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10746b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
10747b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10748b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
10749b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10750b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
10751b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10752b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
10753b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10754b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
10755b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10756b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
10757b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10758b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("lsr.w  r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
10759b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
10760b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
10761b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) ASR{S}.W Rd, Rn, Rm\n");
10762b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
10763b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10764b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv);
10765b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10766b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv);
10767b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10768b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv);
10769b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10770b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv);
10771b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10772b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv);
10773b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10774b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv);
10775b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10776b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv);
10777b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10778b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("asr.w  r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv);
10779b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
10780b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
10781b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#if 0
10782b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   // not handled by vex
10783b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) ROR{S}.W Rd, Rn, Rm\n");
10784b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
10785b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10786b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
10787b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10788b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
10789b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10790b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
10791b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10792b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
10793b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
10794b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv);
10795b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv);
10796b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv);
10797b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv);
10798b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv);
10799b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv);
10800b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST3("ror.w  r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv);
10801b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
10802b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#endif
10803b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
10804b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("MVN{S}.W Rd, Rn, shift,   and MOV{S}.W ditto\n");
10805b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
10806b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10807b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10808b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
10809b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
10810b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10811b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10812b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
10813b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
10814b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10815b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10816b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
10817b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
10818b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10819b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10820b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #15", 0x7fffffff, r1, r2, cv);
10821b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #31", 0x7fffffff, r1, r2, cv);
10822b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10823b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10824b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
10825b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
10826b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10827b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10828b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
10829b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
10830b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10831b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10832b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
10833b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
10834b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #0 ", 0x7fffffff, r1, r2, cv);
10835b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #1 ", 0x7fffffff, r1, r2, cv);
10836b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #15", 0x7fffffff, r1, r2, cv);
10837b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #31", 0x7fffffff, r1, r2, cv);
10838b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv);
10839b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv);
10840b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #15", 0x7fffffff, r1, r2, cv);
10841b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #31", 0x7fffffff, r1, r2, cv);
10842b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv);
10843b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv);
10844b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #15", 0x7fffffff, r1, r2, cv);
10845b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #31", 0x7fffffff, r1, r2, cv);
10846b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv);
10847b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv);
10848b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #15", 0x7fffffff, r1, r2, cv);
10849b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #31", 0x7fffffff, r1, r2, cv);
10850b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv);
10851b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv);
10852b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #15", 0x7fffffff, r1, r2, cv);
10853b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #31", 0x7fffffff, r1, r2, cv);
10854b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv);
10855b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv);
10856b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #15", 0x7fffffff, r1, r2, cv);
10857b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #31", 0x7fffffff, r1, r2, cv);
10858b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv);
10859b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv);
10860b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #15", 0x7fffffff, r1, r2, cv);
10861b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #31", 0x7fffffff, r1, r2, cv);
10862b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv);
10863b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv);
10864b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #15", 0x7fffffff, r1, r2, cv);
10865b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #31", 0x7fffffff, r1, r2, cv);
10866b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv);
10867b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv);
10868b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #15", 0x7fffffff, r1, r2, cv);
10869b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #31", 0x7fffffff, r1, r2, cv);
10870b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
10871b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
10872b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #15", 0x00000000, r1, r2, cv);
10873b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #31", 0x00000000, r1, r2, cv);
10874b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
10875b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
10876b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #15", 0x00000000, r1, r2, cv);
10877b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #31", 0x00000000, r1, r2, cv);
10878b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
10879b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
10880b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #15", 0x00000000, r1, r2, cv);
10881b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #31", 0x00000000, r1, r2, cv);
10882b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #0 ", 0x00000000, r1, r2, cv);
10883b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #1 ", 0x00000000, r1, r2, cv);
10884b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #15", 0x00000000, r1, r2, cv);
10885b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #31", 0x00000000, r1, r2, cv);
10886b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
10887b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
10888b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #15", 0x00000000, r1, r2, cv);
10889b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #31", 0x00000000, r1, r2, cv);
10890b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
10891b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
10892b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #15", 0x00000000, r1, r2, cv);
10893b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #31", 0x00000000, r1, r2, cv);
10894b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
10895b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
10896b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #15", 0x00000000, r1, r2, cv);
10897b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #31", 0x00000000, r1, r2, cv);
10898b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #0 ", 0x00000000, r1, r2, cv);
10899b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #1 ", 0x00000000, r1, r2, cv);
10900b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #15", 0x00000000, r1, r2, cv);
10901b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #31", 0x00000000, r1, r2, cv);
10902b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x00000000, r1, r2, cv);
10903b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x00000000, r1, r2, cv);
10904b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #15", 0x00000000, r1, r2, cv);
10905b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #31", 0x00000000, r1, r2, cv);
10906b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x00000000, r1, r2, cv);
10907b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x00000000, r1, r2, cv);
10908b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #15", 0x00000000, r1, r2, cv);
10909b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #31", 0x00000000, r1, r2, cv);
10910b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x00000000, r1, r2, cv);
10911b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x00000000, r1, r2, cv);
10912b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #15", 0x00000000, r1, r2, cv);
10913b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #31", 0x00000000, r1, r2, cv);
10914b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x00000000, r1, r2, cv);
10915b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x00000000, r1, r2, cv);
10916b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #15", 0x00000000, r1, r2, cv);
10917b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #31", 0x00000000, r1, r2, cv);
10918b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x00000000, r1, r2, cv);
10919b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x00000000, r1, r2, cv);
10920b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #15", 0x00000000, r1, r2, cv);
10921b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #31", 0x00000000, r1, r2, cv);
10922b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x00000000, r1, r2, cv);
10923b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x00000000, r1, r2, cv);
10924b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #15", 0x00000000, r1, r2, cv);
10925b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #31", 0x00000000, r1, r2, cv);
10926b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x00000000, r1, r2, cv);
10927b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x00000000, r1, r2, cv);
10928b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #15", 0x00000000, r1, r2, cv);
10929b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #31", 0x00000000, r1, r2, cv);
10930b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x00000000, r1, r2, cv);
10931b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x00000000, r1, r2, cv);
10932b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #15", 0x00000000, r1, r2, cv);
10933b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #31", 0x00000000, r1, r2, cv);
10934b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
10935b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
10936b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #15", 0x00000001, r1, r2, cv);
10937b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #31", 0x00000001, r1, r2, cv);
10938b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
10939b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
10940b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #15", 0x00000001, r1, r2, cv);
10941b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #31", 0x00000001, r1, r2, cv);
10942b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
10943b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
10944b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #15", 0x00000001, r1, r2, cv);
10945b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #31", 0x00000001, r1, r2, cv);
10946b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #0 ", 0x00000001, r1, r2, cv);
10947b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #1 ", 0x00000001, r1, r2, cv);
10948b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #15", 0x00000001, r1, r2, cv);
10949b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #31", 0x00000001, r1, r2, cv);
10950b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
10951b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
10952b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #15", 0x00000001, r1, r2, cv);
10953b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #31", 0x00000001, r1, r2, cv);
10954b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
10955b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
10956b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #15", 0x00000001, r1, r2, cv);
10957b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #31", 0x00000001, r1, r2, cv);
10958b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
10959b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
10960b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #15", 0x00000001, r1, r2, cv);
10961b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #31", 0x00000001, r1, r2, cv);
10962b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #0 ", 0x00000001, r1, r2, cv);
10963b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #1 ", 0x00000001, r1, r2, cv);
10964b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #15", 0x00000001, r1, r2, cv);
10965b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #31", 0x00000001, r1, r2, cv);
10966b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x00000001, r1, r2, cv);
10967b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x00000001, r1, r2, cv);
10968b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #15", 0x00000001, r1, r2, cv);
10969b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #31", 0x00000001, r1, r2, cv);
10970b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x00000001, r1, r2, cv);
10971b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x00000001, r1, r2, cv);
10972b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #15", 0x00000001, r1, r2, cv);
10973b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #31", 0x00000001, r1, r2, cv);
10974b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x00000001, r1, r2, cv);
10975b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x00000001, r1, r2, cv);
10976b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #15", 0x00000001, r1, r2, cv);
10977b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #31", 0x00000001, r1, r2, cv);
10978b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x00000001, r1, r2, cv);
10979b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x00000001, r1, r2, cv);
10980b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #15", 0x00000001, r1, r2, cv);
10981b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #31", 0x00000001, r1, r2, cv);
10982b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x00000001, r1, r2, cv);
10983b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x00000001, r1, r2, cv);
10984b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #15", 0x00000001, r1, r2, cv);
10985b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #31", 0x00000001, r1, r2, cv);
10986b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x00000001, r1, r2, cv);
10987b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x00000001, r1, r2, cv);
10988b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #15", 0x00000001, r1, r2, cv);
10989b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #31", 0x00000001, r1, r2, cv);
10990b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x00000001, r1, r2, cv);
10991b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x00000001, r1, r2, cv);
10992b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #15", 0x00000001, r1, r2, cv);
10993b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #31", 0x00000001, r1, r2, cv);
10994b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x00000001, r1, r2, cv);
10995b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x00000001, r1, r2, cv);
10996b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #15", 0x00000001, r1, r2, cv);
10997b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #31", 0x00000001, r1, r2, cv);
10998b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
10999b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11000b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
11001b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
11002b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
11003b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11004b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
11005b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
11006b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
11007b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11008b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
11009b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
11010b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
11011b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11012b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #15", 0x9218abcd, r1, r2, cv);
11013b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #31", 0x9218abcd, r1, r2, cv);
11014b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
11015b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11016b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
11017b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
11018b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
11019b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11020b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
11021b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
11022b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
11023b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11024b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
11025b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
11026b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #0 ", 0x9218abcd, r1, r2, cv);
11027b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #1 ", 0x9218abcd, r1, r2, cv);
11028b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #15", 0x9218abcd, r1, r2, cv);
11029b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #31", 0x9218abcd, r1, r2, cv);
11030b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv);
11031b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv);
11032b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #15", 0x9218abcd, r1, r2, cv);
11033b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #31", 0x9218abcd, r1, r2, cv);
11034b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv);
11035b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv);
11036b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #15", 0x9218abcd, r1, r2, cv);
11037b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #31", 0x9218abcd, r1, r2, cv);
11038b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv);
11039b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv);
11040b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #15", 0x9218abcd, r1, r2, cv);
11041b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #31", 0x9218abcd, r1, r2, cv);
11042b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv);
11043b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv);
11044b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #15", 0x9218abcd, r1, r2, cv);
11045b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #31", 0x9218abcd, r1, r2, cv);
11046b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv);
11047b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv);
11048b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #15", 0x9218abcd, r1, r2, cv);
11049b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #31", 0x9218abcd, r1, r2, cv);
11050b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv);
11051b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv);
11052b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #15", 0x9218abcd, r1, r2, cv);
11053b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #31", 0x9218abcd, r1, r2, cv);
11054b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv);
11055b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv);
11056b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #15", 0x9218abcd, r1, r2, cv);
11057b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #31", 0x9218abcd, r1, r2, cv);
11058b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv);
11059b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv);
11060b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #15", 0x9218abcd, r1, r2, cv);
11061b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #31", 0x9218abcd, r1, r2, cv);
11062b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11063b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11064b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
11065b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsls.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
11066b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11067b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11068b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
11069b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsrs.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
11070b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11071b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11072b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
11073b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asrs.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
11074b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11075b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11076b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #15", 0xffffffff, r1, r2, cv);
11077b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("rors.w   r1, r2, #31", 0xffffffff, r1, r2, cv);
11078b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11079b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11080b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
11081b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsl.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
11082b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11083b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11084b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
11085b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("lsr.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
11086b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11087b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11088b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
11089b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("asr.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
11090b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #0 ", 0xffffffff, r1, r2, cv);
11091b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #1 ", 0xffffffff, r1, r2, cv);
11092b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #15", 0xffffffff, r1, r2, cv);
11093b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("ror.w    r1, r2, #31", 0xffffffff, r1, r2, cv);
11094b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv);
11095b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv);
11096b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #15", 0xffffffff, r1, r2, cv);
11097b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsl #31", 0xffffffff, r1, r2, cv);
11098b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv);
11099b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv);
11100b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #15", 0xffffffff, r1, r2, cv);
11101b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, lsr #31", 0xffffffff, r1, r2, cv);
11102b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #0 ", 0xffffffff, r1, r2, cv);
11103b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #1 ", 0xffffffff, r1, r2, cv);
11104b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #15", 0xffffffff, r1, r2, cv);
11105b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, asr #31", 0xffffffff, r1, r2, cv);
11106b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #0 ", 0xffffffff, r1, r2, cv);
11107b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #1 ", 0xffffffff, r1, r2, cv);
11108b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #15", 0xffffffff, r1, r2, cv);
11109b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvns.w   r1, r2, ror #31", 0xffffffff, r1, r2, cv);
11110b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv);
11111b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv);
11112b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #15", 0xffffffff, r1, r2, cv);
11113b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsl #31", 0xffffffff, r1, r2, cv);
11114b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv);
11115b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv);
11116b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #15", 0xffffffff, r1, r2, cv);
11117b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, lsr #31", 0xffffffff, r1, r2, cv);
11118b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #0 ", 0xffffffff, r1, r2, cv);
11119b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #1 ", 0xffffffff, r1, r2, cv);
11120b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #15", 0xffffffff, r1, r2, cv);
11121b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, asr #31", 0xffffffff, r1, r2, cv);
11122b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #0 ", 0xffffffff, r1, r2, cv);
11123b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #1 ", 0xffffffff, r1, r2, cv);
11124b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #15", 0xffffffff, r1, r2, cv);
11125b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2("mvn.w    r1, r2, ror #31", 0xffffffff, r1, r2, cv);
11126b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
11127b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11128b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) TST.W Rn, Rm, {shift}\n");
11129b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
11130b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
11131b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
11132b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
11133b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
11134b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
11135b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
11136b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
11137b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
11138b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
11139b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
11140b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
11141b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("tst.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
11142b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
11143b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11144b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) TEQ.W Rn, Rm, {shift}\n");
11145b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
11146b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
11147b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
11148b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
11149b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
11150b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
11151b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
11152b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
11153b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
11154b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
11155b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
11156b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
11157b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("teq.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
11158b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
11159b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11160b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) CMP.W Rn, Rm, {shift}\n");
11161b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
11162b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
11163b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
11164b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
11165b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
11166b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
11167b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
11168b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
11169b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
11170b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
11171b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
11172b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
11173b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
11174b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv);
11175b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmp.w  r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv);
11176b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
11177b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11178b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T?) CMN.W Rn, Rm, {shift}\n");
11179b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
11180b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv);
11181b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv);
11182b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv);
11183b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv);
11184b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv);
11185b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv);
11186b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv);
11187b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv);
11188b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv);
11189b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv);
11190b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv);
11191b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv);
11192b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv);
11193b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST2x("cmn.w  r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv);
11194b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
11195b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11196b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T2) MOV{S}.W Rd, #constT\n");
11197b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
11198b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00000000", r9, cv);
11199b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x000000FF", r9, cv);
11200b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x0000007F", r9, cv);
11201b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00FF00FF", r9, cv);
11202b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x007F007F", r9, cv);
11203b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x43434343", r9, cv);
11204b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x93939393", r9, cv);
11205b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x93000000", r9, cv);
11206b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x43000000", r9, cv);
11207b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x09300000", r9, cv);
11208b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x04300000", r9, cv);
11209b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00930000", r9, cv);
11210b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00430000", r9, cv);
11211b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00000930", r9, cv);
11212b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00000430", r9, cv);
11213b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00000093", r9, cv);
11214b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("movs.w  r9, 0x00000043", r9, cv);
11215b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00000000", r9, cv);
11216b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x000000FF", r9, cv);
11217b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x0000007F", r9, cv);
11218b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00FF00FF", r9, cv);
11219b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x007F007F", r9, cv);
11220b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x43434343", r9, cv);
11221b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x93939393", r9, cv);
11222b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x93000000", r9, cv);
11223b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x43000000", r9, cv);
11224b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x09300000", r9, cv);
11225b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x04300000", r9, cv);
11226b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00930000", r9, cv);
11227b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00430000", r9, cv);
11228b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00000930", r9, cv);
11229b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00000430", r9, cv);
11230b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00000093", r9, cv);
11231b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mov.w   r9, 0x00000043", r9, cv);
11232b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
11233b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11234b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   printf("(T2) MVN{S}.W Rd, #constT\n");
11235b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRY
11236b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00000000", r9, cv);
11237b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x000000FF", r9, cv);
11238b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x0000007F", r9, cv);
11239b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00FF00FF", r9, cv);
11240b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x007F007F", r9, cv);
11241b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x43434343", r9, cv);
11242b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x93939393", r9, cv);
11243b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x93000000", r9, cv);
11244b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x43000000", r9, cv);
11245b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x09300000", r9, cv);
11246b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x04300000", r9, cv);
11247b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00930000", r9, cv);
11248b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00430000", r9, cv);
11249b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00000930", r9, cv);
11250b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00000430", r9, cv);
11251b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00000093", r9, cv);
11252b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvns.w  r9, 0x00000043", r9, cv);
11253b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00000000", r9, cv);
11254b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x000000FF", r9, cv);
11255b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x0000007F", r9, cv);
11256b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00FF00FF", r9, cv);
11257b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x007F007F", r9, cv);
11258b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x43434343", r9, cv);
11259b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x93939393", r9, cv);
11260b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x93000000", r9, cv);
11261b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x43000000", r9, cv);
11262b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x09300000", r9, cv);
11263b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x04300000", r9, cv);
11264b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00930000", r9, cv);
11265b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00430000", r9, cv);
11266b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00000930", r9, cv);
11267b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00000430", r9, cv);
11268b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00000093", r9, cv);
11269b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTINST1("mvn.w   r9, 0x00000043", r9, cv);
11270b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   TESTCARRYEND
11271b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11272b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   // plus whatever stuff we can throw in from the old ARM test program
11273b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   old_main();
11274b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
11275b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov   return 0;
11276b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
11277