# mach: bfin | |
.include "testutils.inc" | |
start | |
loadsym R3, foo; | |
I1 = R3; | |
R4 = 0x10 | |
R4 = R4 + R3; | |
P0 = R4; | |
R4 = 0x14; | |
R4 = R4 + R3; | |
I0 = R4; | |
r0 = 0x22; | |
loadsym P1, bar; | |
[i0] = r0; | |
[i1] = r0; | |
doItAgain: | |
p2 = 4; | |
r5=0; | |
LSETUP ( lstart , lend) LC0 = P2; | |
lstart: | |
MNOP || R2 = [ I0 ++ ] || R1 = [ I1 ++ ]; | |
CC = R1 == R2; | |
IF CC JUMP lend; | |
R1 = [ P1 + 0x0 ]; | |
R1 = R1 + R0; | |
[ P1 + 0x0 ] = R1; | |
lend: | |
NOP; | |
if !cc jump _halt0; | |
cc = r5 == 0; | |
if !cc jump _halt0; | |
r4=1; | |
r5=r5+r4; | |
r1=i0; | |
R4 = 0x24; | |
R4 = R3 + R4 | |
CC = R1 == R4 | |
if !CC JUMP _fail; | |
i2=i0; | |
r2=0x1234; | |
[i2++]=r2; | |
[i2++]=r2; | |
[i2++]=r2; | |
[i2++]=r2; | |
[i2++]=r2; | |
[i2++]=r2; | |
[i2++]=r2; | |
jump doItAgain; | |
_halt0: | |
r0=i0; | |
R4 = 0x34; | |
R4 = R4 + R3; | |
CC = R0 == R4; | |
IF !CC JUMP _fail; | |
pass; | |
_fail: | |
fail; | |
.data | |
foo: | |
.space (0x100); | |
bar: | |
.space (0x1000); |