# mach: bfin .include "testutils.inc" start /* Stall tests */ r0 = 0; r1 = 1; loadsym p0, foo; p1 = p0; pass_1: cc = r0; nop; nop; if cc jump _fail_1; [p0++] = p0; [p0++] = p0; r7 = p0; r5 = CC; P1 += 8; r6 = p1; CC = R6 == R7; if !CC jump _failure; cc = R5; if !cc jump over; _fail_1: [p0++] = p0; [p0++] = p0; back: if !cc jump skip(bp); _fail_2: [p0++] = p0; [p0++] = p0; over: if cc jump _fail_3(bp); [p0++] = p0; [p0++] = p0; r7=p0; R5=cc; P1 += 8; R6 = P1; CC = R6 == R7; if !CC jump _failure; CC = R5; if !cc jump back(bp); _fail_3: [p0++] = p0; [p0++] = p0; skip: [p0++] = p0; [p0++] = p0; [p0++] = p0; r7=p0; P1 += 0xc; R6 = P1; CC = R6 == R7; if !CC jump _failure; next: [p0++] = p0; r7=p0; P1 += 4; R6 = P1; CC = R6 == R7; if !CC jump _failure; pass_2: cc = r1; nop; nop; if !cc jump _fail_4; [p0++] = p0; [p0++] = p0; r7=p0; R5 = cc; P1 += 8; R6 = P1; CC = R6 == R7; if !CC jump _failure; cc = R5; if cc jump over_2; _fail_4: [p0++] = p0; [p0++] = p0; P1 += 8; back_2: if cc jump skip_2 (bp); _fail_5: [p0++] = p0; [p0++] = p0; P1 += 8; over_2: if !cc jump _fail_6 (bp); [p0++] = p0; [p0++] = p0; r7=p0; R5 = cc; P1 += 8; R6 = P1; CC = R6 == R7; if !CC jump _failure; cc = R5; if cc jump back_2 (bp); _fail_6: [p0++] = p0; [p0++] = p0; skip_2: [p0++] = p0; [p0++] = p0; [p0++] = p0; r7=p0; R5 = cc; P1 += 0xc; R6 = P1; CC = R6 == R7; if !CC jump _failure; cc = r5; if cc jump next_2 (bp); next_2: [p0++] = p0; [p0++] = p0; P1 += 8; r7=p0; r6 = P1; CC = R6 == R7; if !CC jump _failure; cc = r0; _halt: pass; _fail_7: [p0++] = p0; _failure: fail; .data foo: .space (0x100)