qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

test_b.S (3282B)


      1 #include "macros.inc"
      2 
      3 test_suite b
      4 
      5 test bnone
      6     movi    a2, 0xa5a5ff00
      7     movi    a3, 0x5a5a00ff
      8     bnone   a2, a3, 1f
      9     test_fail
     10 1:
     11     movi    a2, 0xa5a5ff01
     12     bnone   a2, a3, 1f
     13     j       2f
     14 1:
     15     test_fail
     16 2:
     17 test_end
     18 
     19 test beq
     20     movi    a2, 0
     21     movi    a3, 0
     22     beq     a2, a3, 1f
     23     test_fail
     24 1:
     25     movi    a2, 1
     26     beq     a2, a3, 1f
     27     j       2f
     28 1:
     29     test_fail
     30 2:
     31 test_end
     32 
     33 test blt
     34     movi    a2, 6
     35     movi    a3, 7
     36     blt     a2, a3, 1f
     37     test_fail
     38 1:
     39     movi    a2, 0xffffffff
     40     blt     a2, a3, 1f
     41     test_fail
     42 1:
     43     movi    a2, 7
     44     blt     a2, a3, 1f
     45     j       2f
     46 1:
     47     test_fail
     48 2:
     49 test_end
     50 
     51 test bltu
     52     movi    a2, 6
     53     movi    a3, 7
     54     bltu    a2, a3, 1f
     55     test_fail
     56 1:
     57     movi    a2, 7
     58     bltu    a2, a3, 1f
     59     j       2f
     60 1:
     61     test_fail
     62 2:
     63     movi    a2, 0xffffffff
     64     bltu    a2, a3, 1f
     65     j       2f
     66 1:
     67     test_fail
     68 2:
     69 test_end
     70 
     71 test ball
     72     movi    a2, 0xa5a5ffa5
     73     movi    a3, 0xa5a5ff00
     74     ball    a2, a3, 1f
     75     test_fail
     76 1:
     77     movi    a2, 0xa5a5a5a5
     78     ball    a2, a3, 1f
     79     j       2f
     80 1:
     81     test_fail
     82 2:
     83 test_end
     84 
     85 test bbc
     86     movi    a2, 0xfffffffd
     87 #undef BIT
     88 #if XCHAL_HAVE_BE
     89 #define BIT 0xfffffffe
     90 #else
     91 #define BIT 0xffffff01
     92 #endif
     93     movi    a3, BIT
     94     bbc     a2, a3, 1f
     95     test_fail
     96 1:
     97     movi    a2, 8
     98 #undef BIT
     99 #if XCHAL_HAVE_BE
    100 #define BIT 0xfffffffc
    101 #else
    102 #define BIT 0xffffff03
    103 #endif
    104     movi    a3, BIT
    105     bbc     a2, a3, 1f
    106     j       2f
    107 1:
    108     test_fail
    109 2:
    110 test_end
    111 
    112 test bbci
    113     movi    a2, 0xfffdffff
    114     bbci.l  a2, 17, 1f
    115     test_fail
    116 1:
    117     movi    a2, 0x00020000
    118     bbci.l  a2, 17, 1f
    119     j       2f
    120 1:
    121     test_fail
    122 2:
    123 test_end
    124 
    125 test bany
    126     movi    a2, 0xa5a5ff01
    127     movi    a3, 0x5a5a00ff
    128     bany    a2, a3, 1f
    129     test_fail
    130 1:
    131     movi    a2, 0xa5a5ff00
    132     bany    a2, a3, 1f
    133     j       2f
    134 1:
    135     test_fail
    136 2:
    137 test_end
    138 
    139 test bne
    140     movi    a2, 1
    141     movi    a3, 0
    142     bne     a2, a3, 1f
    143     test_fail
    144 1:
    145     movi    a2, 0
    146     bne     a2, a3, 1f
    147     j       2f
    148 1:
    149     test_fail
    150 2:
    151 test_end
    152 
    153 test bge
    154     movi    a2, 7
    155     movi    a3, 7
    156     bge     a2, a3, 1f
    157     test_fail
    158 1:
    159     movi    a2, 6
    160     bge     a2, a3, 1f
    161     j       2f
    162 1:
    163     test_fail
    164 2:
    165     movi    a2, 0xffffffff
    166     bge     a2, a3, 1f
    167     j       2f
    168 1:
    169     test_fail
    170 2:
    171 test_end
    172 
    173 test bgeu
    174     movi    a2, 7
    175     movi    a3, 7
    176     bgeu    a2, a3, 1f
    177     test_fail
    178 1:
    179     movi    a2, 0xffffffff
    180     bgeu    a2, a3, 1f
    181     test_fail
    182 1:
    183     movi    a2, 6
    184     bgeu    a2, a3, 1f
    185     j       2f
    186 1:
    187     test_fail
    188 2:
    189 test_end
    190 
    191 test bnall
    192     movi    a2, 0xa5a5a5a5
    193     movi    a3, 0xa5a5ff00
    194     bnall   a2, a3, 1f
    195     test_fail
    196 1:
    197     movi    a2, 0xa5a5ffa5
    198     bnall   a2, a3, 1f
    199     j       2f
    200 1:
    201     test_fail
    202 2:
    203 test_end
    204 
    205 test bbs
    206     movi    a2, 8
    207 #undef BIT
    208 #if XCHAL_HAVE_BE
    209 #define BIT 0xfffffffc
    210 #else
    211 #define BIT 0xffffff03
    212 #endif
    213     movi    a3, BIT
    214     bbs     a2, a3, 1f
    215     test_fail
    216 1:
    217     movi    a2, 0xfffffffd
    218 #undef BIT
    219 #if XCHAL_HAVE_BE
    220 #define BIT 0xfffffffe
    221 #else
    222 #define BIT 0xffffff01
    223 #endif
    224     movi    a3, BIT
    225     bbs     a2, a3, 1f
    226     j       2f
    227 1:
    228     test_fail
    229 2:
    230 test_end
    231 
    232 test bbsi
    233     movi    a2, 0x00020000
    234     bbsi.l  a2, 17, 1f
    235     test_fail
    236 1:
    237     movi    a2, 0xfffdffff
    238     bbsi.l  a2, 17, 1f
    239     j       2f
    240 1:
    241     test_fail
    242 2:
    243 test_end
    244 
    245 test_suite_end