xref: /qemu/tests/tcg/xtensa/test_b.S (revision 4179575898fcc17c5e67306a357b8dfe64122e8e)
1a2e67072SMax Filippov#include "macros.inc"
27d890b40SMax Filippov
37d890b40SMax Filippovtest_suite b
47d890b40SMax Filippov
57d890b40SMax Filippovtest bnone
67d890b40SMax Filippov    movi    a2, 0xa5a5ff00
77d890b40SMax Filippov    movi    a3, 0x5a5a00ff
87d890b40SMax Filippov    bnone   a2, a3, 1f
97d890b40SMax Filippov    test_fail
107d890b40SMax Filippov1:
117d890b40SMax Filippov    movi    a2, 0xa5a5ff01
127d890b40SMax Filippov    bnone   a2, a3, 1f
137d890b40SMax Filippov    j       2f
147d890b40SMax Filippov1:
157d890b40SMax Filippov    test_fail
167d890b40SMax Filippov2:
177d890b40SMax Filippovtest_end
187d890b40SMax Filippov
197d890b40SMax Filippovtest beq
207d890b40SMax Filippov    movi    a2, 0
217d890b40SMax Filippov    movi    a3, 0
227d890b40SMax Filippov    beq     a2, a3, 1f
237d890b40SMax Filippov    test_fail
247d890b40SMax Filippov1:
257d890b40SMax Filippov    movi    a2, 1
267d890b40SMax Filippov    beq     a2, a3, 1f
277d890b40SMax Filippov    j       2f
287d890b40SMax Filippov1:
297d890b40SMax Filippov    test_fail
307d890b40SMax Filippov2:
317d890b40SMax Filippovtest_end
327d890b40SMax Filippov
337d890b40SMax Filippovtest blt
347d890b40SMax Filippov    movi    a2, 6
357d890b40SMax Filippov    movi    a3, 7
367d890b40SMax Filippov    blt     a2, a3, 1f
377d890b40SMax Filippov    test_fail
387d890b40SMax Filippov1:
397d890b40SMax Filippov    movi    a2, 0xffffffff
407d890b40SMax Filippov    blt     a2, a3, 1f
417d890b40SMax Filippov    test_fail
427d890b40SMax Filippov1:
437d890b40SMax Filippov    movi    a2, 7
447d890b40SMax Filippov    blt     a2, a3, 1f
457d890b40SMax Filippov    j       2f
467d890b40SMax Filippov1:
477d890b40SMax Filippov    test_fail
487d890b40SMax Filippov2:
497d890b40SMax Filippovtest_end
507d890b40SMax Filippov
517d890b40SMax Filippovtest bltu
527d890b40SMax Filippov    movi    a2, 6
537d890b40SMax Filippov    movi    a3, 7
547d890b40SMax Filippov    bltu    a2, a3, 1f
557d890b40SMax Filippov    test_fail
567d890b40SMax Filippov1:
577d890b40SMax Filippov    movi    a2, 7
587d890b40SMax Filippov    bltu    a2, a3, 1f
597d890b40SMax Filippov    j       2f
607d890b40SMax Filippov1:
617d890b40SMax Filippov    test_fail
627d890b40SMax Filippov2:
637d890b40SMax Filippov    movi    a2, 0xffffffff
647d890b40SMax Filippov    bltu    a2, a3, 1f
657d890b40SMax Filippov    j       2f
667d890b40SMax Filippov1:
677d890b40SMax Filippov    test_fail
687d890b40SMax Filippov2:
697d890b40SMax Filippovtest_end
707d890b40SMax Filippov
717d890b40SMax Filippovtest ball
727d890b40SMax Filippov    movi    a2, 0xa5a5ffa5
737d890b40SMax Filippov    movi    a3, 0xa5a5ff00
747d890b40SMax Filippov    ball    a2, a3, 1f
757d890b40SMax Filippov    test_fail
767d890b40SMax Filippov1:
777d890b40SMax Filippov    movi    a2, 0xa5a5a5a5
787d890b40SMax Filippov    ball    a2, a3, 1f
797d890b40SMax Filippov    j       2f
807d890b40SMax Filippov1:
817d890b40SMax Filippov    test_fail
827d890b40SMax Filippov2:
837d890b40SMax Filippovtest_end
847d890b40SMax Filippov
857d890b40SMax Filippovtest bbc
867d890b40SMax Filippov    movi    a2, 0xfffffffd
87*64eef9bfSMax Filippov#undef BIT
88*64eef9bfSMax Filippov#if XCHAL_HAVE_BE
89*64eef9bfSMax Filippov#define BIT 0xfffffffe
90*64eef9bfSMax Filippov#else
91*64eef9bfSMax Filippov#define BIT 0xffffff01
92*64eef9bfSMax Filippov#endif
93*64eef9bfSMax Filippov    movi    a3, BIT
947d890b40SMax Filippov    bbc     a2, a3, 1f
957d890b40SMax Filippov    test_fail
967d890b40SMax Filippov1:
977d890b40SMax Filippov    movi    a2, 8
98*64eef9bfSMax Filippov#undef BIT
99*64eef9bfSMax Filippov#if XCHAL_HAVE_BE
100*64eef9bfSMax Filippov#define BIT 0xfffffffc
101*64eef9bfSMax Filippov#else
102*64eef9bfSMax Filippov#define BIT 0xffffff03
103*64eef9bfSMax Filippov#endif
104*64eef9bfSMax Filippov    movi    a3, BIT
1057d890b40SMax Filippov    bbc     a2, a3, 1f
1067d890b40SMax Filippov    j       2f
1077d890b40SMax Filippov1:
1087d890b40SMax Filippov    test_fail
1097d890b40SMax Filippov2:
1107d890b40SMax Filippovtest_end
1117d890b40SMax Filippov
1127d890b40SMax Filippovtest bbci
1137d890b40SMax Filippov    movi    a2, 0xfffdffff
114*64eef9bfSMax Filippov    bbci.l  a2, 17, 1f
1157d890b40SMax Filippov    test_fail
1167d890b40SMax Filippov1:
1177d890b40SMax Filippov    movi    a2, 0x00020000
118*64eef9bfSMax Filippov    bbci.l  a2, 17, 1f
1197d890b40SMax Filippov    j       2f
1207d890b40SMax Filippov1:
1217d890b40SMax Filippov    test_fail
1227d890b40SMax Filippov2:
1237d890b40SMax Filippovtest_end
1247d890b40SMax Filippov
1257d890b40SMax Filippovtest bany
1267d890b40SMax Filippov    movi    a2, 0xa5a5ff01
1277d890b40SMax Filippov    movi    a3, 0x5a5a00ff
1287d890b40SMax Filippov    bany    a2, a3, 1f
1297d890b40SMax Filippov    test_fail
1307d890b40SMax Filippov1:
1317d890b40SMax Filippov    movi    a2, 0xa5a5ff00
1327d890b40SMax Filippov    bany    a2, a3, 1f
1337d890b40SMax Filippov    j       2f
1347d890b40SMax Filippov1:
1357d890b40SMax Filippov    test_fail
1367d890b40SMax Filippov2:
1377d890b40SMax Filippovtest_end
1387d890b40SMax Filippov
1397d890b40SMax Filippovtest bne
1407d890b40SMax Filippov    movi    a2, 1
1417d890b40SMax Filippov    movi    a3, 0
1427d890b40SMax Filippov    bne     a2, a3, 1f
1437d890b40SMax Filippov    test_fail
1447d890b40SMax Filippov1:
1457d890b40SMax Filippov    movi    a2, 0
1467d890b40SMax Filippov    bne     a2, a3, 1f
1477d890b40SMax Filippov    j       2f
1487d890b40SMax Filippov1:
1497d890b40SMax Filippov    test_fail
1507d890b40SMax Filippov2:
1517d890b40SMax Filippovtest_end
1527d890b40SMax Filippov
1537d890b40SMax Filippovtest bge
1547d890b40SMax Filippov    movi    a2, 7
1557d890b40SMax Filippov    movi    a3, 7
1567d890b40SMax Filippov    bge     a2, a3, 1f
1577d890b40SMax Filippov    test_fail
1587d890b40SMax Filippov1:
1597d890b40SMax Filippov    movi    a2, 6
1607d890b40SMax Filippov    bge     a2, a3, 1f
1617d890b40SMax Filippov    j       2f
1627d890b40SMax Filippov1:
1637d890b40SMax Filippov    test_fail
1647d890b40SMax Filippov2:
1657d890b40SMax Filippov    movi    a2, 0xffffffff
1667d890b40SMax Filippov    bge     a2, a3, 1f
1677d890b40SMax Filippov    j       2f
1687d890b40SMax Filippov1:
1697d890b40SMax Filippov    test_fail
1707d890b40SMax Filippov2:
1717d890b40SMax Filippovtest_end
1727d890b40SMax Filippov
1737d890b40SMax Filippovtest bgeu
1747d890b40SMax Filippov    movi    a2, 7
1757d890b40SMax Filippov    movi    a3, 7
1767d890b40SMax Filippov    bgeu    a2, a3, 1f
1777d890b40SMax Filippov    test_fail
1787d890b40SMax Filippov1:
1797d890b40SMax Filippov    movi    a2, 0xffffffff
1807d890b40SMax Filippov    bgeu    a2, a3, 1f
1817d890b40SMax Filippov    test_fail
1827d890b40SMax Filippov1:
1837d890b40SMax Filippov    movi    a2, 6
1847d890b40SMax Filippov    bgeu    a2, a3, 1f
1857d890b40SMax Filippov    j       2f
1867d890b40SMax Filippov1:
1877d890b40SMax Filippov    test_fail
1887d890b40SMax Filippov2:
1897d890b40SMax Filippovtest_end
1907d890b40SMax Filippov
1917d890b40SMax Filippovtest bnall
1927d890b40SMax Filippov    movi    a2, 0xa5a5a5a5
1937d890b40SMax Filippov    movi    a3, 0xa5a5ff00
1947d890b40SMax Filippov    bnall   a2, a3, 1f
1957d890b40SMax Filippov    test_fail
1967d890b40SMax Filippov1:
1977d890b40SMax Filippov    movi    a2, 0xa5a5ffa5
1987d890b40SMax Filippov    bnall   a2, a3, 1f
1997d890b40SMax Filippov    j       2f
2007d890b40SMax Filippov1:
2017d890b40SMax Filippov    test_fail
2027d890b40SMax Filippov2:
2037d890b40SMax Filippovtest_end
2047d890b40SMax Filippov
2057d890b40SMax Filippovtest bbs
2067d890b40SMax Filippov    movi    a2, 8
207*64eef9bfSMax Filippov#undef BIT
208*64eef9bfSMax Filippov#if XCHAL_HAVE_BE
209*64eef9bfSMax Filippov#define BIT 0xfffffffc
210*64eef9bfSMax Filippov#else
211*64eef9bfSMax Filippov#define BIT 0xffffff03
212*64eef9bfSMax Filippov#endif
213*64eef9bfSMax Filippov    movi    a3, BIT
2147d890b40SMax Filippov    bbs     a2, a3, 1f
2157d890b40SMax Filippov    test_fail
2167d890b40SMax Filippov1:
2177d890b40SMax Filippov    movi    a2, 0xfffffffd
218*64eef9bfSMax Filippov#undef BIT
219*64eef9bfSMax Filippov#if XCHAL_HAVE_BE
220*64eef9bfSMax Filippov#define BIT 0xfffffffe
221*64eef9bfSMax Filippov#else
222*64eef9bfSMax Filippov#define BIT 0xffffff01
223*64eef9bfSMax Filippov#endif
224*64eef9bfSMax Filippov    movi    a3, BIT
2257d890b40SMax Filippov    bbs     a2, a3, 1f
2267d890b40SMax Filippov    j       2f
2277d890b40SMax Filippov1:
2287d890b40SMax Filippov    test_fail
2297d890b40SMax Filippov2:
2307d890b40SMax Filippovtest_end
2317d890b40SMax Filippov
2327d890b40SMax Filippovtest bbsi
2337d890b40SMax Filippov    movi    a2, 0x00020000
234*64eef9bfSMax Filippov    bbsi.l  a2, 17, 1f
2357d890b40SMax Filippov    test_fail
2367d890b40SMax Filippov1:
2377d890b40SMax Filippov    movi    a2, 0xfffdffff
238*64eef9bfSMax Filippov    bbsi.l  a2, 17, 1f
2397d890b40SMax Filippov    j       2f
2407d890b40SMax Filippov1:
2417d890b40SMax Filippov    test_fail
2427d890b40SMax Filippov2:
2437d890b40SMax Filippovtest_end
2447d890b40SMax Filippov
2457d890b40SMax Filippovtest_suite_end
246