OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [sim/] [testsuite/] [sim/] [cris/] [asm/] [tb.ms] - Blame information for rev 816

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
#mach: crisv32
2
#output: Basic clock cycles, total @: 54\n
3
#output: Memory source stall cycles: 0\n
4
#output: Memory read-after-write stall cycles: 0\n
5
#output: Movem source stall cycles: 0\n
6
#output: Movem destination stall cycles: 0\n
7
#output: Movem address stall cycles: 0\n
8
#output: Multiplication source stall cycles: 0\n
9
#output: Jump source stall cycles: 0\n
10
#output: Branch misprediction stall cycles: 18\n
11
#output: Jump target stall cycles: 0\n
12
#sim: --cris-cycles=basic
13
 
14
; Check branch penalties.  It is assumed that the taken-counters
15
; in the bimodal branch-predictors start at 0, meaning two taken
16
; branches are required for a branch to be predicted as taken
17
; for each counter, from reset.  None of these branches go
18
; to the end of a cache-line and none map to the same counter.
19
 
20
 .include "testutils.inc"
21
 startnostack
22
 ba 0f          ; No penalty: always-taken condition not "predicted".
23
 nop
24
 nop
25
0:
26
 setf c
27
 bcs 0f         ; Penalty 2 cycles.
28
 nop
29
 
30
 nop
31
0:
32
 clearf c
33
 bcc 0f         ; Penalty 2 cycles, though branch is a nop.
34
 moveq 4,r0     ; Execute 5 times:
35
 
36
0:
37
 move.d r0,r0
38
 bne 0b         ; Mispredicted 3 out of 5 times: penalty 3*2 cycles.
39
 subq 1,r0
40
 
41
0:
42
 beq 0f         ; Not taken; no penalty.
43
 nop
44
 
45
 nop
46
0:
47
 
48
; (Almost) same insns, but with 16-bit bCC insns.
49
 
50
 ba 0f          ; No penalty: always-taken condition not "predicted".
51
 nop
52
 .space 520
53
0:
54
 setf c
55
 bcs 0f         ; Penalty 2 cycles.
56
 nop
57
 
58
 .space 520
59
0:
60
 moveq 4,r0     ; Execute 5 times:
61
0:
62
 ba 1f
63
 move.d r0,r0   ; Mispredicted 3 out of 5 times:
64
 .space 520
65
1:
66
 bne 0b         ; Penalty 3*2 cycles.
67
 subq 1,r0
68
 
69
 beq 0f         ; Not taken; no penalty.
70
 nop
71
0:
72
 break 15

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.