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 15DIAG: 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 31L2: 32 writemsg "[2] Test BNVC" 33 bnvc $9, $13, Lfail 34 nop 35 bnvc $12, $13, L3 36 nop 37 fail 38 39L3: 40 writemsg "[3] Test BEQC" 41 beqc $12, $13, Lfail 42 nop 43 beqc $12, $7, L4 44 nop 45 fail 46 47L4: 48 writemsg "[4] Test BNEC" 49 bnec $12, $7, Lfail 50 nop 51 bnec $12, $13, L5 52 nop 53 fail 54 55L5: 56 writemsg "[5] Test BLTC" 57 bltc $13, $12, Lfail 58 nop 59 bltc $12, $13, L6 60 nop 61 fail 62 63L6: 64# writemsg "[6] Test BLEC" 65# blec $13, $12, Lfail 66# nop 67# blec $7, $12, L7 68# nop 69# fail 70 71L7: 72 writemsg "[7] Test BGEC" 73 bgec $12, $13, Lfail 74 nop 75 bgec $13, $12, L8 76 nop 77 fail 78 79L8: 80# writemsg "[8] Test BGTC" 81# bgtc $12, $13, Lfail 82# nop 83# bgtc $13, $12, L9 84# nop 85# fail 86 87 88L9: 89 writemsg "[9] Test BLTUC" 90 bltuc $14, $13, Lfail 91 nop 92 bltuc $8, $14, L10 93 nop 94 fail 95 96L10: 97# writemsg "[10] Test BLEUC" 98# bleuc $14, $13, Lfail 99# nop 100# bleuc $8, $14, L11 101# nop 102# fail 103 104L11: 105 writemsg "[11] Test BGEUC" 106 bgeuc $13, $14, Lfail 107 nop 108 bgeuc $14, $8, L12 109 nop 110 fail 111 112L12: 113# writemsg "[12] Test BGTUC" 114# bgtuc $13, $14, Lfail 115# nop 116# bgtuc $14, $8, L13 117# nop 118# fail 119 120L13: 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 130L14: 131 writemsg "[14] Test BLEZC" 132 blezc $13, Lfail 133 nop 134 blezc $11, L145 135 nop 136 fail 137L145: 138 blezc $14, L15 139 nop 140 fail 141 142L15: 143 writemsg "[15] Test BGEZC" 144 bgezc $8, Lfail 145 nop 146 bgezc $11, L155 147 nop 148 fail 149L155: 150 bgezc $13, L16 151 nop 152 fail 153 154L16: 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 166L17: 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 175L175: 176 blezalc $14, Lret 177 li $10, 1 178 beqzc $10, L18 179 nop 180 fail 181 182L18: 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 191L185: 192 bgezalc $12, Lret 193 li $10, 1 194 beqzc $10, L19 195 nop 196 fail 197 198L19: 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 210L20: 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 222L21: 223 writemsg "[21] Test BC" 224 bc L22 225 fail 226 227L22: 228 writemsg "[22] Test BALC" 229 balc Lret 230 li $10, 1 231 beqzc $10, L23 232 nop 233 fail 234 235L23: 236 writemsg "[23] Test JIC" 237 jal GetPC 238 nop 239 jic $6, 4 240 nop 241 fail 242 243L24: 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 254LJIALCRET: 255 li $10, 0 256 jr $ra 257 nop 258 259L25: 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 271L26: 272 writemsg "[26] Test BAL" 273 balc Lret 274 li $10, 1 275 beqzc $10, Lend 276 nop 277 fail 278 279Lend: 280 pass 281 282Lfail: 283 fail 284 285 .end DIAG 286 287Lret: 288 li $10, 0 289 addiu $ra, 4 290 jr $ra 291 nop 292