Home | History | Annotate | Line # | Download | only in mips
      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