aboutsummaryrefslogtreecommitdiff
path: root/lib/std/target
AgeCommit message (Collapse)Author
2024-01-01std.Target: flattenAndrew Kelley
2023-09-19nvptx: omit sm_90a from the CPU target features for nowAndrew Kelley
There seems to be an LLVM bug with this feature. Since it's new, let's collect more information before adding it.
2023-09-19LLVM 17 std lib updates and fixesAndrew Kelley
* some manual fixes to generated CPU features code. in the future it would be nice to make the script do those automatically. I suspect the sm_90a thing is a bug in LLVM. * add liteos to various target OS switches. I know nothing about this OS; someone will need to work specifically on support for this OS when the time comes to support it properly in zig. * while waiting for the compiler, I went ahead and made more conservative choices about when to use `inline` in std/Target.zig
2023-09-19update CPU features to LLVM 17Andrew Kelley
release/17.x branch, commit 8f4dd44097c9ae25dd203d5ac87f3b48f854bba8
2023-06-19all: zig fmt and rename "@XToY" to "@YFromX"Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-05-08target: fix typos in x86 feature descriptionsJacob Young
2023-04-30std: fix a bunch of typosLinus Groh
The majority of these are in comments, some in doc comments which might affect the generated documentation, and a few in parameter names - nothing that should be breaking, however.
2023-04-18std.target.riscv: fix baseline_rv32 missing feature "32bit"serg
2023-04-09std: add generic target for spirvRobin Voetter
This adds a general target for SPIR-V compilation. Previously there was not any target machine defined for SPIR-V. TODO is to reword the features for this target. We don't really need the full list of capabilities in the features, we should only put a few features here which we can actually use during code generation.
2023-02-27Merge remote-tracking branch 'origin/master' into llvm16Andrew Kelley
2023-02-19Merge remote-tracking branch 'origin/master' into llvm16Andrew Kelley
2023-02-18update std lib and compiler sources to new for loop syntaxAndrew Kelley
2023-01-26update CPU features to LLVM 16Andrew Kelley
2022-11-06Revert "x86" CPU model (not arch) back to "i386"Jay Petacat
PR #13101 recently renamed the "i386" architecture to "x86", and it seems the specific CPU model got swept up in that. "x86" is an umbrella term that describes a family of CPUs, and the "i386" is the oldest supported model under that umbrella.
2022-11-04all: rename i386 to x86Ali Chraghi
2022-10-20add m68k target CPU featuresAndrew Kelley
2022-10-18synchronize target CPU features with LLVM 15.0.3Andrew Kelley
2022-08-02update target CPU features for LLVM 15Andrew Kelley
2022-07-28std: rename std.Target.systemz to .s390xMeghan Denny
2022-07-01update CPU features to LLVM 14Andrew Kelley
Notable changes: `_i386`, `_i486`, and `_i686` are renamed to `i386`, `i486`, and `i686` respectively. `std.zig.fmtId` is enhanced to support formatting `i386` as `@"i386"`. Some CPU features which are actually CPU models have been properly flattened, such as `apple_a12`, `apple_a13`, `apple_a7`, `cortex_a78c`, `exynos_m4`, `neoverse_e1`, `neoverse_n1`, `neoverse_n2`, `neoverse_v1`. Some CPU features have been added and some have been removed, following LLVM's lead. CSky CPU features support is added.
2021-08-15update target CPU features with LLVM 13 rc1 dataAndrew Kelley
2021-08-12compiler-rt: do not depend on `usingnamespace`Andrew Kelley
The idea is to depend on this language feature as little as possible with the hopes that it can be adjusted to be less of an anti-pattern. This also helps self-hosted, which does not yet implement `usingnamespace`, get closer to being able to build compiler-rt.
2021-06-17Fix `lakemont` CpuModel (#9099)d18g
Lakemont has no x86, no MMX, no SSE and no way of handling any fp-math. In theory LLVM is able to implicitly use the soft-float emulation library calls to legalize any such operation but, given Zig's use of many non-standard features, sometimes we hit a weak spot in the X86 codegen backend. Consider this as a work-around for this LLVM problem, fixing the problem in LLVM is not so high in my todo list as the target is pretty niche and Intel axed it in '19. (Commit message by @LemonBoy)
2021-05-20Run `zig fmt` on src/ and lib/std/Isaac Freund
This replaces callconv(.Inline) with the more idiomatic inline keyword.
2021-05-14SPIR-V: Add generated SPIR-V featuresRobin Voetter
2021-05-03std: Add two more ARM CPUs to the known CPU listLemonBoy
Modeled after GCC's description.
2021-04-20target: drop `ppc32` and prefer `ppc`Michael Dusan
- original PR #7949 (incorrectly) patched a generated-file and changes have subsequently been lost/overwritten - fix #7947 in a different way: drop `ppc32` because `ppc` already exists
2021-02-27update ARM target CPU featuresAndrew Kelley
This completes the process. All target CPU features are now auto-generated by the tools/update_cpu_features.zig script, which contains all the overrides. Invoking this tool against LLVM 12rc2 now produces an empty git diff.
2021-02-27tools/update_cpu_features: add a "flatten" featureAndrew Kelley
and use it to clean up aarch64 target CPU features
2021-02-27tools/update_cpu_features: better patching APIAndrew Kelley
With this change, added & modified cpus & features participate in the same pruning system, and sorting takes into account the zig name, not the pre-modified llvm name. The modified target files in this commit are due to the improved sorting and pruning. The script now fully supports extra cpus & features.
2021-02-27update amdgpu target CPU featuresAndrew Kelley
2021-02-27update RISC-V target CPU featuresAndrew Kelley
2021-02-27update most target CPU features to llvm12Andrew Kelley
The tools/update_cpu_features script is coming along, and generates correct information for all these targets. The remaining targets are: * arm * aarch64 * amdgpu * riscv I will commit them once the issues with the updater tool are resolved.
2021-02-27update x86 CPU featuresAndrew Kelley
2021-02-25Merge remote-tracking branch 'origin/master' into llvm12Andrew Kelley
Conflicts: * src/clang.zig * src/llvm.zig - this file got moved to src/llvm/bindings.zig in master branch so I had to put the new LLVM arch/os enum tags into it. * lib/std/target.zig, src/stage1/target.cpp - haiku had an inconsistency with its default target ABI, gnu vs eabi. In this commit we make it gnu in both places to match the latest changes by @hoanga. * src/translate_c.zig
2021-02-04target: map zig ppc32 → llvm ppcMichael Dusan
- llvm does not accept `ppc32` as a CPU type closes #7947
2020-12-31Year++Frank Denis
2020-12-16update the CPU target features and modelsAndrew Kelley
Rather than directly pasting the output from the target-details-generator tool, we have to look at the diff line by line and decide how to incorporate the changes. The baseline abstraction is something that Zig provides. The changes to x86 appear to be incorrect. After LLVM commit 3ad09fd03c51823aeb0bcbd7898aada33e9228d6 the CPU features are stored in a different data layout in their tables, and so we need to update the target details extraction tool to match.
2020-12-16Update target detailsJakub Konka
llvm commit b2851aea80e5a8f0cfd6c3c5a56a6b00fb28c6b6 zig-llvm-target-details-generator commit 4299674ecabeb668b0d84285cd1b41a652a391b1
2020-10-24Use correct names for generic SPARC targetsKoakuma
LLVM calls generic sparc32 CPUs "v8" and generic sparc64 CPUs "v9".
2020-08-21Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-08-20add license header to all std lib filesAndrew Kelley
add SPDX license identifier copyright ownership is zig contributors
2020-08-18Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-08-13Add "ppc" prefix to number-modeled CPUs (#6006)Koakuma
This is to prevent "expected token 'Symbol', found 'IntLiteral'" errors when building zig files.
2020-08-04update target CPU features from llvm 10 to 11rc1Andrew Kelley
2020-07-11use typeInfo instead of hardcoded tables in std.TargetVexu
2020-06-12Add strict_align to pre-v6 ARM targetsCarter Sande
This matches GCC's and Clang's default behavior for these targets.
2020-03-03Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-02-26arm baseline CPU is v7a rather than v6mAndrew Kelley
v6m is thumb-mode and the baseline should probably be an 'a' variant.
2020-02-25Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley