1//Original:/testcases/core/c_loopsetup_preg_div2_lc1/c_loopsetup_preg_div2_lc1.dsp
2// Spec Reference: loopsetup preg lc1 / 2
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8
9INIT_R_REGS 0;
10
11ASTAT = r0;
12
13
14P1 = 12;
15P2 = 14;
16P3 = 16;
17P4 = 18;
18P5 = 20;
19SP = 22;
20FP = 24;
21
22R0 = 0x05;
23R1 = 0x10;
24R2 = 0x20;
25R3 = 0x30;
26R4 = 0x40 (X);
27R5 = 0x50 (X);
28R6 = 0x60 (X);
29R7 = 0x70 (X);
30LSETUP ( start11 , end11 ) LC1 = P1 >> 1;
31start11: R0 += 1;
32 R1 += -1;
33end11: R2 += 1;
34 R3 += 1;
35LSETUP ( start12 , end12 ) LC1 = P2 >> 1;
36start12: R4 += 1;
37end12: R5 += -1;
38 R3 += 1;
39LSETUP ( start13 , end13 ) LC1 = P3 >> 1;
40start13: R6 += 1;
41end13: R7 += -1;
42 R3 += 1;
43CHECKREG r0, 0x0000000B;
44CHECKREG r1, 0x0000000A;
45CHECKREG r2, 0x00000026;
46CHECKREG r3, 0x00000033;
47CHECKREG r4, 0x00000047;
48CHECKREG r5, 0x00000049;
49CHECKREG r6, 0x00000068;
50CHECKREG r7, 0x00000068;
51
52R0 = 0x06;
53R1 = 0x10;
54R2 = 0x20;
55R3 = 0x30;
56R4 = 0x40 (X);
57R5 = 0x50 (X);
58R6 = 0x60 (X);
59R7 = 0x70 (X);
60LSETUP ( start14 , end14 ) LC1 = P4 >> 1;
61start14: R0 += 1;
62 R1 += -1;
63end14: R2 += 1;
64 R3 += 1;
65LSETUP ( start15 , end15 ) LC1 = P5 >> 1;
66start15: R4 += 1;
67end15: R5 += -1;
68 R3 += 1;
69LSETUP ( start16 , end16 ) LC1 = SP >> 1;
70start16: R6 += 1;
71end16: R7 += -1;
72 R3 += 1;
73CHECKREG r0, 0x0000000F;
74CHECKREG r1, 0x00000007;
75CHECKREG r2, 0x00000029;
76CHECKREG r3, 0x00000033;
77CHECKREG r4, 0x0000004A;
78CHECKREG r5, 0x00000046;
79CHECKREG r6, 0x0000006B;
80CHECKREG r7, 0x00000065;
81LSETUP ( start17 , end17 ) LC1 = FP >> 1;
82start17: R4 += 1;
83end17: R5 += -1;
84 R3 += 1;
85CHECKREG r0, 0x0000000F;
86CHECKREG r1, 0x00000007;
87CHECKREG r2, 0x00000029;
88CHECKREG r3, 0x00000034;
89CHECKREG r4, 0x00000056;
90CHECKREG r5, 0x0000003A;
91CHECKREG r6, 0x0000006B;
92CHECKREG r7, 0x00000065;
93
94pass
95