File: req.s

package info (click to toggle)
binutils 2.31.1-11
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 307,644 kB
  • sloc: ansic: 1,161,122; asm: 638,494; cpp: 128,815; exp: 68,557; makefile: 55,816; sh: 22,360; yacc: 14,238; lisp: 13,272; perl: 2,111; ada: 1,681; lex: 1,652; pascal: 1,446; cs: 879; sed: 195; python: 154; xml: 95; awk: 25
file content (41 lines) | stat: -rw-r--r-- 1,028 bytes parent folder | download | duplicates (23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
	.text
	.global test_dot_req_and_unreq
test_dot_req_and_unreq:

	# Check that builtin register alias 'r0' works.
	add r0, r0, r0

	# Create an alias for r0.
	foo .req r0

	# Check that it works.
	add foo, foo, foo

	# Now remove the alias.
        .unreq foo

	# And make sure that it no longer works.
	add foo, foo, foo

	# Attempt to remove the builtin alias for r0.
        .unreq r0
	
	# That is ignored, so this should still work.
	add r0, r0, r0

	# Now attempt to re-alias foo.  There used to be a bug whereby the
	# first creation of an alias called foo would also create an alias
	# called FOO, but the .unreq of foo would not delete FOO.  Thus a
	# second attempt at aliasing foo (to something different than
	# before) would fail because the assembler would complain that FOO
	# already existed.
	foo .req r1

	add foo, foo, foo

	# Check that the upper case alias was also recreated.
	add FOO, FOO, FOO

	# Check that a second attempt to alias foo, using a mixed case
	# version of the name, will fail.
	Foo .req r2