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 8 x: 9 move.d 0f,r6 10 setf nzvc 11 jsr r6 12 .if ..asm.arch.cris.v32 13 nop 14 .endif 15 0: 16 test_move_cc 1 1 1 1 17 move srp,r3 18 sub.d 0b,r3 19 dumpr3 20 21 move.d 1f,r0 22 setf nzvc 23 jsr r0 24 .if ..asm.arch.cris.v32 25 moveq 0,r0 26 .endif 27 6: 28 nop 29 quit 30 31 2: 32 test_move_cc 0 0 0 0 33 move srp,r3 34 sub.d 3f,r3 35 dumpr3 36 jsr 4f 37 .if ..asm.arch.cris.v32 38 nop 39 .endif 40 7: 41 nop 42 quit 43 44 ; Can't use local label 8 or 9, as they're used by test_move_cc. 45 y: 46 move srp,r3 47 sub.d 7b,r3 48 dumpr3 49 quit 50 51 4: 52 move srp,r3 53 sub.d 7b,r3 54 dumpr3 55 move.d 5f,r3 56 jump r3 57 .if ..asm.arch.cris.v32 58 moveq 0,r3 59 .endif 60 quit 61 62 .space 32770,0 63 1: 64 test_move_cc 1 1 1 1 65 move srp,r3 66 sub.d 6b,r3 67 dumpr3 68 69 clearf cznv 70 jsr 2b 71 .if ..asm.arch.cris.v32 72 nop 73 .endif 74 3: 75 76 quit 77 78 5: 79 move srp,r3 80 sub.d 7b,r3 81 dumpr3 82 jump y 83 .if ..asm.arch.cris.v32 84 nop 85 .endif 86 quit 87