Clang Project

clang_source_code/test/Driver/aarch64-fixed-x-register.c
1// RUN: %clang -target aarch64-none-gnu -ffixed-x1 -### %s 2> %t
2// RUN: FileCheck --check-prefix=CHECK-FIXED-X1 < %t %s
3// CHECK-FIXED-X1: "-target-feature" "+reserve-x1"
4
5// RUN: %clang -target aarch64-none-gnu -ffixed-x2 -### %s 2> %t
6// RUN: FileCheck --check-prefix=CHECK-FIXED-X2 < %t %s
7// CHECK-FIXED-X2: "-target-feature" "+reserve-x2"
8
9// RUN: %clang -target aarch64-none-gnu -ffixed-x3 -### %s 2> %t
10// RUN: FileCheck --check-prefix=CHECK-FIXED-X3 < %t %s
11// CHECK-FIXED-X3: "-target-feature" "+reserve-x3"
12
13// RUN: %clang -target aarch64-none-gnu -ffixed-x4 -### %s 2> %t
14// RUN: FileCheck --check-prefix=CHECK-FIXED-X4 < %t %s
15// CHECK-FIXED-X4: "-target-feature" "+reserve-x4"
16
17// RUN: %clang -target aarch64-none-gnu -ffixed-x5 -### %s 2> %t
18// RUN: FileCheck --check-prefix=CHECK-FIXED-X5 < %t %s
19// CHECK-FIXED-X5: "-target-feature" "+reserve-x5"
20
21// RUN: %clang -target aarch64-none-gnu -ffixed-x6 -### %s 2> %t
22// RUN: FileCheck --check-prefix=CHECK-FIXED-X6 < %t %s
23// CHECK-FIXED-X6: "-target-feature" "+reserve-x6"
24
25// RUN: %clang -target aarch64-none-gnu -ffixed-x7 -### %s 2> %t
26// RUN: FileCheck --check-prefix=CHECK-FIXED-X7 < %t %s
27// CHECK-FIXED-X7: "-target-feature" "+reserve-x7"
28
29// RUN: %clang -target aarch64-none-gnu -ffixed-x9 -### %s 2> %t
30// RUN: FileCheck --check-prefix=CHECK-FIXED-X9 < %t %s
31// CHECK-FIXED-X9: "-target-feature" "+reserve-x9"
32
33// RUN: %clang -target aarch64-none-gnu -ffixed-x10 -### %s 2> %t
34// RUN: FileCheck --check-prefix=CHECK-FIXED-X10 < %t %s
35// CHECK-FIXED-X10: "-target-feature" "+reserve-x10"
36
37// RUN: %clang -target aarch64-none-gnu -ffixed-x11 -### %s 2> %t
38// RUN: FileCheck --check-prefix=CHECK-FIXED-X11 < %t %s
39// CHECK-FIXED-X11: "-target-feature" "+reserve-x11"
40
41// RUN: %clang -target aarch64-none-gnu -ffixed-x12 -### %s 2> %t
42// RUN: FileCheck --check-prefix=CHECK-FIXED-X12 < %t %s
43// CHECK-FIXED-X12: "-target-feature" "+reserve-x12"
44
45// RUN: %clang -target aarch64-none-gnu -ffixed-x13 -### %s 2> %t
46// RUN: FileCheck --check-prefix=CHECK-FIXED-X13 < %t %s
47// CHECK-FIXED-X13: "-target-feature" "+reserve-x13"
48
49// RUN: %clang -target aarch64-none-gnu -ffixed-x14 -### %s 2> %t
50// RUN: FileCheck --check-prefix=CHECK-FIXED-X14 < %t %s
51// CHECK-FIXED-X14: "-target-feature" "+reserve-x14"
52
53// RUN: %clang -target aarch64-none-gnu -ffixed-x15 -### %s 2> %t
54// RUN: FileCheck --check-prefix=CHECK-FIXED-X15 < %t %s
55// CHECK-FIXED-X15: "-target-feature" "+reserve-x15"
56
57// RUN: %clang -target aarch64-none-gnu -ffixed-x18 -### %s 2> %t
58// RUN: FileCheck --check-prefix=CHECK-FIXED-X18 < %t %s
59// CHECK-FIXED-X18: "-target-feature" "+reserve-x18"
60
61// RUN: %clang -target aarch64-none-gnu -ffixed-x20 -### %s 2> %t
62// RUN: FileCheck --check-prefix=CHECK-FIXED-X20 < %t %s
63// CHECK-FIXED-X20: "-target-feature" "+reserve-x20"
64
65// RUN: %clang -target aarch64-none-gnu -ffixed-x21 -### %s 2> %t
66// RUN: FileCheck --check-prefix=CHECK-FIXED-X21 < %t %s
67// CHECK-FIXED-X21: "-target-feature" "+reserve-x21"
68
69// RUN: %clang -target aarch64-none-gnu -ffixed-x22 -### %s 2> %t
70// RUN: FileCheck --check-prefix=CHECK-FIXED-X22 < %t %s
71// CHECK-FIXED-X22: "-target-feature" "+reserve-x22"
72
73// RUN: %clang -target aarch64-none-gnu -ffixed-x23 -### %s 2> %t
74// RUN: FileCheck --check-prefix=CHECK-FIXED-X23 < %t %s
75// CHECK-FIXED-X23: "-target-feature" "+reserve-x23"
76
77// RUN: %clang -target aarch64-none-gnu -ffixed-x24 -### %s 2> %t
78// RUN: FileCheck --check-prefix=CHECK-FIXED-X24 < %t %s
79// CHECK-FIXED-X24: "-target-feature" "+reserve-x24"
80
81// RUN: %clang -target aarch64-none-gnu -ffixed-x25 -### %s 2> %t
82// RUN: FileCheck --check-prefix=CHECK-FIXED-X25 < %t %s
83// CHECK-FIXED-X25: "-target-feature" "+reserve-x25"
84
85// RUN: %clang -target aarch64-none-gnu -ffixed-x26 -### %s 2> %t
86// RUN: FileCheck --check-prefix=CHECK-FIXED-X26 < %t %s
87// CHECK-FIXED-X26: "-target-feature" "+reserve-x26"
88
89// RUN: %clang -target aarch64-none-gnu -ffixed-x27 -### %s 2> %t
90// RUN: FileCheck --check-prefix=CHECK-FIXED-X27 < %t %s
91// CHECK-FIXED-X27: "-target-feature" "+reserve-x27"
92
93// RUN: %clang -target aarch64-none-gnu -ffixed-x28 -### %s 2> %t
94// RUN: FileCheck --check-prefix=CHECK-FIXED-X28 < %t %s
95// CHECK-FIXED-X28: "-target-feature" "+reserve-x28"
96
97// Test multiple of reserve-x# options together.
98// RUN: %clang -target aarch64-none-gnu \
99// RUN: -ffixed-x1 \
100// RUN: -ffixed-x2 \
101// RUN: -ffixed-x18 \
102// RUN: -### %s 2> %t
103// RUN: FileCheck \
104// RUN: --check-prefix=CHECK-FIXED-X1 \
105// RUN: --check-prefix=CHECK-FIXED-X2 \
106// RUN: --check-prefix=CHECK-FIXED-X18 \
107// RUN: < %t %s
108
109// Test all reserve-x# options together.
110// RUN: %clang -target aarch64-none-gnu \
111// RUN: -ffixed-x1 \
112// RUN: -ffixed-x2 \
113// RUN: -ffixed-x3 \
114// RUN: -ffixed-x4 \
115// RUN: -ffixed-x5 \
116// RUN: -ffixed-x6 \
117// RUN: -ffixed-x7 \
118// RUN: -ffixed-x9 \
119// RUN: -ffixed-x10 \
120// RUN: -ffixed-x11 \
121// RUN: -ffixed-x12 \
122// RUN: -ffixed-x13 \
123// RUN: -ffixed-x14 \
124// RUN: -ffixed-x15 \
125// RUN: -ffixed-x18 \
126// RUN: -ffixed-x20 \
127// RUN: -ffixed-x21 \
128// RUN: -ffixed-x22 \
129// RUN: -ffixed-x23 \
130// RUN: -ffixed-x24 \
131// RUN: -ffixed-x25 \
132// RUN: -ffixed-x26 \
133// RUN: -ffixed-x27 \
134// RUN: -ffixed-x28 \
135// RUN: -### %s 2> %t
136// RUN: FileCheck \
137// RUN: --check-prefix=CHECK-FIXED-X1 \
138// RUN: --check-prefix=CHECK-FIXED-X2 \
139// RUN: --check-prefix=CHECK-FIXED-X3 \
140// RUN: --check-prefix=CHECK-FIXED-X4 \
141// RUN: --check-prefix=CHECK-FIXED-X5 \
142// RUN: --check-prefix=CHECK-FIXED-X6 \
143// RUN: --check-prefix=CHECK-FIXED-X7 \
144// RUN: --check-prefix=CHECK-FIXED-X9 \
145// RUN: --check-prefix=CHECK-FIXED-X10 \
146// RUN: --check-prefix=CHECK-FIXED-X11 \
147// RUN: --check-prefix=CHECK-FIXED-X12 \
148// RUN: --check-prefix=CHECK-FIXED-X13 \
149// RUN: --check-prefix=CHECK-FIXED-X14 \
150// RUN: --check-prefix=CHECK-FIXED-X15 \
151// RUN: --check-prefix=CHECK-FIXED-X18 \
152// RUN: --check-prefix=CHECK-FIXED-X20 \
153// RUN: --check-prefix=CHECK-FIXED-X21 \
154// RUN: --check-prefix=CHECK-FIXED-X22 \
155// RUN: --check-prefix=CHECK-FIXED-X23 \
156// RUN: --check-prefix=CHECK-FIXED-X24 \
157// RUN: --check-prefix=CHECK-FIXED-X25 \
158// RUN: --check-prefix=CHECK-FIXED-X26 \
159// RUN: --check-prefix=CHECK-FIXED-X27 \
160// RUN: --check-prefix=CHECK-FIXED-X28 \
161// RUN: < %t %s
162