Update copyright year range in all GDB files.
[deliverable/binutils-gdb.git] / sim / testsuite / sim / or1k / and.S
CommitLineData
702d582e
PG
1/* Tests instructions l.and, l.andi.
2
b811d2c2 3 Copyright (C) 2017-2020 Free Software Foundation, Inc.
702d582e
PG
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18# mach: or1k
19# output: report(0x00000000);\n
20# output: report(0x00000000);\n
21# output: report(0x00000000);\n
22# output: report(0x00000000);\n
23# output: report(0x00000000);\n
24# output: report(0x00000000);\n
25# output: \n
26# output: report(0xffffffff);\n
27# output: report(0xffffffff);\n
28# output: report(0xffffffff);\n
29# output: report(0x00000000);\n
30# output: report(0x00000000);\n
31# output: report(0x00000000);\n
32# output: \n
33# output: report(0xaaaaaaaa);\n
34# output: report(0x00000000);\n
35# output: report(0x00000000);\n
36# output: report(0x00000000);\n
37# output: report(0x00000000);\n
38# output: report(0x00000000);\n
39# output: \n
40# output: report(0xaaaaaaaa);\n
41# output: report(0xaaaaaaaa);\n
42# output: report(0xaaaaaaaa);\n
43# output: report(0x00000000);\n
44# output: report(0x00000000);\n
45# output: report(0x00000000);\n
46# output: \n
47# output: report(0x55555555);\n
48# output: report(0x00000000);\n
49# output: report(0x00000000);\n
50# output: report(0x00000000);\n
51# output: report(0x00000000);\n
52# output: report(0x00000000);\n
53# output: \n
54# output: report(0x55555555);\n
55# output: report(0x55555555);\n
56# output: report(0x55555555);\n
57# output: report(0x00000000);\n
58# output: report(0x00000000);\n
59# output: report(0x00000000);\n
60# output: \n
61# output: report(0xaaaaaaaa);\n
62# output: report(0x55555555);\n
63# output: report(0x00000000);\n
64# output: report(0x00000000);\n
65# output: report(0x00000000);\n
66# output: report(0x00000000);\n
67# output: \n
68# output: report(0x4c70f07c);\n
69# output: report(0xb38f0f83);\n
70# output: report(0x00000000);\n
71# output: report(0x00000000);\n
72# output: report(0x00000000);\n
73# output: report(0x00000000);\n
74# output: \n
75# output: report(0x4c70f07c);\n
76# output: report(0xc4c70f07);\n
77# output: report(0x44400004);\n
78# output: report(0x00000000);\n
79# output: report(0x00000000);\n
80# output: report(0x00000000);\n
81# output: \n
82# output: report(0xb38f0f83);\n
83# output: report(0x38f0f83b);\n
84# output: report(0x30800803);\n
85# output: report(0x00000000);\n
86# output: report(0x00000000);\n
87# output: report(0x00000000);\n
88# output: \n
89# output: report(0x00000000);\n
90# output: report(0x00000000);\n
91# output: report(0x00000000);\n
92# output: report(0x00000000);\n
93# output: report(0x00000000);\n
94# output: report(0x00000000);\n
95# output: \n
96# output: report(0xffffffff);\n
97# output: report(0x0000ffff);\n
98# output: report(0x0000ffff);\n
99# output: report(0x00000000);\n
100# output: report(0x00000000);\n
101# output: report(0x00000000);\n
102# output: \n
103# output: report(0xaaaaaaaa);\n
104# output: report(0x00000000);\n
105# output: report(0x00000000);\n
106# output: report(0x00000000);\n
107# output: report(0x00000000);\n
108# output: report(0x00000000);\n
109# output: \n
110# output: report(0xaaaaaaaa);\n
111# output: report(0x0000aaaa);\n
112# output: report(0x0000aaaa);\n
113# output: report(0x00000000);\n
114# output: report(0x00000000);\n
115# output: report(0x00000000);\n
116# output: \n
117# output: report(0x55555555);\n
118# output: report(0x00000000);\n
119# output: report(0x00000000);\n
120# output: report(0x00000000);\n
121# output: report(0x00000000);\n
122# output: report(0x00000000);\n
123# output: \n
124# output: report(0x55555555);\n
125# output: report(0x00005555);\n
126# output: report(0x00005555);\n
127# output: report(0x00000000);\n
128# output: report(0x00000000);\n
129# output: report(0x00000000);\n
130# output: \n
131# output: report(0xaaaaaaaa);\n
132# output: report(0x00005555);\n
133# output: report(0x00000000);\n
134# output: report(0x00000000);\n
135# output: report(0x00000000);\n
136# output: report(0x00000000);\n
137# output: \n
138# output: report(0x4c70f07c);\n
139# output: report(0x00000f83);\n
140# output: report(0x00000000);\n
141# output: report(0x00000000);\n
142# output: report(0x00000000);\n
143# output: report(0x00000000);\n
144# output: \n
145# output: report(0x4c70f07c);\n
146# output: report(0x00000f07);\n
147# output: report(0x00000004);\n
148# output: report(0x00000000);\n
149# output: report(0x00000000);\n
150# output: report(0x00000000);\n
151# output: \n
152# output: report(0xb38f0f83);\n
153# output: report(0x0000f83b);\n
154# output: report(0x00000803);\n
155# output: report(0x00000000);\n
156# output: report(0x00000000);\n
157# output: report(0x00000000);\n
158# output: \n
159# output: exit(0)\n
160
161#include "or1k-asm-test-helpers.h"
162
163 STANDARD_TEST_ENVIRONMENT
164
165 .section .text
166start_tests:
167 PUSH LINK_REGISTER_R9
168
169 /* Always set OVE. We should never trigger an exception, even if
170 this bit is set. */
171 SET_SPR_SR_FLAGS SPR_SR_OVE, r2, r3
172
173 /* Test the l.and instruction with a range of operands. */
174 TEST_INST_I32_I32 l.and, 0x00000000, 0x00000000
175 TEST_INST_I32_I32 l.and, 0xffffffff, 0xffffffff
176 TEST_INST_I32_I32 l.and, 0xaaaaaaaa, 0x00000000
177 TEST_INST_I32_I32 l.and, 0xaaaaaaaa, 0xaaaaaaaa
178 TEST_INST_I32_I32 l.and, 0x55555555, 0x00000000
179 TEST_INST_I32_I32 l.and, 0x55555555, 0x55555555
180 TEST_INST_I32_I32 l.and, 0xaaaaaaaa, 0x55555555
181 TEST_INST_I32_I32 l.and, 0x4c70f07c, 0xb38f0f83
182 TEST_INST_I32_I32 l.and, 0x4c70f07c, 0xc4c70f07
183 TEST_INST_I32_I32 l.and, 0xb38f0f83, 0x38f0f83b
184
185 /* Test the l.andi instruction with a range of operands. */
186 TEST_INST_I32_I16 l.andi, 0x00000000, 0x0000
187 TEST_INST_I32_I16 l.andi, 0xffffffff, 0xffff
188 TEST_INST_I32_I16 l.andi, 0xaaaaaaaa, 0x0000
189 TEST_INST_I32_I16 l.andi, 0xaaaaaaaa, 0xaaaa
190 TEST_INST_I32_I16 l.andi, 0x55555555, 0x0000
191 TEST_INST_I32_I16 l.andi, 0x55555555, 0x5555
192 TEST_INST_I32_I16 l.andi, 0xaaaaaaaa, 0x5555
193 TEST_INST_I32_I16 l.andi, 0x4c70f07c, 0x0f83
194 TEST_INST_I32_I16 l.andi, 0x4c70f07c, 0x0f07
195 TEST_INST_I32_I16 l.andi, 0xb38f0f83, 0xf83b
196
197 POP LINK_REGISTER_R9
198 RETURN_TO_LINK_REGISTER_R9
This page took 0.11866 seconds and 4 git commands to generate.