Commit Graph

25 Commits

Author SHA1 Message Date
Andrew Kelley fbfda7f00e fix incorrect list of sub-arches for aarch64
tests use older sub-arch that works in the older qemu
2020-01-23 13:02:45 -05:00
Andrew Kelley ead7d15772 use an older arm64 sub-arch for test suite
hopefully this avoids the older qemu version crashing
2020-01-23 00:41:46 -05:00
Andrew Kelley 9845264a0b aarch64: less feature-full baseline CPU 2020-01-22 18:40:34 -05:00
Andrew Kelley 48c7e6c48b std.Target.CpuFeatures is now a struct with both CPU and feature set
Previously it was a tagged union which was one of:
 * baseline
 * a specific CPU
 * a set of features

Now, it's possible to have a CPU but also modify the CPU's feature set
on top of that. This is closer to what LLVM does.

This is more correct because Zig's notion of CPUs (and LLVM's) is not
exact CPU models. For example "skylake" is not one very specific model;
there are several different pieces of hardware that match "skylake" that
have different feature sets enabled.
2020-01-22 17:13:31 -05:00
Andrew Kelley 68b6867e76 lazily compute the full cpu features dependencies 2020-01-21 20:11:36 -05:00
Andrew Kelley 92559cd02c hit a comptime limitation with computing dense sets 2020-01-21 19:40:44 -05:00
Andrew Kelley 6793af8d8b these are not real cpu features 2020-01-21 12:14:36 -05:00
Andrew Kelley e640d01535 fixups to arch data, support any number of cpu features 2020-01-21 00:34:54 -05:00
Andrew Kelley 6118b11afa Revert "aarch64: remove CPU features that are actually just CPUs"
This reverts commit 6dd514ac8a.

This strategy won't work for arm 32-bit; instead need to try to figure
out how to get more bits into the bit set.
2020-01-20 23:15:07 -05:00
Andrew Kelley 89e107ee4e uncomment all the archs in target.zig 2020-01-20 23:14:35 -05:00
Andrew Kelley 6dd514ac8a aarch64: remove CPU features that are actually just CPUs 2020-01-20 22:49:26 -05:00
Andrew Kelley 6e88883edf import data from llvm 9 2020-01-20 22:21:45 -05:00
Andrew Kelley 8f29d14073 stage1 is building. zig targets now self-hosted 2020-01-20 01:42:31 -05:00
Andrew Kelley e3b5e91878 do the x86 arch 2020-01-19 20:54:05 -05:00
Andrew Kelley a867b43366 progress towards merging
see BRANCH_TODO file
2020-01-19 20:54:04 -05:00
Layne Gustafson de8a5cf5f5 Remove features/cpus not in LLVM v9 2020-01-19 20:53:20 -05:00
Layne Gustafson 03dd376b55 Add builtin.zig support 2020-01-19 20:53:19 -05:00
Layne Gustafson 79a2747de4 Add llvm_name to feature defs 2020-01-19 20:53:19 -05:00
Layne Gustafson e4ecdefa9a Rename subfeatures -> dependencies 2020-01-19 20:53:19 -05:00
Layne Gustafson 51372200d3 Filter out non-features 2020-01-19 20:53:19 -05:00
Layne Gustafson c8f1e0d6d8 Remove llvm_name from features 2020-01-19 20:53:19 -05:00
Layne Gustafson c131e50ea7 Switch CPU/features to simple format 2020-01-19 20:53:18 -05:00
Layne Gustafson 21908e100e Fix CPU and feature defs 2020-01-19 20:53:18 -05:00
Layne Gustafson 8f191e0166 Update term feature deps -> subfeatures 2020-01-19 20:53:18 -05:00
Layne Gustafson 0f46c12f78 Create initial target details infrastructure 2020-01-19 20:53:15 -05:00