]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/testsuite/sim/bfin/a26.s
sim: bfin: import testsuite
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / bfin / a26.s
1 // Test ALU SEARCH instruction
2 # mach: bfin
3
4 .include "testutils.inc"
5 start
6
7
8 init_r_regs 0;
9 ASTAT = R0;
10
11 R0 = 4;
12 R1 = 5;
13 A1 = A0 = 0;
14
15 R2.L = 0x0001;
16 R2.H = 0xffff;
17
18 loadsym P0, foo;
19
20 ( R1 , R0 ) = SEARCH R2 (GT);
21
22 // R0 should be the pointer
23 R7 = P0;
24 CC = R0 == R7;
25 if !CC JUMP _fail;
26
27 _DBG R1; // does not change
28 DBGA ( R1.H , 0 ); DBGA ( R1.L , 0x5 );
29
30 _DBG A0; // changes
31 R0 = A0.w;
32 DBGA ( R0.H , 0 ); DBGA ( R0.L , 0x1 );
33
34 _DBG A1; // does not change
35 R0 = A1.w;
36 DBGA ( R0.H , 0 ); DBGA ( R0.L , 0 );
37
38 R0 = 4;
39 R1 = 5;
40 A1 = A0 = 0;
41
42 R2.L = 0x0000;
43 R2.H = 0xffff;
44
45 loadsym p0, foo;
46
47 ( R1 , R0 ) = SEARCH R2 (LT);
48
49 _DBG R0; // no change
50 DBGA ( R0.H , 0 ); DBGA ( R0.L , 4 );
51
52 _DBG R1; // change
53 R7 = P0;
54 CC = R1 == R7;
55 if !CC JUMP _fail;
56
57 _DBG A0;
58 R0 = A0.w;
59 DBGA ( R0.H , 0 ); DBGA ( R0.L , 0 );
60
61 _DBG A1;
62 R0 = A1.w;
63 DBGA ( R0.H , 0xffff ); DBGA ( R0.L , 0xffff );
64
65 pass
66
67 _fail:
68 fail;
69
70 .data
71 foo:
72 .space (0x100)