]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/testsuite/sim/sh/bset.s
This commit was manufactured by cvs2svn to create branch
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / sh / bset.s
CommitLineData
b4f0ee66
CV
1# sh testcase for bset
2# mach: all
3# as(sh): -defsym sim_cpu=0
4# as(shdsp): -defsym sim_cpu=1 -dsp
5
6 .include "testutils.inc"
7
8 .align 2
9_x: .long 0
10_y: .long 0x55555555
11
12 start
13
14bset_b_imm_disp12_reg:
15 set_grs_a5a5
16 mov.l x, r1
17
18 bset.b #0, @(3, r1)
19 assertmem _x, 0x1
20 bset.b #1, @(3, r1)
21 assertmem _x, 0x3
22 bset.b #2, @(3, r1)
23 assertmem _x, 0x7
24 bset.b #3, @(3, r1)
25 assertmem _x, 0xf
26
27 bset.b #4, @(3, r1)
28 assertmem _x, 0x1f
29 bset.b #5, @(3, r1)
30 assertmem _x, 0x3f
31 bset.b #6, @(3, r1)
32 assertmem _x, 0x7f
33 bset.b #7, @(3, r1)
34 assertmem _x, 0xff
35
36 bset.b #0, @(2, r1)
37 assertmem _x, 0x1ff
38 bset.b #1, @(2, r1)
39 assertmem _x, 0x3ff
40 bset.b #2, @(2, r1)
41 assertmem _x, 0x7ff
42 bset.b #3, @(2, r1)
43 assertmem _x, 0xfff
44
45 bra .L2
46 nop
47
48 .align 2
49x: .long _x
50y: .long _y
51
52.L2:
53 bset.b #4, @(2, r1)
54 assertmem _x, 0x1fff
55 bset.b #5, @(2, r1)
56 assertmem _x, 0x3fff
57 bset.b #6, @(2, r1)
58 assertmem _x, 0x7fff
59 bset.b #7, @(2, r1)
60 assertmem _x, 0xffff
61
62 bset.b #0, @(1, r1)
63 assertmem _x, 0x1ffff
64 bset.b #1, @(1, r1)
65 assertmem _x, 0x3ffff
66 bset.b #2, @(1, r1)
67 assertmem _x, 0x7ffff
68 bset.b #3, @(1, r1)
69 assertmem _x, 0xfffff
70
71 bset.b #4, @(1, r1)
72 assertmem _x, 0x1fffff
73 bset.b #5, @(1, r1)
74 assertmem _x, 0x3fffff
75 bset.b #6, @(1, r1)
76 assertmem _x, 0x7fffff
77 bset.b #7, @(1, r1)
78 assertmem _x, 0xffffff
79
80 bset.b #0, @(0, r1)
81 assertmem _x, 0x1ffffff
82 bset.b #1, @(0, r1)
83 assertmem _x, 0x3ffffff
84 bset.b #2, @(0, r1)
85 assertmem _x, 0x7ffffff
86 bset.b #3, @(0, r1)
87 assertmem _x, 0xfffffff
88
89 bset.b #4, @(0, r1)
90 assertmem _x, 0x1fffffff
91 bset.b #5, @(0, r1)
92 assertmem _x, 0x3fffffff
93 bset.b #6, @(0, r1)
94 assertmem _x, 0x7fffffff
95 bset.b #7, @(0, r1)
96 assertmem _x, 0xffffffff
97
98 assertreg _x, r1
99
100bset_imm_reg:
101 set_greg 0, r1
102 bset #0, r1
103 assertreg 0x1, r1
104 bset #1, r1
105 assertreg 0x3, r1
106 bset #2, r1
107 assertreg 0x7, r1
108 bset #3, r1
109 assertreg 0xf, r1
110
111 bset #4, r1
112 assertreg 0x1f, r1
113 bset #5, r1
114 assertreg 0x3f, r1
115 bset #6, r1
116 assertreg 0x7f, r1
117 bset #7, r1
118 assertreg 0xff, r1
119
120 test_gr_a5a5 r0
121 test_gr_a5a5 r2
122 test_gr_a5a5 r3
123 test_gr_a5a5 r4
124 test_gr_a5a5 r5
125 test_gr_a5a5 r6
126 test_gr_a5a5 r7
127 test_gr_a5a5 r8
128 test_gr_a5a5 r9
129 test_gr_a5a5 r10
130 test_gr_a5a5 r11
131 test_gr_a5a5 r12
132 test_gr_a5a5 r13
133 test_gr_a5a5 r14
134
135 pass
136
137 exit 0
138
139