1 # mips r6 branch tests (non FPU) 2 # mach: mips32r6 mips64r6 3 # as: -mabi=eabi 4 # ld: -N -Ttext=0x80010000 5 # output: *\\npass\\n 6 7 .include "testutils.inc" 8 .include "utils-r6.inc" 9 10 setup 11 12 .set noreorder 13 14 .ent DIAG 15 DIAG: 16 li $14, 0xffffffff 17 li $13, 0x123 18 li $12, 0x45 19 li $7, 0x45 20 li $8, 0xfffffffe 21 li $9, 2147483647 22 li $11, 0 23 24 writemsg "[1] Test BOVC" 25 bovc $12, $13, Lfail 26 nop 27 bovc $9, $13, L2 28 nop 29 fail 30 31 L2: 32 writemsg "[2] Test BNVC" 33 bnvc $9, $13, Lfail 34 nop 35 bnvc $12, $13, L3 36 nop 37 fail 38 39 L3: 40 writemsg "[3] Test BEQC" 41 beqc $12, $13, Lfail 42 nop 43 beqc $12, $7, L4 44 nop 45 fail 46 47 L4: 48 writemsg "[4] Test BNEC" 49 bnec $12, $7, Lfail 50 nop 51 bnec $12, $13, L5 52 nop 53 fail 54 55 L5: 56 writemsg "[5] Test BLTC" 57 bltc $13, $12, Lfail 58 nop 59 bltc $12, $13, L6 60 nop 61 fail 62 63 L6: 64 # writemsg "[6] Test BLEC" 65 # blec $13, $12, Lfail 66 # nop 67 # blec $7, $12, L7 68 # nop 69 # fail 70 71 L7: 72 writemsg "[7] Test BGEC" 73 bgec $12, $13, Lfail 74 nop 75 bgec $13, $12, L8 76 nop 77 fail 78 79 L8: 80 # writemsg "[8] Test BGTC" 81 # bgtc $12, $13, Lfail 82 # nop 83 # bgtc $13, $12, L9 84 # nop 85 # fail 86 87 88 L9: 89 writemsg "[9] Test BLTUC" 90 bltuc $14, $13, Lfail 91 nop 92 bltuc $8, $14, L10 93 nop 94 fail 95 96 L10: 97 # writemsg "[10] Test BLEUC" 98 # bleuc $14, $13, Lfail 99 # nop 100 # bleuc $8, $14, L11 101 # nop 102 # fail 103 104 L11: 105 writemsg "[11] Test BGEUC" 106 bgeuc $13, $14, Lfail 107 nop 108 bgeuc $14, $8, L12 109 nop 110 fail 111 112 L12: 113 # writemsg "[12] Test BGTUC" 114 # bgtuc $13, $14, Lfail 115 # nop 116 # bgtuc $14, $8, L13 117 # nop 118 # fail 119 120 L13: 121 writemsg "[13] Test BLTZC" 122 bltzc $13, Lfail 123 nop 124 bltzc $11, Lfail 125 nop 126 bltzc $14, L14 127 nop 128 fail 129 130 L14: 131 writemsg "[14] Test BLEZC" 132 blezc $13, Lfail 133 nop 134 blezc $11, L145 135 nop 136 fail 137 L145: 138 blezc $14, L15 139 nop 140 fail 141 142 L15: 143 writemsg "[15] Test BGEZC" 144 bgezc $8, Lfail 145 nop 146 bgezc $11, L155 147 nop 148 fail 149 L155: 150 bgezc $13, L16 151 nop 152 fail 153 154 L16: 155 writemsg "[16] Test BGTZC" 156 bgtzc $8, Lfail 157 nop 158 bgtzc $11, Lfail 159 nop 160 bgtzc $13, L17 161 nop 162 fail 163 164 li $10, 0 165 166 L17: 167 writemsg "[17] Test BLEZALC" 168 blezalc $12, Lfail 169 nop 170 blezalc $11, Lret 171 li $10, 1 172 beqzc $10, L175 173 nop 174 fail 175 L175: 176 blezalc $14, Lret 177 li $10, 1 178 beqzc $10, L18 179 nop 180 fail 181 182 L18: 183 writemsg "[18] Test BGEZALC" 184 bgezalc $14, Lfail 185 nop 186 bgezalc $11, Lret 187 li $10, 1 188 beqzc $10, L185 189 nop 190 fail 191 L185: 192 bgezalc $12, Lret 193 li $10, 1 194 beqzc $10, L19 195 nop 196 fail 197 198 L19: 199 writemsg "[19] Test BGTZALC" 200 bgtzalc $14, Lfail 201 nop 202 bgtzalc $11, Lfail 203 nop 204 bgtzalc $12, Lret 205 li $10, 1 206 beqzc $10, L20 207 nop 208 fail 209 210 L20: 211 writemsg "[20] Test BLTZALC" 212 bltzalc $12, Lfail 213 nop 214 bltzalc $11, Lfail 215 nop 216 bltzalc $14, Lret 217 li $10, 1 218 beqzc $10, L21 219 nop 220 fail 221 222 L21: 223 writemsg "[21] Test BC" 224 bc L22 225 fail 226 227 L22: 228 writemsg "[22] Test BALC" 229 balc Lret 230 li $10, 1 231 beqzc $10, L23 232 nop 233 fail 234 235 L23: 236 writemsg "[23] Test JIC" 237 jal GetPC 238 nop 239 jic $6, 4 240 nop 241 fail 242 243 L24: 244 writemsg "[24] Test JIALC" 245 li $10, 1 246 jal GetPC 247 nop 248 jialc $6, 20 249 nop 250 beqzc $10, L25 251 nop 252 fail 253 254 LJIALCRET: 255 li $10, 0 256 jr $ra 257 nop 258 259 L25: 260 writemsg "[25] Test NAL" 261 jal GetPC 262 nop 263 move $11, $6 264 nal 265 nop 266 addiu $11, 12 267 beqc $11, $31, L26 268 nop 269 fail 270 271 L26: 272 writemsg "[26] Test BAL" 273 balc Lret 274 li $10, 1 275 beqzc $10, Lend 276 nop 277 fail 278 279 Lend: 280 pass 281 282 Lfail: 283 fail 284 285 .end DIAG 286 287 Lret: 288 li $10, 0 289 addiu $ra, 4 290 jr $ra 291 nop 292