1//Original:/testcases/core/c_dagmodik_lnz_imgebl/c_dagmodik_lnz_imgebl.dsp 2// Spec Reference: dagmodik l not zero & i+m >= b+l 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9INIT_R_REGS 0; 10 11imm32 i0, 0x00001000; 12imm32 i1, 0x00001100; 13imm32 i2, 0x00001010; 14imm32 i3, 0x00001001; 15 16imm32 b0, 0x00001000; 17imm32 b1, 0x00001000; 18imm32 b2, 0x00001000; 19imm32 b3, 0x00001000; 20 21imm32 l0, 0x00000001; 22imm32 l1, 0x00000002; 23imm32 l2, 0x00000003; 24imm32 l3, 0x00000004; 25 26imm32 m0, 0x00000015; 27imm32 m1, 0x00000016; 28imm32 m2, 0x00000017; 29imm32 m3, 0x00000018; 30 31 I0 += 2; 32 I1 += 2; 33 I2 += 2; 34 I3 += 2; 35R0 = I0; 36R1 = I1; 37R2 = I2; 38R3 = I3; 39 I0 += 2; 40 I1 += 2; 41 I2 += 2; 42 I3 += 2; 43R4 = I0; 44R5 = I1; 45R6 = I2; 46R7 = I3; 47CHECKREG r0, 0x00001001; 48CHECKREG r1, 0x00001100; 49CHECKREG r2, 0x0000100F; 50CHECKREG r3, 0x00001003; 51CHECKREG r4, 0x00001002; 52CHECKREG r5, 0x00001100; 53CHECKREG r6, 0x0000100E; 54CHECKREG r7, 0x00001001; 55 56 57 I0 -= 2; 58 I1 -= 2; 59 I2 -= 2; 60 I3 -= 2; 61R0 = I0; 62R1 = I1; 63R2 = I2; 64R3 = I3; 65 I0 -= 2; 66 I1 -= 2; 67 I2 -= 2; 68 I3 -= 2; 69R4 = I0; 70R5 = I1; 71R6 = I2; 72R7 = I3; 73CHECKREG r0, 0x00001000; 74CHECKREG r1, 0x000010FE; 75CHECKREG r2, 0x0000100C; 76CHECKREG r3, 0x00001003; 77CHECKREG r4, 0x00000FFF; 78CHECKREG r5, 0x000010FC; 79CHECKREG r6, 0x0000100A; 80CHECKREG r7, 0x00001001; 81 82 I0 += 4; 83 I1 += 4; 84 I2 += 4; 85 I3 += 4; 86R0 = I0; 87R1 = I1; 88R2 = I2; 89R3 = I3; 90 I0 += 4; 91 I1 += 4; 92 I2 += 4; 93 I3 += 4; 94R4 = I0; 95R5 = I1; 96R6 = I2; 97R7 = I3; 98CHECKREG r0, 0x00001002; 99CHECKREG r1, 0x000010FE; 100CHECKREG r2, 0x0000100B; 101CHECKREG r3, 0x00001001; 102CHECKREG r4, 0x00001005; 103CHECKREG r5, 0x00001100; 104CHECKREG r6, 0x0000100C; 105CHECKREG r7, 0x00001001; 106 107 I0 -= 4; 108 I0 -= 4; 109 I1 -= 4; 110 I2 -= 4; 111 I3 -= 4; 112 I1 -= 4; 113 I2 -= 4; 114 I3 -= 4; 115R0 = I0; 116R1 = I1; 117R2 = I2; 118R3 = I3; 119CHECKREG r0, 0x00000FFE; 120CHECKREG r1, 0x000010F8; 121CHECKREG r2, 0x00001004; 122CHECKREG r3, 0x00001001; 123CHECKREG r4, 0x00001005; 124CHECKREG r5, 0x00001100; 125CHECKREG r6, 0x0000100C; 126CHECKREG r7, 0x00001001; 127 128 I0 -= 4; 129 I1 -= 4; 130 I2 -= 4; 131 I3 -= 4; 132 I0 -= 4; 133 I1 -= 4; 134 I2 -= 4; 135 I3 -= 4; 136R4 = I0; 137R5 = I1; 138R6 = I2; 139R7 = I3; 140CHECKREG r0, 0x00000FFE; 141CHECKREG r1, 0x000010F8; 142CHECKREG r2, 0x00001004; 143CHECKREG r3, 0x00001001; 144CHECKREG r4, 0x00000FF8; 145CHECKREG r5, 0x000010F0; 146CHECKREG r6, 0x00000FFF; 147CHECKREG r7, 0x00001001; 148 149// i+m = b+l 150imm32 i0, 0x00001000; 151imm32 i1, 0x00001100; 152imm32 i2, 0x00001010; 153imm32 i3, 0x00001001; 154 155imm32 b0, 0x00001000; 156imm32 b1, 0x00001100; 157imm32 b2, 0x00001010; 158imm32 b3, 0x00001001; 159 160imm32 l0, 0x00000015; 161imm32 l1, 0x00000016; 162imm32 l2, 0x00000017; 163imm32 l3, 0x00000018; 164 165imm32 m0, 0x00000015; 166imm32 m1, 0x00000016; 167imm32 m2, 0x00000017; 168imm32 m3, 0x00000018; 169 170 I0 += 2; 171 I1 += 2; 172 I2 += 2; 173 I3 += 2; 174R0 = I0; 175R1 = I1; 176R2 = I2; 177R3 = I3; 178 I0 += 2; 179 I1 += 2; 180 I2 += 2; 181 I3 += 2; 182R4 = I0; 183R5 = I1; 184R6 = I2; 185R7 = I3; 186CHECKREG r0, 0x00001002; 187CHECKREG r1, 0x00001102; 188CHECKREG r2, 0x00001012; 189CHECKREG r3, 0x00001003; 190CHECKREG r4, 0x00001004; 191CHECKREG r5, 0x00001104; 192CHECKREG r6, 0x00001014; 193CHECKREG r7, 0x00001005; 194 195 196 I0 -= 2; 197 I1 -= 2; 198 I2 -= 2; 199 I3 -= 2; 200R0 = I0; 201R1 = I1; 202R2 = I2; 203R3 = I3; 204 I0 -= 2; 205 I1 -= 2; 206 I2 -= 2; 207 I3 -= 2; 208R4 = I0; 209R5 = I1; 210R6 = I2; 211R7 = I3; 212CHECKREG r0, 0x00001002; 213CHECKREG r1, 0x00001102; 214CHECKREG r2, 0x00001012; 215CHECKREG r3, 0x00001003; 216CHECKREG r4, 0x00001000; 217CHECKREG r5, 0x00001100; 218CHECKREG r6, 0x00001010; 219CHECKREG r7, 0x00001001; 220 221 I0 += 4; 222 I1 += 4; 223 I2 += 4; 224 I3 += 4; 225R0 = I0; 226R1 = I1; 227R2 = I2; 228R3 = I3; 229 I0 += 4; 230 I1 += 4; 231 I2 += 4; 232 I3 += 4; 233R4 = I0; 234R5 = I1; 235R6 = I2; 236R7 = I3; 237CHECKREG r0, 0x00001004; 238CHECKREG r1, 0x00001104; 239CHECKREG r2, 0x00001014; 240CHECKREG r3, 0x00001005; 241CHECKREG r4, 0x00001008; 242CHECKREG r5, 0x00001108; 243CHECKREG r6, 0x00001018; 244CHECKREG r7, 0x00001009; 245 246 I0 -= 4; 247 I0 -= 4; 248 I1 -= 4; 249 I2 -= 4; 250 I3 -= 4; 251 I1 -= 4; 252 I2 -= 4; 253 I3 -= 4; 254R0 = I0; 255R1 = I1; 256R2 = I2; 257R3 = I3; 258CHECKREG r0, 0x00001000; 259CHECKREG r1, 0x00001100; 260CHECKREG r2, 0x00001010; 261CHECKREG r3, 0x00001001; 262CHECKREG r4, 0x00001008; 263CHECKREG r5, 0x00001108; 264CHECKREG r6, 0x00001018; 265CHECKREG r7, 0x00001009; 266 267 I0 -= 4; 268 I1 -= 4; 269 I2 -= 4; 270 I3 -= 4; 271 I0 -= 4; 272 I1 -= 4; 273 I2 -= 4; 274 I3 -= 4; 275R4 = I0; 276R5 = I1; 277R6 = I2; 278R7 = I3; 279CHECKREG r0, 0x00001000; 280CHECKREG r1, 0x00001100; 281CHECKREG r2, 0x00001010; 282CHECKREG r3, 0x00001001; 283CHECKREG r4, 0x0000100D; 284CHECKREG r5, 0x0000110E; 285CHECKREG r6, 0x0000101F; 286CHECKREG r7, 0x00001011; 287 288 289 290pass 291