| # mach: crisv3 crisv8 crisv10 crisv32 |
| # output: 0\n0\n0\n0\n0\n0\n |
| |
| # Test that jsr Rn and jsr [PC+] work. |
| |
| .include "testutils.inc" |
| start |
| x: |
| move.d 0f,r6 |
| setf nzvc |
| jsr r6 |
| .if 1; ..asm.arch.cris.v32 |
| nop |
| .endif |
| 0: |
| test_move_cc 1 1 1 1 |
| move srp,r3 |
| sub.d 0b,r3 |
| checkr3 0 |
| |
| move.d 1f,r0 |
| setf nzvc |
| jsr r0 |
| .if 1 ; ..asm.arch.cris.v32 |
| moveq 0,r0 |
| .endif |
| 6: |
| nop |
| quit |
| |
| 2: |
| test_move_cc 0 0 0 0 |
| move srp,r3 |
| sub.d 3f,r3 |
| checkr3 0 |
| jsr 4f |
| .if 1 ; ..asm.arch.cris.v32 |
| nop |
| .endif |
| 7: |
| nop |
| quit |
| |
| 8: |
| move srp,r3 |
| sub.d 7b,r3 |
| checkr3 0 |
| quit |
| |
| 4: |
| move srp,r3 |
| sub.d 7b,r3 |
| checkr3 0 |
| move.d 5f,r3 |
| jump r3 |
| .if 1; ..asm.arch.cris.v32 |
| moveq 0,r3 |
| .endif |
| quit |
| |
| .space 32770,0 |
| 1: |
| test_move_cc 1 1 1 1 |
| move srp,r3 |
| sub.d 6b,r3 |
| checkr3 0 |
| |
| clearf cznv |
| jsr 2b |
| .if 1; ..asm.arch.cris.v32 |
| nop |
| .endif |
| 3: |
| |
| quit |
| |
| 5: |
| move srp,r3 |
| sub.d 7b,r3 |
| checkr3 0 |
| jump 8b |
| .if 1 ; ..asm.arch.cris.v32 |
| nop |
| .endif |
| quit |