Frank Denis
32563e6829
crypto.core.aes: process 6 block in parallel instead of 8 on aarch64 ( #13473 )
...
* crypto.core.aes: process 6 block in parallel instead of 8 on aarch64
At least on Apple Silicon, this is slightly faster than 8 blocks.
* AES: add parallel blocks for tigerlake, rocketlake, alderlake, zen3
2022-11-07 12:28:37 +01:00
Frank Denis
907f3ef887
crypto.salsa20: make the number of rounds a comptime parameter ( #13442 )
...
...instead of hard-coding it to 20.
- This is consistent with the ChaCha implementation
- NaCl and libsodium, that this API is designed to interop with,
also support 8 and 12 round variants. The 12 round variant, in
particular, provides the same security level as the 20 round variant,
but is obviously faster.
- scrypt currently uses its own non optimized version of Salsa, just
because it use 8 rounds instead of 20. This will help remove code
duplication.
No behavior nor public API changes. The Salsa20 and XSalsa20 still
represent the 20-round variant.
2022-11-06 23:52:41 +01:00
Jakub Konka
4c719ad338
Merge pull request #13463 from ziglang/fix-13056
...
macho: parse weak imports in tbd descriptors
2022-11-06 22:44:58 +01:00
r00ster91
b83e4d9656
std.os.linux.T: translate more MIPS values
...
This fixes the broken terminal for me and thus fixes #13198 .
2022-11-06 16:33:50 +02:00
Jakub Konka
72769f6cec
link-tests: add test case for parsing weak imports
2022-11-06 15:21:28 +01:00
Jakub Konka
351031b6c7
macho: parse weak symbols in tbds
...
However, we will treat them as standard imports rather than refs
to weak imports until I investigate more how it actually works
underneath.
2022-11-06 15:19:17 +01:00
Jay Petacat
694d8831c3
Revert "x86" CPU model (not arch) back to "i386"
...
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-06 13:39:03 +01:00
Jakub Konka
1aeef29733
coff: move relocation in its own module
2022-11-06 08:41:43 +01:00
Jakub Konka
5ef33e7c7e
Merge pull request #13459 from ziglang/issue-13457
...
macho: do not zero-out file if there are no nonzerofill sects
2022-11-06 08:39:13 +01:00
Jakub Konka
76fb3e0621
macho: do not zero-out file if there are no nonzerofill sects
...
If the `__DATA` segment comprises of only zerofill sections, do not
accidentally zero out all of file.
2022-11-06 00:36:27 +01:00
Jakub Konka
aaaa7df152
macho: add linker test case for issue 13457
2022-11-06 00:10:12 +01:00
delitako
c8a5ad6d9d
Improve doc comments for two functions ( #13456 )
...
* std.heap: fix function name in doc comment
* std.mem: document return value of `replace`
2022-11-05 22:55:50 +01:00
Ali Chraghi
aea617c60b
std.os: take advantage of the freebsd's copy_file_range
2022-11-05 15:43:39 -04:00
Jakub Konka
28288dcbbf
Merge pull request #13444 from ziglang/arm64-coff
...
aarch64,coff: lift-off!
2022-11-05 12:19:45 +01:00
Jakub Konka
165ae04a03
coff: use .x86 instead of .i386
2022-11-05 10:35:04 +01:00
Jakub Konka
59fa0499c9
coff: tentatively handle Obj in getImageBase() func
2022-11-05 10:15:01 +01:00
Jakub Konka
9618fdc8a2
coff: circumvent stage1 inference problems
2022-11-05 10:15:01 +01:00
Jakub Konka
83d89a05b7
coff: compile and link simple exit program on arm64
...
* make image base target dependent
* fix relocs to imports
2022-11-05 10:15:01 +01:00
Jakub Konka
205421c311
coff: implement handling of arm64-specific relocs
2022-11-05 10:15:00 +01:00
Jakub Konka
d80203b55d
coff: clean up relocation handling between x86 and arm64
2022-11-05 10:15:00 +01:00
Jakub Konka
53a9661c1a
coff: generate relocations for branch, GOT, direct refs
2022-11-05 10:15:00 +01:00
Jakub Konka
62ae365308
aarch64: implement airCall for COFF
2022-11-05 10:15:00 +01:00
Jakub Konka
1fe0b58942
aarch64: extract atom index for both COFF and MachO
2022-11-05 10:14:59 +01:00
Jakub Konka
df0212bf47
aarch64: handle register downgrading in truncRegister
2022-11-05 10:14:59 +01:00
Andrew Kelley
1d68045919
Merge pull request #13101 from alichraghi/o4
2022-11-05 02:34:24 -04:00
Andrew Kelley
e9a12491f6
CI: add stage3/stage4 determinism check
...
Makes sure that #12183 will not regress.
2022-11-04 20:33:37 -07:00
Veikka Tuominen
986b7ce5b2
rename i386-linux-gnu to x86-linux-gnu
2022-11-04 16:41:23 +02:00
Veikka Tuominen
8c4faa5f3f
Merge pull request #13338 from Vexu/stage2-compile-errors
...
Improve some error messages
2022-11-04 16:04:31 +02:00
Micah Switzer
ea54c9a375
Sema: resolve lazy align in zirReify for union fields
...
Closes #13435
2022-11-04 15:48:08 +02:00
Jacob Young
cbed6bb085
Sema: make InferredErrorSet deterministic
...
Empirically, this `AutoHashMapUnmanaged` -> `AutoArrayHashMapUnmanaged`
change fixes all non-determinism in `ReleaseFast` build artifacts.
Closes #12183
2022-11-04 00:00:10 -04:00
Andrew Kelley
42755a1944
Merge pull request #13430 from ziglang/stack-probe-msvc
...
Miscellaneous arm64 windows fixes
2022-11-03 19:49:10 -04:00
Ali Chraghi
f5f1f8c666
all: rename i386 to x86
2022-11-04 00:09:27 +03:30
Veikka Tuominen
577daab08c
CI: windows: update tarball
2022-11-03 22:11:25 +02:00
Yujiri
b19161ba9c
Add docstrings to some functions in std.meta
2022-11-03 17:37:38 +02:00
Veikka Tuominen
678f3f6e65
Merge pull request #13276 from r00ster91/stem
...
std.fs.path: add stem()
2022-11-03 16:45:37 +02:00
Jakub Konka
3465203824
libc: add support for arm64 msvc installation
2022-11-03 15:07:31 +01:00
Jakub Konka
480c3c4d0a
compiler_rt: fix duplicate symbol error when linking libc on arm64 Windows
2022-11-03 14:41:28 +01:00
Frank Denis
96793530cd
std.crypto.pwhash.bcrypt: inline the Feistel network function ( #13416 )
...
std/crypto/benchmark.zig results:
* Intel i5
before: 3.144 s/ops
after: 1.922 s/ops
* Apple M1
before: 2.067 s/ops
after: 1.373 s/ops
2022-11-03 13:10:08 +01:00
Nathan Bourgeois
e64eef366c
Translate-C Remainder Macro Fix
2022-11-03 14:07:00 +02:00
Veikka Tuominen
b2f8c1f2ef
Merge pull request #13420 from jacobly0/c-backend
...
cbe: enough fixes to bootstrap a compiler with a working c backend
2022-11-03 13:43:10 +02:00
Jacob Young
f02b8a9cca
cbe: fix padding bits after a bitcast
2022-11-02 23:00:10 -04:00
Jacob Young
085f6fd8f7
cbe: use wrapping for left shifts
2022-11-02 23:00:10 -04:00
Jacob Young
4537c1b8b6
cbe: fix crash rendering union with zero-bit tag
2022-11-02 21:42:40 -04:00
Jacob Young
fa46f9a3d7
cbe: fix extern
2022-11-02 21:42:40 -04:00
Eric Milliken
b40fc70188
std.time: add microTimestamp() ( #13327 )
2022-11-02 23:20:19 +01:00
Cody Tapscott
98b60992b3
stage2: Ensure f128 alignment matches c_longdouble alignment
...
On platforms where c_longdouble is 128-bits, interop with C code
is simplified by making f128 match the alignment of c_longdouble.
I intended to make this change as part of #13257 , but I missed this
part.
2022-11-02 16:58:56 -04:00
Andrew Kelley
e50789f1cb
Merge pull request #13389 from jacobly0/fix-only-c
...
cbe: enough fixes for `-Donly-c` to be able to produce an executable
2022-11-02 15:53:59 -04:00
Andrew Kelley
57dbeb90af
Merge pull request #13396 from Luukdegram/fix-12880
...
llvm: mangle extern function names for Wasm target
2022-11-02 14:10:07 -04:00
Jacob Young
37c104ade0
cbe: ignore comptime fields when generating tuple typedefs
...
This vastly reduces the amount of deduplication state we need to deal with.
2022-11-02 10:21:05 -04:00
Jacob Young
5f31070b8b
cbe: hack around invalid Air
...
Can be changed to `!inst_ty.hisRuntimeBitsIgnoreComptime()` when the
"result location with inferred type ends up being pointer to comptime_int"
test stops producing Air containing a `bitcast(*comptime_int, ...)`.
See #13410
2022-11-02 10:20:31 -04:00