xref: /openbmc/qemu/tests/tcg/cris/bare/check_jsr.s (revision ca693d1c)
1# mach: crisv3 crisv8 crisv10 crisv32
2# output: 0\n0\n0\n0\n0\n0\n
3
4# Test that jsr Rn and jsr [PC+] work.
5
6 .include "testutils.inc"
7 start
8x:
9 move.d 0f,r6
10 setf nzvc
11 jsr r6
12 .if 1; ..asm.arch.cris.v32
13 nop
14 .endif
150:
16 test_move_cc 1 1 1 1
17 move srp,r3
18 sub.d 0b,r3
19 checkr3 0
20
21 move.d 1f,r0
22 setf nzvc
23 jsr r0
24 .if 1 ; ..asm.arch.cris.v32
25 moveq 0,r0
26 .endif
276:
28 nop
29 quit
30
312:
32 test_move_cc 0 0 0 0
33 move srp,r3
34 sub.d 3f,r3
35 checkr3 0
36 jsr 4f
37 .if 1 ; ..asm.arch.cris.v32
38 nop
39 .endif
407:
41 nop
42 quit
43
448:
45 move srp,r3
46 sub.d 7b,r3
47 checkr3 0
48 quit
49
504:
51 move srp,r3
52 sub.d 7b,r3
53 checkr3 0
54 move.d 5f,r3
55 jump r3
56 .if 1; ..asm.arch.cris.v32
57 moveq 0,r3
58 .endif
59 quit
60
61 .space 32770,0
621:
63 test_move_cc 1 1 1 1
64 move srp,r3
65 sub.d 6b,r3
66 checkr3 0
67
68 clearf cznv
69 jsr 2b
70 .if 1; ..asm.arch.cris.v32
71 nop
72 .endif
733:
74
75 quit
76
775:
78 move srp,r3
79 sub.d 7b,r3
80 checkr3 0
81 jump 8b
82 .if 1 ; ..asm.arch.cris.v32
83 nop
84 .endif
85 quit
86