blob: dee0b2913e4346adf5dda3f9a61cd20f9f079ed5 [file] [log] [blame]
#mach: crisv32
#output: Basic clock cycles, total @: 37\n
#output: Memory source stall cycles: 0\n
#output: Memory read-after-write stall cycles: 0\n
#output: Movem source stall cycles: 0\n
#output: Movem destination stall cycles: 0\n
#output: Movem address stall cycles: 0\n
#output: Multiplication source stall cycles: 0\n
#output: Jump source stall cycles: 6\n
#output: Branch misprediction stall cycles: 0\n
#output: Jump target stall cycles: 0\n
#sim: --cris-cycles=basic
; Check that we correctly account for that a "jas N,Pn",
; "jasc N,Pn", "bas N,Pn" and "basc N,Pn" sets the specific
; special register and causes a pipeline hazard. The amount
; of nops below is a bit inflated, in an attempt to make
; errors more discernible. For special registers, we just
; check SRP.
.include "testutils.inc"
startnostack
move.d 0f,$r0
jsr 0f
nop
nop
nop
jsrc 0f
nop
.dword -1
nop
nop
jsr $r0
nop
nop
nop
jsrc $r0
nop
.dword -1
nop
nop
bsr 0f
nop
nop
nop
bsrc 0f
nop
.dword -1
nop
nop
break 15
0:
ret ; 1 cycle penalty.
nop