| # 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) |