Jacob Young
88d0fef92d
x86_64: implement @select
2024-02-25 11:22:10 +01:00
Jacob Young
ab6f9e3d10
x86_64: fix incorrect mnemonic selection
2024-02-25 11:22:10 +01:00
Jacob Young
dbfa3238fe
Builder: fix float constants in llvm ir
2024-02-22 23:51:53 +01:00
Jakub Konka
d1429a8fa9
lib/std/elf: refactor reloc enum values
2024-02-17 13:13:03 +01:00
Jakub Konka
9542ee9bf8
elf: create Zig specific reloc type shared across ISAs
2024-02-17 11:46:01 +01:00
Jakub Konka
975862aca9
elf: add riscv dynamic relocs
2024-02-17 11:29:06 +01:00
Jacob Young
6f08e17229
InternPool: make more use of NullTerminatedString.Slice
...
This should avoid the random pointer invalidation crashes.
Closes #18954
2024-02-16 00:27:25 -08:00
Jacob Young
cb3fe277bb
x86_64: fix crash loading a packed value from a spilled pointer
...
Unblocks #18923
2024-02-14 18:28:20 +01:00
Jacob Young
e27db373ec
x86_64: implement @clz and @ctz of big integers
2024-02-12 05:25:07 +01:00
Jacob Young
d894727873
x86_64: implement @byteSwap of big integers
2024-02-12 05:25:07 +01:00
Jacob Young
271505cfc8
x86_64: fix compiler_rt tests
2024-02-12 05:25:07 +01:00
Jacob Young
bcbd49b2a6
x86_64: implement shifts of big integers
2024-02-12 05:25:07 +01:00
Jacob Young
9023ff04d0
x86_64: fix register clobber
2024-02-12 05:25:07 +01:00
Jacob Young
a9f738e56b
x86_64: implement c abi for bool vectors
2024-02-12 05:25:07 +01:00
Jacob Young
c6b3db8910
x86_64: implement @abs of big integers
2024-02-12 05:25:07 +01:00
Jacob Young
7c9a96111c
x86_64: fix assert location
2024-02-12 05:25:07 +01:00
Jacob Young
5a62f26579
x86_64: fix packed load
2024-02-12 05:25:07 +01:00
Jacob Young
f2a62d25fc
x86_64: implement ret_safe
2024-02-12 05:25:07 +01:00
Jacob Young
c619551f7d
x86_64: fix incorrect alignment check
2024-02-12 05:25:07 +01:00
Jacob Young
6235762c09
x86_64: implement mul, div, and mod of large integers
...
This enables the last compiler-rt test disabled for the x86_64 backend.
2024-02-12 05:25:07 +01:00
Luuk de Gram
320c4d68f5
wasm: correctly lower packed structs in arguments
...
When an argument is a 'local', which is the case when it's a parameter,
we should not attempt to load it from memory. Instead, we directly emit
it to the stack. Only when the `WValue` is ensure to live in the linear
data section do we load it from memory onto the stack.
closes #18894
2024-02-11 17:09:18 +01:00
Pyry Kovanen
476ba04753
x86: remove final vestiges of mir_to_air ( #18836 )
2024-02-06 14:13:31 -05:00
David Rubin
3069669bc1
add the clflush mnem
2024-02-06 07:08:16 -05:00
Andrew Kelley
78f15bc714
compiler: rename value.zig to Value.zig
...
This commit only does the file rename to be friendlier to version
control conflicts.
2024-02-05 18:13:07 -07:00
Jacob Young
941d3a2bb1
x86_64: fix miscompilations on baseline
2024-02-05 02:16:56 -05:00
mlugg
9eda6ccefc
InternPool: use separate key for slices
...
This change eliminates some problematic recursive logic in InternPool,
and provides a safer API.
2024-02-02 11:02:03 +00:00
Jakub Konka
d4966517f6
x86_64+macho: emit .got instead of .got_load relocs
2024-01-31 09:33:49 +01:00
Veikka Tuominen
7d75c3d3b8
llvm: ensure returned undef is 0xaa bytes when runtime safety is enabled
...
Closes #13178
2024-01-29 17:35:07 -08:00
Jakub Konka
060406a526
macho: ensure we zero-out regions after copying them over
...
This is to ensure that the loader correctly zeroes-out zerofill
sections when mapping them. For context, Apple's loader dyld
will map the regions where any zerofill would theoretically reside
as belonging to zerofill section.
2024-01-24 12:34:42 +01:00
Jakub Konka
3a6410959c
macho: actually lower TLS variables
2024-01-24 12:34:42 +01:00
Jakub Konka
5c4db4e578
x86_64: emit MachO TLV sequence
2024-01-24 12:34:42 +01:00
Jakub Konka
080ad94249
x86_64: save TLS to stack for MachO
2024-01-24 12:34:42 +01:00
Jakub Konka
5c951cd211
macho: again fix symbol index dereference in codegen wrt ZigObject
2024-01-24 12:34:41 +01:00
Jakub Konka
a8629fb850
macho: fix symbol index dereference in codegen wrt ZigObject
...
This is incredibly confusing and I really need to simplify it.
Elf also possesses this shortcoming so once I get Coff up to speed
it should hopefully become clear on how to refactor this.
2024-01-24 12:34:41 +01:00
Jakub Konka
a79a038e61
codegen: implement more missing bits
2024-01-24 12:34:41 +01:00
Jakub Konka
96cc9fafbf
codegen: re-implement enough of codegen to error out instead panic
2024-01-24 12:34:41 +01:00
Jakub Konka
dd0addab1f
macho: get the ball rolling!
2024-01-24 12:34:38 +01:00
joachimschmidt557
f12ec02bd7
stage2 AArch64: get empty file compiling again
2024-01-08 23:53:24 -08:00
Andrew Kelley
2047a6b82d
fix remaining compile errors except one
2024-01-01 17:51:20 -07:00
Andrew Kelley
48d5861f92
fix more compilation errors introduced by this branch
2024-01-01 17:51:20 -07:00
Andrew Kelley
c49957dbe8
fix a round of compile errors caused by this branch
2024-01-01 17:51:19 -07:00
Andrew Kelley
bc4d2b646d
compiler: update references to target
2024-01-01 17:51:19 -07:00
Andrew Kelley
f5ddef1e45
update references to module (to be renamed to zcu)
2024-01-01 17:51:19 -07:00
Andrew Kelley
9a48a5ab07
compiler: update references to single_threaded
2024-01-01 17:51:19 -07:00
Andrew Kelley
5a6a1f8a8a
linker: update target references
2024-01-01 17:51:19 -07:00
Andrew Kelley
2be36c5b8d
linker: update references to module
2024-01-01 17:51:19 -07:00
Veikka Tuominen
69195d0cd4
AstGen: add error for using inline loops in comptime only scopes
2023-12-08 16:54:32 -08:00
Jacob Young
c70c333594
x86_64: fix packed struct field reuse
2023-12-04 13:31:54 -05:00
Jacob Young
bdb6546a8f
x86_64: fix vector comparisions
2023-12-04 13:09:13 -05:00
Jacob Young
50993a8f08
x86_64: implement more operations on vectors with 1-bit elements
2023-12-04 01:29:07 -05:00