authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-11-05 11:26:56-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-11-05 11:32:02-05:00
logc19bc7ecb40d90e413f82879457c25e1a61c4df2
treeedb439ddbb9acf36ac550747d9677451d9785d74
parent5b96cc236c4139c0b8db383ff440366f5276aec8

update self-hosted compiler for new targets


1 files changed, 33 insertions(+), 8 deletions(-)

src-self-hosted/target.zig+33-8
......@@ -93,6 +93,8 @@ pub const Target = union(enum).{
9393 /// TODO expose the arch and subarch separately
9494 pub fn isArmOrThumb(self: Target) bool {
9595 return switch (self.getArch()) {
96 builtin.Arch.armv8_5a,
97 builtin.Arch.armv8_4a,
9698 builtin.Arch.armv8_3a,
9799 builtin.Arch.armv8_2a,
98100 builtin.Arch.armv8_1a,
......@@ -113,6 +115,8 @@ pub const Target = union(enum).{
113115 builtin.Arch.armv5,
114116 builtin.Arch.armv5te,
115117 builtin.Arch.armv4t,
118 builtin.Arch.armebv8_5a,
119 builtin.Arch.armebv8_4a,
116120 builtin.Arch.armebv8_3a,
117121 builtin.Arch.armebv8_2a,
118122 builtin.Arch.armebv8_1a,
......@@ -181,6 +185,8 @@ pub const Target = union(enum).{
181185 => return 16,
182186
183187 builtin.Arch.arc,
188 builtin.Arch.armv8_5a,
189 builtin.Arch.armv8_4a,
184190 builtin.Arch.armv8_3a,
185191 builtin.Arch.armv8_2a,
186192 builtin.Arch.armv8_1a,
......@@ -201,6 +207,8 @@ pub const Target = union(enum).{
201207 builtin.Arch.armv5,
202208 builtin.Arch.armv5te,
203209 builtin.Arch.armv4t,
210 builtin.Arch.armebv8_5a,
211 builtin.Arch.armebv8_4a,
204212 builtin.Arch.armebv8_3a,
205213 builtin.Arch.armebv8_2a,
206214 builtin.Arch.armebv8_1a,
......@@ -223,8 +231,8 @@ pub const Target = union(enum).{
223231 builtin.Arch.armebv4t,
224232 builtin.Arch.hexagon,
225233 builtin.Arch.le32,
226 builtin.Arch.mips,
227 builtin.Arch.mipsel,
234 builtin.Arch.mipsr6,
235 builtin.Arch.mipselr6,
228236 builtin.Arch.nios2,
229237 builtin.Arch.powerpc,
230238 builtin.Arch.r600,
......@@ -250,6 +258,8 @@ pub const Target = union(enum).{
250258 builtin.Arch.renderscript32,
251259 => return 32,
252260
261 builtin.Arch.aarch64v8_5a,
262 builtin.Arch.aarch64v8_4a,
253263 builtin.Arch.aarch64v8_3a,
254264 builtin.Arch.aarch64v8_2a,
255265 builtin.Arch.aarch64v8_1a,
......@@ -257,6 +267,8 @@ pub const Target = union(enum).{
257267 builtin.Arch.aarch64v8r,
258268 builtin.Arch.aarch64v8m_baseline,
259269 builtin.Arch.aarch64v8m_mainline,
270 builtin.Arch.aarch64_bev8_5a,
271 builtin.Arch.aarch64_bev8_4a,
260272 builtin.Arch.aarch64_bev8_3a,
261273 builtin.Arch.aarch64_bev8_2a,
262274 builtin.Arch.aarch64_bev8_1a,
......@@ -264,8 +276,8 @@ pub const Target = union(enum).{
264276 builtin.Arch.aarch64_bev8r,
265277 builtin.Arch.aarch64_bev8m_baseline,
266278 builtin.Arch.aarch64_bev8m_mainline,
267 builtin.Arch.mips64,
268 builtin.Arch.mips64el,
279 builtin.Arch.mips64r6,
280 builtin.Arch.mips64elr6,
269281 builtin.Arch.powerpc64,
270282 builtin.Arch.powerpc64le,
271283 builtin.Arch.riscv64,
......@@ -328,6 +340,8 @@ pub const Target = union(enum).{
328340 builtin.Arch.sparcel,
329341 => return "/lib/ld-linux.so.2",
330342
343 builtin.Arch.aarch64v8_5a,
344 builtin.Arch.aarch64v8_4a,
331345 builtin.Arch.aarch64v8_3a,
332346 builtin.Arch.aarch64v8_2a,
333347 builtin.Arch.aarch64v8_1a,
......@@ -337,6 +351,8 @@ pub const Target = union(enum).{
337351 builtin.Arch.aarch64v8m_mainline,
338352 => return "/lib/ld-linux-aarch64.so.1",
339353
354 builtin.Arch.aarch64_bev8_5a,
355 builtin.Arch.aarch64_bev8_4a,
340356 builtin.Arch.aarch64_bev8_3a,
341357 builtin.Arch.aarch64_bev8_2a,
342358 builtin.Arch.aarch64_bev8_1a,
......@@ -346,6 +362,8 @@ pub const Target = union(enum).{
346362 builtin.Arch.aarch64_bev8m_mainline,
347363 => return "/lib/ld-linux-aarch64_be.so.1",
348364
365 builtin.Arch.armv8_5a,
366 builtin.Arch.armv8_4a,
349367 builtin.Arch.armv8_3a,
350368 builtin.Arch.armv8_2a,
351369 builtin.Arch.armv8_1a,
......@@ -372,6 +390,8 @@ pub const Target = union(enum).{
372390 else => return "/lib/ld-linux.so.3",
373391 },
374392
393 builtin.Arch.armebv8_5a,
394 builtin.Arch.armebv8_4a,
375395 builtin.Arch.armebv8_3a,
376396 builtin.Arch.armebv8_2a,
377397 builtin.Arch.armebv8_1a,
......@@ -398,10 +418,10 @@ pub const Target = union(enum).{
398418 else => return "/lib/ld-linux.so.3",
399419 },
400420
401 builtin.Arch.mips,
402 builtin.Arch.mipsel,
403 builtin.Arch.mips64,
404 builtin.Arch.mips64el,
421 builtin.Arch.mipsr6,
422 builtin.Arch.mipselr6,
423 builtin.Arch.mips64r6,
424 builtin.Arch.mips64elr6,
405425 => return null,
406426
407427 builtin.Arch.powerpc => return "/lib/ld.so.1",
......@@ -550,6 +570,7 @@ pub const Target = union(enum).{
550570 builtin.Os.mesa3d,
551571 builtin.Os.contiki,
552572 builtin.Os.amdpal,
573 builtin.Os.hermit,
553574 => @panic("TODO specify the C integer type sizes for this OS"),
554575 }
555576 }
......@@ -557,6 +578,8 @@ pub const Target = union(enum).{
557578 pub fn getDarwinArchString(self: Target) []const u8 {
558579 const arch = self.getArch();
559580 switch (arch) {
581 builtin.Arch.aarch64v8_5a,
582 builtin.Arch.aarch64v8_4a,
560583 builtin.Arch.aarch64v8_3a,
561584 builtin.Arch.aarch64v8_2a,
562585 builtin.Arch.aarch64v8_1a,
......@@ -566,6 +589,8 @@ pub const Target = union(enum).{
566589 builtin.Arch.aarch64v8m_mainline,
567590 => return "arm64",
568591 builtin.Arch.thumb,
592 builtin.Arch.armv8_5a,
593 builtin.Arch.armv8_4a,
569594 builtin.Arch.armv8_3a,
570595 builtin.Arch.armv8_2a,
571596 builtin.Arch.armv8_1a,