[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / ARM / arm-elf-symver.s
blob206a039df41c8088c7031da662cc4a9df39fdc61
1 @ RUN: llvm-mc -filetype=obj -triple arm-none-linux-gnueabi %s -o - | llvm-readobj -r --symbols - | FileCheck %s
2 @ RUN: llvm-mc -filetype=obj -triple thumb-none-linux-gnueabi %s -o - | llvm-readobj -r --symbols - | FileCheck %s
4 defined1:
5 defined2:
6 defined3:
7 .symver defined1, bar1@zed
8 .symver undefined1, bar2@zed
10 .symver defined2, bar3@@zed
12 .symver defined3, bar5@@@zed
13 .symver undefined3, bar6@@@zed
15 .long defined1
16 .long undefined1
17 .long defined2
18 .long defined3
19 .long undefined3
21 .global global1
22 .symver global1, g1@@zed
23 global1:
25 @ CHECK: Relocations [
26 @ CHECK-NEXT: Section {{.*}} .rel.text {
27 @ CHECK-NEXT: 0x0 R_ARM_ABS32 .text
28 @ CHECK-NEXT: 0x4 R_ARM_ABS32 bar2@zed
29 @ CHECK-NEXT: 0x8 R_ARM_ABS32 .text
30 @ CHECK-NEXT: 0xC R_ARM_ABS32 .text
31 @ CHECK-NEXT: 0x10 R_ARM_ABS32 bar6@zed
32 @ CHECK-NEXT: }
33 @ CHECK-NEXT: ]
35 @ CHECK: Symbol {
36 @ CHECK: Symbol {
37 @ CHECK-NEXT: Name: .text (0)
38 @ CHECK-NEXT: Value: 0x0
39 @ CHECK-NEXT: Size: 0
40 @ CHECK-NEXT: Binding: Local (0x0)
41 @ CHECK-NEXT: Type: Section (0x3)
42 @ CHECK-NEXT: Other: 0
43 @ CHECK-NEXT: Section: .text
44 @ CHECK-NEXT: }
45 @ CHECK-NEXT: Symbol {
46 @ CHECK-NEXT: Name: defined1
47 @ CHECK-NEXT: Value: 0x0
48 @ CHECK-NEXT: Size: 0
49 @ CHECK-NEXT: Binding: Local (0x0)
50 @ CHECK-NEXT: Type: None (0x0)
51 @ CHECK-NEXT: Other: 0
52 @ CHECK-NEXT: Section: .text
53 @ CHECK-NEXT: }
54 @ CHECK-NEXT: Symbol {
55 @ CHECK-NEXT: Name: defined2
56 @ CHECK-NEXT: Value: 0x0
57 @ CHECK-NEXT: Size: 0
58 @ CHECK-NEXT: Binding: Local (0x0)
59 @ CHECK-NEXT: Type: None (0x0)
60 @ CHECK-NEXT: Other: 0
61 @ CHECK-NEXT: Section: .text
62 @ CHECK-NEXT: }
63 @ CHECK: Symbol {
64 @ CHECK: Name: bar1@zed
65 @ CHECK-NEXT: Value: 0x0
66 @ CHECK-NEXT: Size: 0
67 @ CHECK-NEXT: Binding: Local (0x0)
68 @ CHECK-NEXT: Type: None (0x0)
69 @ CHECK-NEXT: Other: 0
70 @ CHECK-NEXT: Section: .text
71 @ CHECK-NEXT: }
72 @ CHECK-NEXT: Symbol {
73 @ CHECK-NEXT: Name: bar3@@zed
74 @ CHECK-NEXT: Value: 0x0
75 @ CHECK-NEXT: Size: 0
76 @ CHECK-NEXT: Binding: Local (0x0)
77 @ CHECK-NEXT: Type: None (0x0)
78 @ CHECK-NEXT: Other: 0
79 @ CHECK-NEXT: Section: .text
80 @ CHECK-NEXT: }
81 @ CHECK-NEXT: Symbol {
82 @ CHECK-NEXT: Name: bar5@@zed
83 @ CHECK-NEXT: Value: 0x0
84 @ CHECK-NEXT: Size: 0
85 @ CHECK-NEXT: Binding: Local (0x0)
86 @ CHECK-NEXT: Type: None (0x0)
87 @ CHECK-NEXT: Other: 0
88 @ CHECK-NEXT: Section: .text
89 @ CHECK-NEXT: }
90 @ CHECK-NEXT: Symbol {
91 @ CHECK-NEXT: Name: global1
92 @ CHECK-NEXT: Value: 0x14
93 @ CHECK-NEXT: Size: 0
94 @ CHECK-NEXT: Binding: Global (0x1)
95 @ CHECK-NEXT: Type: None (0x0)
96 @ CHECK-NEXT: Other: 0
97 @ CHECK-NEXT: Section: .text
98 @ CHECK-NEXT: }
99 @ CHECK-NEXT: Symbol {
100 @ CHECK-NEXT: Name: bar2@zed
101 @ CHECK-NEXT: Value: 0x0
102 @ CHECK-NEXT: Size: 0
103 @ CHECK-NEXT: Binding: Global (0x1)
104 @ CHECK-NEXT: Type: None (0x0)
105 @ CHECK-NEXT: Other: 0
106 @ CHECK-NEXT: Section: Undefined (0x0)
107 @ CHECK-NEXT: }
108 @ CHECK-NEXT: Symbol {
109 @ CHECK-NEXT: Name: bar6@zed
110 @ CHECK-NEXT: Value: 0x0
111 @ CHECK-NEXT: Size: 0
112 @ CHECK-NEXT: Binding: Global (0x1)
113 @ CHECK-NEXT: Type: None (0x0)
114 @ CHECK-NEXT: Other: 0
115 @ CHECK-NEXT: Section: Undefined (0x0)
116 @ CHECK-NEXT: }
117 @ CHECK-NEXT: Symbol {
118 @ CHECK-NEXT: Name: g1@@zed
119 @ CHECK-NEXT: Value: 0x14
120 @ CHECK-NEXT: Size: 0
121 @ CHECK-NEXT: Binding: Global (0x1)
122 @ CHECK-NEXT: Type: None (0x0)
123 @ CHECK-NEXT: Other: 0
124 @ CHECK-NEXT: Section: .text
125 @ CHECK-NEXT: }
126 @ CHECK-NEXT: ]