1//Original:/testcases/seq/c_br_preg_stall_ex1/c_br_preg_stall_ex1.dsp
2// Spec Reference: brcc kills  data cache hits
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8	imm32 r0, 0x00000000;
9	imm32 r1, 0x00000001;
10	imm32 r2, 0x00000002;
11	imm32 r3, 0x00000003;
12	imm32 r4, 0x00000004;
13	imm32 r5, 0x00000005;
14	imm32 r6, 0x00000006;
15	imm32 r7, 0x00000007;
16	imm32 p1, 0x00000011;
17	imm32 p2, 0x00000012;
18.ifndef BFIN_HOST
19	imm32 p3, 0x00000013;
20.endif
21	imm32 p4, 0x00000014;
22
23	P1 = 4;
24	P2 = 6;
25	loadsym p5, DATA0;
26	loadsym I0, DATA1;
27
28begin:
29	ASTAT = R0;	// clear CC
30	R0 = CC;
31	IF CC R1 = R0;
32	IF !CC JUMP LABEL1;
33	R0 = LC0;
34	R2 = R1 + R0;
35LABEL1:
36	JUMP ( PC + P1 );	// EX1 relative to 'brf LABEL1'
37	CC = ! CC;
38LABEL2:
39	JUMP ( PC + P1 );	//brf LABEL3;
40	JUMP ( PC + P2 );	//BAD1;              // UJUMP     killed
41LABEL3:
42	JUMP ( PC + P1 );	//brf LABELCHK1;
43BAD1:
44	R7 = [ P5 ];	// LDST      killed
45
46LABELCHK1:
47	CHECKREG r0, 0x00000000;
48	CHECKREG r1, 0x00000001;
49	CHECKREG r2, 0x00000002;
50	CHECKREG r3, 0x00000003;
51	CHECKREG r4, 0x00000004;
52	CHECKREG r5, 0x00000005;
53	CHECKREG r6, 0x00000006;
54	CHECKREG r7, 0x00000007;
55
56	pass
57
58	.data
59DATA0:
60	.dd 0x000a0000
61	.dd 0x000b0001
62	.dd 0x000c0002
63	.dd 0x000d0003
64	.dd 0x000e0004
65
66DATA1:
67	.dd 0x00f00100
68	.dd 0x00e00101
69	.dd 0x00d00102
70	.dd 0x00c00103
71