qemu/tests/tcg/cris/check_jsr.s
<<
>>
Prefs
   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