Jacob Young
a19faa2481
x86_64: implement movement of more types
...
* f16
* f128
* vector
2023-05-03 04:25:14 -04:00
Jacob Young
36a39267b8
x86_64: fix feature confusion
2023-05-03 04:25:14 -04:00
Jacob Young
9ccdbca635
x86_64: implement fabs
2023-05-03 04:25:14 -04:00
Jacob Young
31429a4e86
codegen: handle variable and decl_ref_mut consistently
2023-05-03 04:25:14 -04:00
Jacob Young
f894ec264b
codegen: fix global nested field_ptr
2023-05-03 04:25:14 -04:00
Jacob Young
3a30b82741
x86_64: implement fieldParentPtr
2023-05-03 04:25:14 -04:00
Jacob Young
3f5592c114
x86_64: implement slice elem ptr for more MCValue tags
2023-05-03 04:25:14 -04:00
Jacob Young
f56f5af403
x86_64: fix global slices
2023-05-03 04:25:14 -04:00
mlugg
152c7b1885
Implement multi-argument @min/@max and notice bounds
...
Resolves : #14039
2023-05-02 16:46:27 -07:00
Jacob Young
db88b41472
x86_64: fix switch multi-prongs and mul/div flags clobber
2023-05-01 19:22:53 -04:00
Jakub Konka
5e7f3d5daa
x86_64: disable advanced memset tests on Windows
2023-05-01 19:22:53 -04:00
Jacob Young
47a34d038d
x86_64: implement tagName
2023-05-01 19:22:52 -04:00
Jacob Young
c388960042
x86_64: fix large not and atomicrmw
2023-05-01 19:22:52 -04:00
Jacob Young
50f96c2949
x86_64: fix stack realignment
2023-05-01 19:22:52 -04:00
Jacob Young
db76ae8260
x86_64: fix emitting f80 globals
2023-05-01 19:22:52 -04:00
Jacob Young
6de457211f
behavior: update affected tests for the x86_64 backend
2023-05-01 19:22:52 -04:00
Andrew Kelley
7baf0de807
Merge pull request #15458 from koachan/sparc64-codegen
...
stage2: sparc64: Yet another patchset for the selfhosted backend
2023-04-29 10:55:50 -07:00
Koakuma
d339e86fb1
stage2: sparc64: Skip unimplemented tests
2023-04-28 16:45:37 -07:00
Andrew Kelley
85ffb8f18f
disable 2 failing behavior tests with x86 backend
2023-04-28 13:29:39 -07:00
Andrew Kelley
73d3fb9883
C backend: fix ptr comparison of array ptrs when one is null-terminated
2023-04-28 13:24:43 -07:00
Andrew Kelley
a67dec1c9f
disable not yet passing new behavior tests from this branch
2023-04-28 13:24:42 -07:00
Andrew Kelley
9295355985
LLVM backend: optimize memset with comptime-known element
...
When the element is comptime-known, we can check if it has a repeated
byte representation. In this case, `@memset` can be lowered with the
LLVM intrinsic rather than with a loop.
2023-04-28 13:24:42 -07:00
Andrew Kelley
00b690540e
llvm backend: fix lowering of memset
...
The bitcast of ABI size 1 elements was problematic for some types.
2023-04-28 13:24:42 -07:00
Andrew Kelley
011bc59e8a
Merge pull request #15435 from jacobly0/x86_64-frame
...
x86_64: add frame indices
2023-04-27 15:45:01 -07:00
Andrew Kelley
aa3405aabc
Merge pull request #15474 from Luukdegram/wasm-atomics
...
wasm: implement atomic instructions
2023-04-27 08:26:35 -07:00
Jakub Konka
bc69d5a00f
macho: invalidate GOT/stub relocs after segment shift in memory
2023-04-26 19:08:38 -04:00
Jacob Young
b5b0b55582
x86_64: fix tlv references
2023-04-26 19:05:17 -04:00
Jacob Young
894406b9d3
behavior: update passing cbe tests
2023-04-26 19:05:17 -04:00
Andrew Kelley
3c66850e42
Merge pull request #15278 from ziglang/memcpy-memset
...
change semantics of `@memcpy` and `@memset`
2023-04-26 10:01:54 -07:00
Luuk de Gram
1d97181703
wasm: enable atomics behavior tests
2023-04-26 16:28:41 +02:00
Andrew Kelley
1ba72bcf9a
update test cases for new memcpy/memset semantics
2023-04-25 11:23:41 -07:00
Andrew Kelley
58fabbc903
x86_64 backend: support @memset with slices
2023-04-25 11:23:41 -07:00
Andrew Kelley
881e931ee1
x86_64 backend: implement @memset for element ABI size > 1
...
* make memset and memset_safe guarantee that if the length is
comptime-known then it will be nonzero.
2023-04-25 11:23:41 -07:00
Andrew Kelley
7c56145a76
add behavior test for @memset on slices
...
and avoid new language feature in std.ArrayList for now, until x86_64
self-hosted backend can implement it.
2023-04-25 11:23:41 -07:00
Andrew Kelley
482a0f648c
Sema: implement comptime @memcpy
2023-04-25 11:23:41 -07:00
Andrew Kelley
83a7303bbf
Sema: implement comptime @memset
2023-04-25 11:23:41 -07:00
Andrew Kelley
057c950093
LLVM backend: support non-byte-sized memset
...
Also introduce memset_safe AIR tag and support it in C backend and LLVM
backend.
2023-04-25 11:23:41 -07:00
Andrew Kelley
a5c910adb6
change semantics of @memcpy and @memset
...
Now they use slices or array pointers with any element type instead of
requiring byte pointers.
This is a breaking enhancement to the language.
The safety check for overlapping pointers will be implemented in a
future commit.
closes #14040
2023-04-25 11:23:40 -07:00
Jacob Young
a1fcb51692
cbe: fix mutability issues with builtin test_functions
2023-04-25 13:42:10 -04:00
Andrew Kelley
a2fe81a639
Merge pull request #15421 from Vexu/fixes
...
Runtime safety improvements
2023-04-24 16:23:03 -07:00
Andrew Kelley
ef0a02081d
Merge pull request #15290 from mlugg/feat/builtin-in-comptime
...
Add `@inComptime` builtin
2023-04-24 12:54:12 -07:00
Ian Johnson
2be347a2c8
Sema: allow method calls on optional pointers
2023-04-24 09:35:54 +03:00
mlugg
35d82d31be
Add @inComptime builtin
...
Resolves : #868
2023-04-23 13:16:42 -07:00
Veikka Tuominen
c3b30a0fd0
enable passing test
...
Closes #12360
2023-04-23 12:29:58 +03:00
Luuk de Gram
27a41413f7
wasm: enable @intToError test
2023-04-22 21:16:23 +02:00
Jacob Young
d56c6c7791
cbe: implement 128-bit atomics support
...
* Disable 128-bit atomics for x86_64 generic (currently also baseline)
because they require heavy abi agreement to correctly lower.
** This is a breaking change **
* Enable 128-bit atomics for aarch64 in Sema since it just works.
2023-04-21 16:36:31 -04:00
Jacob Young
6b23a7b61a
behavior: enable a bunch of disabled tests
2023-04-21 16:36:31 -04:00
Jacob Young
d98974e826
cbe: fix issues with atomic floats
...
Since the Zig language documentation claims support for `.Min` and
`.Max` in `@atomicRmw` with floats, allow in Sema and implement for both
the llvm and C backends.
2023-04-21 16:36:30 -04:00
Jacob Young
bf6fd9ae3f
cbe: enable CI for std tests
2023-04-21 16:36:10 -04:00
Jacob Young
52fe2ebee8
behavior: fix test disable condition
2023-04-20 20:49:35 +01:00