xref: /llvm-project/llvm/test/tools/llvm-ml/variable_redef.asm (revision 00ebbedd1c92f7461f81e79bd1474e894fd25378)
1*00ebbeddSEric Astor; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s
2*00ebbeddSEric Astor
3*00ebbeddSEric Astor.data
4*00ebbeddSEric Astor
5*00ebbeddSEric Astor; <var> = <expression> can be redefined at any time.
6*00ebbeddSEric Astorassigned_number = 1
7*00ebbeddSEric Astort1_original BYTE assigned_number
8*00ebbeddSEric Astorassigned_number = 1
9*00ebbeddSEric Astort1_reset BYTE assigned_number
10*00ebbeddSEric Astorassigned_number = 2
11*00ebbeddSEric Astort1_changed BYTE assigned_number
12*00ebbeddSEric Astor
13*00ebbeddSEric Astor; CHECK-LABEL: t1_original:
14*00ebbeddSEric Astor; CHECK-NEXT: .byte 1
15*00ebbeddSEric Astor
16*00ebbeddSEric Astor; CHECK-LABEL: t1_reset:
17*00ebbeddSEric Astor; CHECK-NEXT: .byte 1
18*00ebbeddSEric Astor
19*00ebbeddSEric Astor; CHECK-LABEL: t1_changed:
20*00ebbeddSEric Astor; CHECK-NEXT: .byte 2
21*00ebbeddSEric Astor
22*00ebbeddSEric Astor; <var> EQU <expression> can be redundantly set, but can't be changed.
23*00ebbeddSEric Astorequated_number equ 3
24*00ebbeddSEric Astort2_original BYTE equated_number
25*00ebbeddSEric Astorequated_number equ 3
26*00ebbeddSEric Astort2_reset BYTE equated_number
27*00ebbeddSEric Astor
28*00ebbeddSEric Astor; CHECK-LABEL: t2_original:
29*00ebbeddSEric Astor; CHECK-NEXT: .byte 3
30*00ebbeddSEric Astor
31*00ebbeddSEric Astor; CHECK-LABEL: t2_reset:
32*00ebbeddSEric Astor; CHECK-NEXT: .byte 3
33*00ebbeddSEric Astor
34*00ebbeddSEric Astor; <var> EQU <text> can be redefined at any time.
35*00ebbeddSEric Astorequated_text equ <4, 5>
36*00ebbeddSEric Astort3_original BYTE equated_text
37*00ebbeddSEric Astorequated_text equ <4, 5>
38*00ebbeddSEric Astort3_reset BYTE equated_text
39*00ebbeddSEric Astorequated_text equ <5, 6>
40*00ebbeddSEric Astort3_changed BYTE equated_text
41*00ebbeddSEric Astor
42*00ebbeddSEric Astor; CHECK-LABEL: t3_original:
43*00ebbeddSEric Astor; CHECK-NEXT: .byte 4
44*00ebbeddSEric Astor; CHECK-NEXT: .byte 5
45*00ebbeddSEric Astor
46*00ebbeddSEric Astor; CHECK-LABEL: t3_reset:
47*00ebbeddSEric Astor; CHECK-NEXT: .byte 4
48*00ebbeddSEric Astor; CHECK-NEXT: .byte 5
49*00ebbeddSEric Astor
50*00ebbeddSEric Astor; CHECK-LABEL: t3_changed:
51*00ebbeddSEric Astor; CHECK-NEXT: .byte 5
52*00ebbeddSEric Astor; CHECK-NEXT: .byte 6
53*00ebbeddSEric Astor
54*00ebbeddSEric Astor; <var> TEXTEQU <text> can be redefined at any time.
55*00ebbeddSEric Astortextequated_text textequ <7, 8>
56*00ebbeddSEric Astort4_original BYTE textequated_text
57*00ebbeddSEric Astortextequated_text textequ <7, 8>
58*00ebbeddSEric Astort4_reset BYTE textequated_text
59*00ebbeddSEric Astortextequated_text textequ <9, 10>
60*00ebbeddSEric Astort4_changed BYTE textequated_text
61*00ebbeddSEric Astor
62*00ebbeddSEric Astor; CHECK-LABEL: t4_original:
63*00ebbeddSEric Astor; CHECK-NEXT: .byte 7
64*00ebbeddSEric Astor; CHECK-NEXT: .byte 8
65*00ebbeddSEric Astor
66*00ebbeddSEric Astor; CHECK-LABEL: t4_reset:
67*00ebbeddSEric Astor; CHECK-NEXT: .byte 7
68*00ebbeddSEric Astor; CHECK-NEXT: .byte 8
69*00ebbeddSEric Astor
70*00ebbeddSEric Astor; CHECK-LABEL: t4_changed:
71*00ebbeddSEric Astor; CHECK-NEXT: .byte 9
72*00ebbeddSEric Astor; CHECK-NEXT: .byte 10
73*00ebbeddSEric Astor
74*00ebbeddSEric Astor.code
75*00ebbeddSEric Astor
76*00ebbeddSEric Astorend
77