1# mach: bfin 2 3.include "testutils.inc" 4 start 5 6 7 /* Stall tests */ 8 9 r0 = 0; 10 r1 = 1; 11 loadsym p0, foo; 12 p1 = p0; 13 14pass_1: 15 cc = r0; 16 nop; 17 nop; 18 19 if cc jump _fail_1; 20 [p0++] = p0; 21 [p0++] = p0; 22 r7 = p0; 23 r5 = CC; 24 P1 += 8; 25 r6 = p1; 26 CC = R6 == R7; 27 if !CC jump _failure; 28 29 cc = R5; 30 if !cc jump over; 31 32_fail_1: 33 [p0++] = p0; 34 [p0++] = p0; 35 36back: 37 if !cc jump skip(bp); 38 39_fail_2: 40 [p0++] = p0; 41 [p0++] = p0; 42 43over: 44 if cc jump _fail_3(bp); 45 [p0++] = p0; 46 [p0++] = p0; 47 r7=p0; 48 R5=cc; 49 P1 += 8; 50 R6 = P1; 51 CC = R6 == R7; 52 if !CC jump _failure; 53 54 CC = R5; 55 if !cc jump back(bp); 56 57_fail_3: 58 [p0++] = p0; 59 [p0++] = p0; 60 61skip: 62 [p0++] = p0; 63 [p0++] = p0; 64 [p0++] = p0; 65 r7=p0; 66 67 P1 += 0xc; 68 R6 = P1; 69 CC = R6 == R7; 70 if !CC jump _failure; 71 72next: 73 [p0++] = p0; 74 r7=p0; 75 P1 += 4; 76 R6 = P1; 77 CC = R6 == R7; 78 if !CC jump _failure; 79 80pass_2: 81 cc = r1; 82 nop; 83 nop; 84 85 if !cc jump _fail_4; 86 [p0++] = p0; 87 [p0++] = p0; 88 r7=p0; 89 R5 = cc; 90 P1 += 8; 91 R6 = P1; 92 CC = R6 == R7; 93 if !CC jump _failure; 94 95 cc = R5; 96 if cc jump over_2; 97 98_fail_4: 99 [p0++] = p0; 100 [p0++] = p0; 101 P1 += 8; 102 103back_2: 104 if cc jump skip_2 (bp); 105 106_fail_5: 107 [p0++] = p0; 108 [p0++] = p0; 109 P1 += 8; 110 111over_2: 112 if !cc jump _fail_6 (bp); 113 [p0++] = p0; 114 [p0++] = p0; 115 r7=p0; 116 R5 = cc; 117 P1 += 8; 118 R6 = P1; 119 CC = R6 == R7; 120 if !CC jump _failure; 121 cc = R5; 122 123 if cc jump back_2 (bp); 124 125_fail_6: 126 [p0++] = p0; 127 [p0++] = p0; 128 129skip_2: 130 [p0++] = p0; 131 [p0++] = p0; 132 [p0++] = p0; 133 r7=p0; 134 R5 = cc; 135 P1 += 0xc; 136 R6 = P1; 137 CC = R6 == R7; 138 if !CC jump _failure; 139 cc = r5; 140 141 if cc jump next_2 (bp); 142 143next_2: 144 [p0++] = p0; 145 [p0++] = p0; 146 P1 += 8; 147 r7=p0; 148 r6 = P1; 149 CC = R6 == R7; 150 if !CC jump _failure; 151 152 cc = r0; 153_halt: 154 pass; 155 156_fail_7: 157 [p0++] = p0; 158 159_failure: 160 fail; 161 162 .data 163foo: 164 .space (0x100) 165