aboutsummaryrefslogtreecommitdiff
path: root/src/arch
AgeCommit message (Collapse)Author
2023-04-17x86_64: clean up formatting functions for Instruction and OperandJakub Konka
2023-04-16x86_64: implement packed load and storeJacob Young
2023-04-16x86_64: fix overflow of extended multiplyJacob Young
2023-04-16x86_64: fix @clz directionJacob Young
2023-04-15x86_64: fix loading/storing pointers from linker deferred memory locationsJakub Konka
2023-04-15x86_64: cleanup different memory load typesJakub Konka
Split `MCValue.linker_load` into `.load_got`, `.load_direct`, and `.lea_direct`.
2023-04-15x86_64: split MCValue.tlv_reloc into .load_tlv and .lea_tlvJakub Konka
`.load_tlv` signifies we want to load the value of a TLV `.lea_tlv` signifies we want to load effective address of a TLV
2023-04-13Merge pull request #15185 from ziglang/macho-tlsJakub Konka
macho: add TLS support
2023-04-13Merge pull request #15257 from Luukdegram/wasm-tagnameLuuk de Gram
wasm: Implement `@tagName` instruction
2023-04-13x86_64: make TLV a separate MCValueJakub Konka
2023-04-13x86_64: fix load() and store() to accommodate TLVJakub Konka
2023-04-13x86_64: emit pointer to TLV for machoJakub Konka
2023-04-13macho: refactor relocation type in incremental linkerJakub Konka
2023-04-13x86_64: remove loadMemPtrIntoRegister() now redundantJakub Konka
2023-04-13x86_64: simplify genInlineMemset() when setting value in memoryJakub Konka
2023-04-13x86_64: simplify genInlineMemcpy() when copying from memoryJakub Konka
2023-04-13x86_64: simplify genSetStack() when storing value from memoryJakub Konka
2023-04-13x86_64: simplify genSetStackArg() when storing value from memoryJakub Konka
2023-04-13x86_64: simplify isNull() when loading optional from memoryJakub Konka
2023-04-13x86_64: simplify airArrayElemVal() when pulling array from memoryJakub Konka
2023-04-13x86_64: simplify genBinOp() and genBinOpMir() when modifying value in memoryJakub Konka
2023-04-13x86_64: simplify genUnOpMir() when modifying value in memoryJakub Konka
2023-04-13x86_64: simplify store() logic when ptr is in memoryJakub Konka
2023-04-13x86_64: simplify store() logic when value is in memoryJakub Konka
2023-04-13x86_64: remove loadMemPtrIntoRegister in genSetRegJakub Konka
Add two emit helpers for linker reloc based `lea` and `mov` instructions: `asmMovLinker` and `asmLeaLinker`.
2023-04-13x86_64: fix clz miscompileJacob Young
2023-04-13x86_64: fix constant pointers to zero-bit typesJacob Young
These non-dereferencable pointers still need to have the correct alignment and non-null-ness.
2023-04-13x86_64: fix atomic loop implementationJacob Young
2023-04-13x86_64: fix some of the mass confusion about the meaning of `MCValue`Jacob Young
2023-04-12wasm: make tagName null-terminatedLuuk de Gram
2023-04-12wasm: generate unnamed constant for tagLuuk de Gram
2023-04-12wasm: generate function to get tag nameLuuk de Gram
When we lower the instruction for `@tagName` we generate a new function if it doesn't exist yet for that decl. This function creates an if-else chain to determine which value was provided. Each tag generates a constant that contains its name as the value. For each tag we generate a case where the pointer of the string is stored in the result slice. The length of the tagname is comptime-known, therefore will be stored in the slice directly without having it being part of the tagname symbol. In the future this can use a jump table instead of an if-else chain, similar to the `switch` instruction.
2023-04-07Fix 32-bit compile errorsAuguste Rame
2023-04-07Handle compile time case for vector element access using lane accessAuguste Rame
2023-04-07Finish shuffle, fix arrayElemVal for vectorsAuguste Rame
2023-04-07Make airShuffle work for unrolledAuguste Rame
2023-04-07Merge pull request #14668 from Techatrix/wasm-floatopsLuuk de Gram
wasm: implement float operations with compiler-rt
2023-04-07Merge pull request #15195 from mlugg/fix/liveness-loop-defer-deathsAndrew Kelley
Liveness: defer deaths of externally-scoped instructions in loop bodies
2023-04-07Make self-hosted wasm @returnAddress return 0Auguste Rame
2023-04-07Liveness: defer deaths of externally-scoped instructions in loop bodiesmlugg
2023-04-03x86_64: implement cmp_lt_errors_lenJacob Young
2023-04-03x86_64: fix typosJacob Young
2023-04-03x86_64: canonicalise loopsJacob Young
2023-04-03x86_64: implement store to immediate addressJacob Young
2023-04-03x86_64: implement storing large immediatesJacob Young
2023-04-03x86_64: implement a more generic assembler for inline assemblyJacob Young
2023-04-02x86_64: implement shl with overflowJacob Young
2023-04-02x86_64: implement large add/sub with overflowJacob Young
2023-04-02x86_64: implement wide multiplyJacob Young
2023-04-02x86_64: implement struct_field_val for large packed structsJacob Young