1 //Original:testcases/core/c_ldstidxl_ld_dr_xh/c_ldstidxl_ld_dr_xh.dsp
2 // Spec Reference: c_ldstidxl load dreg XH (ld with indexed addressing)
5 .include "testutils.inc"
19 I1 = P3; P3 = I0; I3 = SP; SP = I2;
20 loadsym p1, DATA_ADDR_1, 0x00;
21 loadsym p2, DATA_ADDR_2, 0xA0;
22 loadsym i1, DATA_ADDR_1, 0x70;
23 loadsym p4, DATA_ADDR_2, 0x70;
24 loadsym p5, DATA_ADDR_1, 0x70;
25 loadsym fp, DATA_ADDR_2, 0x70;
26 loadsym i3, DATA_ADDR_1, 0x70;
29 R0 = W [ P1 + 154 ] (X);
30 R1 = W [ P1 + 84 ] (X);
31 R2 = W [ P1 + 48 ] (X);
32 R3 = W [ P1 + 10 ] (X);
33 R4 = W [ P1 + 34 ] (X);
34 R5 = W [ P1 + 20 ] (X);
35 R6 = W [ P1 + 126 ] (X);
36 R7 = W [ P1 + 154 ] (X);
37 CHECKREG r0, 0x00000405;
38 CHECKREG r1, 0x00002425;
39 CHECKREG r2, 0xFFFF8485;
40 CHECKREG r3, 0x00000809;
41 CHECKREG r4, 0x00001122;
42 CHECKREG r5, 0x00001617;
43 CHECKREG r6, 0x00006263;
44 CHECKREG r7, 0x00000405;
46 R0 = W [ P2 + -120 ] (X);
47 R1 = W [ P2 + -114 ] (X);
48 R2 = W [ P2 + -36 ] (X);
49 R3 = W [ P2 + -22 ] (X);
50 R4 = W [ P2 + -44 ] (X);
51 R5 = W [ P2 + -6 ] (X);
52 R6 = W [ P2 + -52 ] (X);
53 R7 = W [ P2 + -146 ] (X);
54 CHECKREG r0, 0xFFFFD5D6;
55 CHECKREG r1, 0xFFFFD7D8;
56 CHECKREG r2, 0x0000565A;
57 CHECKREG r3, 0xFFFFA667;
58 CHECKREG r4, 0xFFFF99EA;
59 CHECKREG r5, 0x00004C4D;
60 CHECKREG r6, 0xFFFF99EA;
61 CHECKREG r7, 0x00004C4D;
63 R0 = W [ P3 + 56 ] (X);
64 R1 = W [ P3 + 62 ] (X);
65 R2 = W [ P3 + -64 ] (X);
66 R3 = W [ P3 + 60 ] (X);
67 R4 = W [ P3 + -56 ] (X);
68 R5 = W [ P3 + 10 ] (X);
69 R6 = W [ P3 + -28 ] (X);
70 R7 = W [ P3 + -110 ] (X);
71 CHECKREG r0, 0x00001617;
72 CHECKREG r1, 0x00001819;
73 CHECKREG r2, 0xFFFF8485;
74 CHECKREG r3, 0x00001A1B;
75 CHECKREG r4, 0xFFFF8283;
76 CHECKREG r5, 0x00005859;
77 CHECKREG r6, 0x00002425;
78 CHECKREG r7, 0x00000001;
80 R0 = W [ P4 + 42 ] (X);
81 R1 = W [ P4 + -40 ] (X);
82 R2 = W [ P4 + 38 ] (X);
83 R3 = W [ P4 + -32 ] (X);
84 R4 = W [ P4 + 28 ] (X);
85 R5 = W [ P4 + 26 ] (X);
86 R6 = W [ P4 + -22 ] (X);
87 R7 = W [ P4 + 106 ] (X);
88 CHECKREG r0, 0x00004C4D;
89 CHECKREG r1, 0xFFFF99EA;
90 CHECKREG r2, 0x00004849;
91 CHECKREG r3, 0xFFFF99EA;
92 CHECKREG r4, 0x00004243;
93 CHECKREG r5, 0xFFFFA667;
94 CHECKREG r6, 0xFFFF98E8;
95 CHECKREG r7, 0xFFFF95E8;
97 R0 = W [ P5 + -14 ] (X);
98 R1 = W [ P5 + 12 ] (X);
99 R2 = W [ P5 + -6 ] (X);
100 R3 = W [ P5 + 4 ] (X);
101 R4 = W [ P5 + 0 ] (X);
102 R5 = W [ P5 + -2 ] (X);
103 R6 = W [ P5 + 8 ] (X);
104 R7 = W [ P5 + -108 ] (X);
105 CHECKREG r0, 0x00003435;
106 CHECKREG r1, 0x00006465;
107 CHECKREG r2, 0x00004243;
108 CHECKREG r3, 0x00005657;
109 CHECKREG r4, 0x00005253;
110 CHECKREG r5, 0x00004647;
111 CHECKREG r6, 0x00006061;
112 CHECKREG r7, 0x00000607;
114 R0 = W [ FP + 90 ] (X);
115 R1 = W [ FP + -14 ] (X);
116 R2 = W [ FP + 42 ] (X);
117 R3 = W [ FP + -66 ] (X);
118 R4 = W [ FP + 26 ] (X);
119 R5 = W [ FP + -34 ] (X);
120 R6 = W [ FP + 38 ] (X);
121 R7 = W [ FP + -98 ] (X);
122 CHECKREG r0, 0xFFFF91E8;
123 CHECKREG r1, 0xFFFF91E8;
124 CHECKREG r2, 0x00004C4D;
125 CHECKREG r3, 0xFFFFD7D8;
126 CHECKREG r4, 0xFFFFA667;
127 CHECKREG r5, 0xFFFF95E8;
128 CHECKREG r6, 0x00004849;
129 CHECKREG r7, 0x00004C4D;
131 R0 = W [ SP + 46 ] (X);
132 R1 = W [ SP + -42 ] (X);
133 R2 = W [ SP + 48 ] (X);
134 R3 = W [ SP + 50 ] (X);
135 R4 = W [ SP + -102 ] (X);
136 R5 = W [ SP + 82 ] (X);
137 R6 = W [ SP + 62 ] (X);
138 R7 = W [ SP + 46 ] (X);
139 CHECKREG r0, 0x00000809;
140 CHECKREG r1, 0x00000506;
141 CHECKREG r2, 0x00000E0F;
142 CHECKREG r3, 0x00000C0D;
143 CHECKREG r4, 0x00000809;
144 CHECKREG r5, 0x00007475;
145 CHECKREG r6, 0x00001819;
146 CHECKREG r7, 0x00000809;
151 // Pre-load memory with known data
152 // More data is defined than will actually be used