sim: bfin: import testsuite
[external/binutils.git] / sim / testsuite / sim / bfin / c_brcc_bp3.s
1 //Original:/testcases/core/c_brcc_bp3/c_brcc_bp3.dsp
2 // Spec Reference: brcc bp
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8
9
10
11
12 imm32 r0, 0x00000000;
13 imm32 r1, 0x00000000;
14 imm32 r2, 0x00000000;
15 imm32 r3, 0x00000000;
16 imm32 r4, 0x00000000;
17 imm32 r5, 0x00000000;
18 imm32 r6, 0x00000000;
19 imm32 r7, 0x00000000;
20
21 begin:
22 ASTAT = R0;                     // clear cc
23         CC = ! CC;              // set cc=1
24         IF CC JUMP good1 (BP);  // branch on true (should branch)
25         R1 = 1;                 // if go here, error
26 good1:  IF !CC JUMP bad1 (BP);  // branch on false (should not branch)
27         JUMP.S good2;           // should branch here
28 bad1:   R2 = 2;                 // if go here, error
29 good2:  CC = ! CC;              // clear cc=0
30         IF !CC JUMP good3 (BP); // branch on false (should branch)
31         R3 = 3;                 // if go here, error
32 good3:  IF CC JUMP bad2;        // branch on true (should not branch)
33         JUMP.S end;             // we're done
34 bad2:   R4 = 4;                 // if go here error
35
36 end:
37
38 CHECKREG r0, 0x00000000;
39 CHECKREG r1, 0x00000000;
40 CHECKREG r2, 0x00000000;
41 CHECKREG r3, 0x00000000;
42 CHECKREG r4, 0x00000000;
43 CHECKREG r5, 0x00000000;
44 CHECKREG r6, 0x00000000;
45 CHECKREG r7, 0x00000000;
46
47 pass