1//Original:/testcases/core/c_dsp32shift_bxor/c_dsp32shift_bxor.dsp
2// Spec Reference: dsp32shift bxor
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8R0 = 0;
9R1 = 58;
10A0 = R1;
11ASTAT = R0;
12
13
14imm32 r0, 0x12345678;
15imm32 r1, 0x22334455;
16imm32 r2, 0x66778890;
17imm32 r3, 0xaabbccdd;
18imm32 r4, 0x34567890;
19imm32 r5, 0xa2d3d5f6;
20imm32 r6, 0x456bda06;
21imm32 r7, 0x56789abc;
22R0.L = CC = BXORSHIFT( A0 , R0 );
23R1.L = CC = BXORSHIFT( A0 , R1 );
24R2.L = CC = BXORSHIFT( A0 , R2 );
25R3.L = CC = BXORSHIFT( A0 , R3 );
26R4.L = CC = BXORSHIFT( A0 , R4 );
27R5.L = CC = BXORSHIFT( A0 , R5 );
28R6.L = CC = BXORSHIFT( A0 , R6 );
29R7.L = CC = BXORSHIFT( A0 , R7 );
30CHECKREG r0, 0x12340001;
31CHECKREG r1, 0x22330001;
32CHECKREG r2, 0x66770000;
33CHECKREG r3, 0xAABB0001;
34CHECKREG r4, 0x34560000;
35CHECKREG r5, 0xA2D30000;
36CHECKREG r6, 0x456B0000;
37CHECKREG r7, 0x56780001;
38
39imm32 r0, 0xa1001001;
40imm32 r1, 0x1b001001;
41imm32 r2, 0x11c01002;
42imm32 r3, 0x110d1003;
43imm32 r4, 0x1100e004;
44imm32 r5, 0x11001f05;
45imm32 r6, 0x11001006;
46imm32 r7, 0x11001001;
47R5.L = CC = BXORSHIFT( A0 , R0 );
48R4.L = CC = BXORSHIFT( A0 , R1 );
49R2.L = CC = BXORSHIFT( A0 , R2 );
50R7.L = CC = BXORSHIFT( A0 , R3 );
51R0.L = CC = BXORSHIFT( A0 , R4 );
52R1.L = CC = BXORSHIFT( A0 , R5 );
53R3.L = CC = BXORSHIFT( A0 , R6 );
54R6.L = CC = BXORSHIFT( A0 , R7 );
55CHECKREG r0, 0xA1000000;
56CHECKREG r1, 0x1B000000;
57CHECKREG r2, 0x11C00001;
58CHECKREG r3, 0x110D0000;
59CHECKREG r4, 0x11000000;
60CHECKREG r5, 0x11000001;
61CHECKREG r6, 0x11000000;
62CHECKREG r7, 0x11000001;
63
64imm32 r0, 0xa2001001;
65imm32 r1, 0x1b341001;
66imm32 r2, 0x71c01002;
67imm32 r3, 0x810d1003;
68imm32 r4, 0x1600e004;
69imm32 r5, 0x41001405;
70imm32 r6, 0x31003006;
71imm32 r7, 0x21004671;
72R2.L = CC = BXOR( A0 , R0 );
73R3.L = CC = BXOR( A0 , R1 );
74R5.L = CC = BXOR( A0 , R2 );
75R6.L = CC = BXOR( A0 , R3 );
76R0.L = CC = BXOR( A0 , R4 );
77R1.L = CC = BXOR( A0 , R5 );
78R7.L = CC = BXOR( A0 , R6 );
79R4.L = CC = BXOR( A0 , R7 );
80CHECKREG r0, 0xA2000000;
81CHECKREG r1, 0x1B340000;
82CHECKREG r2, 0x71C00000;
83CHECKREG r3, 0x810D0000;
84CHECKREG r4, 0x16000000;
85CHECKREG r5, 0x41000000;
86CHECKREG r6, 0x31000001;
87CHECKREG r7, 0x21000000;
88
89imm32 r0, 0x4a502001;
90imm32 r1, 0x6b343001;
91imm32 r2, 0x71c04002;
92imm32 r3, 0x810d5003;
93imm32 r4, 0x5600e004;
94imm32 r5, 0x47001405;
95imm32 r6, 0x91003006;
96imm32 r7, 0xa1004671;
97A1 = R3;
98R0.L = CC = BXOR( A0 , A1, CC );
99A0 = BXORSHIFT( A0 , A1, CC );
100R1.L = CC = BXOR( A0 , A1, CC );
101A0 = BXORSHIFT( A0 , A1, CC );
102R2.L = CC = BXOR( A0 , A1, CC );
103A0 = BXORSHIFT( A0 , A1, CC );
104R3.L = CC = BXOR( A0 , A1, CC );
105A0 = BXORSHIFT( A0 , A1, CC );
106R4.L = CC = BXOR( A0 , A1, CC );
107A0 = BXORSHIFT( A0 , A1, CC );
108R5.L = CC = BXOR( A0 , A1, CC );
109A0 = BXORSHIFT( A0 , A1, CC );
110R6.L = CC = BXOR( A0 , A1, CC );
111A0 = BXORSHIFT( A0 , A1, CC );
112R7.L = CC = BXOR( A0 , A1, CC );
113A0 = BXORSHIFT( A0 , A1, CC );
114CHECKREG r0, 0x4A500001;
115CHECKREG r1, 0x6B340000;
116CHECKREG r2, 0x71C00000;
117CHECKREG r3, 0x810D0000;
118CHECKREG r4, 0x56000001;
119CHECKREG r5, 0x47000000;
120CHECKREG r6, 0x91000001;
121CHECKREG r7, 0xA1000001;
122
123
124
125
126pass
127