aboutsummaryrefslogtreecommitdiff
path: root/src/arch/sparc64/Mir.zig
AgeCommit message (Collapse)Author
2025-09-26compiler: move self-hosted backends from src/arch to src/codegenAlex Rønne Petersen
2025-09-21Elf2: create a new linker from scratchJacob Young
This iteration already has significantly better incremental support. Closes #24110
2025-06-12x86_64: remove air references from mirJacob Young
2025-06-12compiler: get most backends compiling againmlugg
As of this commit, every backend other than self-hosted Wasm and self-hosted SPIR-V compiles and (at least somewhat) functions again. Those two backends are currently disabled with panics. Note that `Zcu.Feature.separate_thread` is *not* enabled for the fixed backends. Avoiding linker references from codegen is a non-trivial task, and can be done after this branch.
2024-03-01compiler: audit debug mode checksJacob Young
* Introduce `-Ddebug-extensions` for enabling compiler debug helpers * Replace safety mode checks with `std.debug.runtime_safety` * Replace debugger helper checks with `!builtin.strip_debug_info` Sometimes, you just have to debug optimized compilers...
2023-06-24all: migrate code to new cast builtin syntaxmlugg
Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change
2023-04-28stage2: sparc64: Implement airByteSwapKoakuma
2022-12-17std.builtin: rename Type.UnionField and Type.StructField's field_type to typer00ster91
2022-09-14stage2: sparc64: Change branch_link Mir field definitionKoakuma
2022-09-13stage2: support being built in ReleaseSafe modeAndrew Kelley
2022-06-24stage2: sparc64: Implement airRem, airMod, and SPARCv9 s/udivxKoakuma
2022-06-24stage2: sparc64: Implement SPARCv9 shiftsKoakuma
2022-06-24stage2: sparc64: Implement airFence + SPARCv9 membarKoakuma
2022-06-24stage2: sparc64: Implement airBinOp for and, or, and xorKoakuma
2022-06-24stage2: sparc64: Use official encoding for `not rs2, rs1`Koakuma
2022-06-24stage2: sparc64: Introduce condition_register MCValue typeKoakuma
Introduce condition_register MCValue type for future uses with BPr/MOVr (mostly when needing to compare a signed value with zero)
2022-06-06stage2: sparc64: Implement airNotKoakuma
2022-06-06stage2: sparc64: Implement airAddSubOverflowKoakuma
2022-06-06stage2: sparc64: Implement condition code spillingKoakuma
2022-05-26stage2: sparc64: Add cmp and mov synthetic instructionsKoakuma
2022-05-16stage2: sparc64: Implement airSliceElemValKoakuma
2022-05-16stage2: sparc64: Implement airCmpKoakuma
2022-05-16stage2: sparc64: Implement SPARCv9 bprKoakuma
2022-05-16stage2: sparc64: Split the conditionals between integer and FP onesKoakuma
On SPARCv9 the integer and FP conditional branch codes doesn't align with each other at all, so the two need to be treated separately.
2022-05-16stage2: sparc64: Implement airIsErr and airIsNonErrKoakuma
2022-05-13target: Rename sparcv9 -> sparc64Koakuma
Rename all references of sparcv9 to sparc64, to make Zig align more with other projects. Also, added new function to convert glibc arch name to Zig arch name, since it refers to the architecture as sparcv9. This is based on the suggestion by @kubkon in PR 11847. (https://github.com/ziglang/zig/pull/11487#pullrequestreview-963761757)