David Rubin
David Rubin
For 7e617d23dd440762fc9fbb8801dfa38ecb898e1b, feel free to regress the RISC-V backend. I do not mind fixing it.
Could you please open a new issue for it?
The segfault happens because of infinite recursion in the compiler. Related #13724. Back trace: ``` .... frame #18132: 0x0000000008955669 zig`type.Type.hasRuntimeBitsAdvanced at type.zig:585:64 frame #18133: 0x0000000008955669 zig`type.Type.hasRuntimeBitsAdvanced at type.zig:585:64 frame #18134:...
Nice work! Could you share the benchmark script? I am really curious to see how those aligned loads/stores are emitted.
Interesting. I have attempted to re-produce this and I see 2, maybe 3 issues. 1. This generates only like 1 pair of aligned loads, when you could be fitting in...
Apologies if I didn't fully understand the issue, however I do want to point out two things. First, packed unions exist: ```zig const UnderPacked = packed union { fee: f32,...
On `0.12`: ``` ❯ zig run empty.zig empty.Foo{ .a = false, .b = true } true ``` On `0.13.0-dev.55+fc45e5b39`: ``` ❯ zig run empty.zig empty.Foo{ .a = false, .b =...
In #19630 it was made so that having `undefined` in a packed struct would propagate to the entire struct iirc. So see: ```zig const std = @import("std"); pub const Foo...
Ah, my bad. No idea then.
Maybe a bit of a strange idea, but what if the Undefined case returned, "undefined"? std.mem.eql compares the contents of two slices for equality, and equating Undefined is impossible imo....