_self_host_pack4_repro.nx source
↩ module page · 17 lines · 463 B
1// Exact reproduction of pack4_i16 to isolate the bug.
2// expect_exit: 4
3import "nx_syscalls.nx"
4
5func pack4(a: i64, b: i64, c: i64, d: i64) -> i64 {
6 return (a & 0xFFFF)
7 | ((b & 0xFFFF) << 16)
8 | ((c & 0xFFFF) << 32)
9 | ((d & 0xFFFF) << 48)
10}
11
12func main() -> i64 {
13 let v: i64 = pack4(1, 2, 3, 4)
14 // Expected: 0x0004000300020001 = 281479271743489
15 // Lane 3 (top 16): 4. v >> 48 = 4. exit 4.
16 return (v >> 48) & 0xFF
17}