1 //Original:/testcases/core/c_ccflag_pr_imm3_uu/c_ccflag_pr_imm3_uu.dsp 2 // Spec Reference: ccflag pr-imm3 (uu) 3 # mach: bfin 4 5 .include "testutils.inc" 6 start 7 8 9 10 INIT_R_REGS 0; 11 12 13 //imm32 p0, 0x00000001; 14 imm32 p1, 0x00000001; 15 imm32 p2, 0x00000002; 16 imm32 p3, 0x00000003; 17 imm32 p4, 0x00000004; 18 imm32 p5, 0x00000005; 19 imm32 sp, 0x00000006; 20 imm32 fp, 0x00000007; 21 22 R0 = 0; 23 ASTAT = R0; 24 // positive preg EQUAL to positive imm3 25 CC = P1 == 1; 26 R0 = ASTAT; 27 CC = P1 < 1 (IU); 28 R1 = ASTAT; 29 CC = P1 <= 1 (IU); 30 R2 = ASTAT; 31 CC = P2 == 2; 32 R3 = ASTAT; 33 CC = P2 < 2 (IU); 34 R4 = ASTAT; 35 CC = P2 <= 2 (IU); 36 R5 = ASTAT; 37 CHECKREG r0, 0x00000020; 38 CHECKREG r1, 0x00000000; 39 CHECKREG r2, 0x00000020; 40 CHECKREG r3, 0x00000020; 41 CHECKREG r4, 0x00000000; 42 CHECKREG r5, 0x00000020; 43 44 CC = P3 == 3; 45 R0 = ASTAT; 46 CC = P3 < 3 (IU); 47 R1 = ASTAT; 48 CC = P3 <= 3 (IU); 49 R2 = ASTAT; 50 CC = P4 == 3; 51 R3 = ASTAT; 52 CC = P4 < 4 (IU); 53 R4 = ASTAT; 54 CC = P4 <= 4 (IU); 55 R5 = ASTAT; 56 CHECKREG r0, 0x00000020; 57 CHECKREG r1, 0x00000000; 58 CHECKREG r2, 0x00000020; 59 CHECKREG r3, 0x00000000; 60 CHECKREG r4, 0x00000000; 61 CHECKREG r5, 0x00000020; 62 63 CC = P5 == 3; 64 R0 = ASTAT; 65 CC = P5 < 5 (IU); 66 R1 = ASTAT; 67 CC = P5 <= 5 (IU); 68 R2 = ASTAT; 69 CC = SP == 3; 70 R3 = ASTAT; 71 CC = SP < 6 (IU); 72 R4 = ASTAT; 73 CC = SP <= 6 (IU); 74 R5 = ASTAT; 75 CHECKREG r0, 0x00000000; 76 CHECKREG r1, 0x00000000; 77 CHECKREG r2, 0x00000020; 78 CHECKREG r3, 0x00000000; 79 CHECKREG r4, 0x00000000; 80 CHECKREG r5, 0x00000020; 81 82 CC = FP == 3; 83 R5 = ASTAT; 84 CC = FP < 7 (IU); 85 R6 = ASTAT; 86 CC = FP <= 7 (IU); 87 R7 = ASTAT; 88 CHECKREG r5, 0x00000000; 89 CHECKREG r6, 0x00000000; 90 CHECKREG r7, 0x00000020; 91 92 // positive preg GREATER than positive imm3 93 CC = P1 == 0; 94 R0 = ASTAT; 95 CC = P1 < 0 (IU); 96 R1 = ASTAT; 97 CC = P1 <= 0 (IU); 98 R2 = ASTAT; 99 CC = P2 == 1; 100 R3 = ASTAT; 101 CC = P2 < 1 (IU); 102 R4 = ASTAT; 103 CC = P2 <= 1 (IU); 104 R5 = ASTAT; 105 CHECKREG r0, 0x00000000; 106 CHECKREG r1, 0x00000000; 107 CHECKREG r2, 0x00000000; 108 CHECKREG r3, 0x00000000; 109 CHECKREG r4, 0x00000000; 110 CHECKREG r5, 0x00000000; 111 112 CC = P3 == 2; 113 R0 = ASTAT; 114 CC = P3 < 2 (IU); 115 R1 = ASTAT; 116 CC = P3 <= 2 (IU); 117 R2 = ASTAT; 118 CC = P4 == 3; 119 R3 = ASTAT; 120 CC = P4 < 3 (IU); 121 R4 = ASTAT; 122 CC = P4 <= 3 (IU); 123 R5 = ASTAT; 124 CHECKREG r0, 0x00000000; 125 CHECKREG r1, 0x00000000; 126 CHECKREG r2, 0x00000000; 127 CHECKREG r3, 0x00000000; 128 CHECKREG r4, 0x00000000; 129 CHECKREG r5, 0x00000000; 130 131 CC = P5 == 3; 132 R0 = ASTAT; 133 CC = P5 < 4 (IU); 134 R1 = ASTAT; 135 CC = P5 <= 4 (IU); 136 R2 = ASTAT; 137 CC = SP == 3; 138 R3 = ASTAT; 139 CC = SP < 5 (IU); 140 R4 = ASTAT; 141 CC = SP <= 5 (IU); 142 R5 = ASTAT; 143 CHECKREG r0, 0x00000000; 144 CHECKREG r1, 0x00000000; 145 CHECKREG r2, 0x00000000; 146 CHECKREG r3, 0x00000000; 147 CHECKREG r4, 0x00000000; 148 CHECKREG r5, 0x00000000; 149 150 CC = FP == 3; 151 R5 = ASTAT; 152 CC = FP < 6 (IU); 153 R6 = ASTAT; 154 CC = FP <= 6 (IU); 155 R7 = ASTAT; 156 CHECKREG r5, 0x00000000; 157 CHECKREG r6, 0x00000000; 158 CHECKREG r7, 0x00000000; 159 160 // positive preg LESS than positive imm3 161 imm32 p1, 0x00000000; 162 imm32 p2, 0x00000001; 163 imm32 p3, 0x00000002; 164 imm32 p4, 0x00000003; 165 imm32 p5, 0x00000004; 166 imm32 sp, 0x00000005; 167 imm32 fp, 0x00000006; 168 CC = P1 == 2; 169 R0 = ASTAT; 170 CC = P1 < 2 (IU); 171 R1 = ASTAT; 172 CC = P1 <= 2 (IU); 173 R2 = ASTAT; 174 CC = P2 == 3; 175 R3 = ASTAT; 176 CC = P2 < 3 (IU); 177 R4 = ASTAT; 178 CC = P2 <= 3 (IU); 179 R5 = ASTAT; 180 CHECKREG r0, 0x00000000; 181 CHECKREG r1, 0x00000020; 182 CHECKREG r2, 0x00000020; 183 CHECKREG r3, 0x00000000; 184 CHECKREG r4, 0x00000020; 185 CHECKREG r5, 0x00000020; 186 187 CC = P3 == 3; 188 R0 = ASTAT; 189 CC = P3 < 4 (IU); 190 R1 = ASTAT; 191 CC = P3 <= 4 (IU); 192 R2 = ASTAT; 193 CC = P4 == 3; 194 R3 = ASTAT; 195 CC = P4 < 5 (IU); 196 R4 = ASTAT; 197 CC = P4 <= 5 (IU); 198 R5 = ASTAT; 199 CHECKREG r0, 0x00000000; 200 CHECKREG r1, 0x00000020; 201 CHECKREG r2, 0x00000020; 202 CHECKREG r3, 0x00000020; 203 CHECKREG r4, 0x00000020; 204 CHECKREG r5, 0x00000020; 205 206 CC = P5 == 3; 207 R0 = ASTAT; 208 CC = P5 < 6 (IU); 209 R1 = ASTAT; 210 CC = P5 <= 6 (IU); 211 R2 = ASTAT; 212 CC = SP == 3; 213 R3 = ASTAT; 214 CC = SP < 7 (IU); 215 R4 = ASTAT; 216 CC = SP <= 7 (IU); 217 R5 = ASTAT; 218 CHECKREG r0, 0x00000000; 219 CHECKREG r1, 0x00000020; 220 CHECKREG r2, 0x00000020; 221 CHECKREG r3, 0x00000000; 222 CHECKREG r4, 0x00000020; 223 CHECKREG r5, 0x00000020; 224 225 CC = FP == 3; 226 R5 = ASTAT; 227 CC = FP < 7 (IU); 228 R6 = ASTAT; 229 CC = FP <= 7 (IU); 230 R7 = ASTAT; 231 CHECKREG r5, 0x00000000; 232 CHECKREG r6, 0x00000020; 233 CHECKREG r7, 0x00000020; 234 235 236 237 238 pass 239