authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-04-11 17:40:47+02:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2025-04-11 17:40:47+02:00
log90084f4ae329c89466bc8c74bd6e00db3f2a3803
tree513dbd4b21e20bac2e75046395ab9e5babefc837
parentc82e1fe880629beea5660c675cfc698807205601
parent27cfff8f448628c36b88e8e36eb22e4f631620a0
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #23483 from alexrp/target-int-functions

compiler: Move int size/alignment functions to `std.Target` and `std.zig.target`

31 files changed, 364 insertions(+), 333 deletions(-)

lib/compiler/aro/aro/Compilation.zig+1-1
......@@ -1087,7 +1087,7 @@ pub fn fixedEnumTagSpecifier(comp: *const Compilation) ?Type.Specifier {
10871087}
10881088
10891089pub fn getCharSignedness(comp: *const Compilation) std.builtin.Signedness {
1090 return comp.langopts.char_signedness_override orelse comp.target.charSignedness();
1090 return comp.langopts.char_signedness_override orelse comp.target.cCharSignedness();
10911091}
10921092
10931093/// Add built-in aro headers directory to system include paths
lib/compiler_rt/divmodei4.zig+10-8
......@@ -33,18 +33,20 @@ fn divmod(q: ?[]u32, r: ?[]u32, u: []u32, v: []u32) !void {
3333 if (r) |x| if (u_sign < 0) neg(x);
3434}
3535
36pub fn __divei4(r_q: [*]u32, u_p: [*]u32, v_p: [*]u32, bits: usize) callconv(.c) void {
36pub fn __divei4(q_p: [*]u8, u_p: [*]u8, v_p: [*]u8, bits: usize) callconv(.c) void {
3737 @setRuntimeSafety(builtin.is_test);
38 const u = u_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
39 const v = v_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
40 const q = r_q[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
38 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
39 const q: []u32 = @ptrCast(@alignCast(q_p[0..byte_size]));
40 const u: []u32 = @ptrCast(@alignCast(u_p[0..byte_size]));
41 const v: []u32 = @ptrCast(@alignCast(v_p[0..byte_size]));
4142 @call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;
4243}
4344
44pub fn __modei4(r_p: [*]u32, u_p: [*]u32, v_p: [*]u32, bits: usize) callconv(.c) void {
45pub fn __modei4(r_p: [*]u8, u_p: [*]u8, v_p: [*]u8, bits: usize) callconv(.c) void {
4546 @setRuntimeSafety(builtin.is_test);
46 const u = u_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
47 const v = v_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
48 const r = r_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
47 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
48 const r: []u32 = @ptrCast(@alignCast(r_p[0..byte_size]));
49 const u: []u32 = @ptrCast(@alignCast(u_p[0..byte_size]));
50 const v: []u32 = @ptrCast(@alignCast(v_p[0..byte_size]));
4951 @call(.always_inline, divmod, .{ null, r, u, v }) catch unreachable;
5052}
lib/compiler_rt/fixdfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixdfei, .{ .name = "__fixdfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixdfei(r: [*]u32, bits: usize, a: f64) callconv(.c) void {
12 return bigIntFromFloat(.signed, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixdfei(r: [*]u8, bits: usize, a: f64) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.signed, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixhfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixhfei, .{ .name = "__fixhfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixhfei(r: [*]u32, bits: usize, a: f16) callconv(.c) void {
12 return bigIntFromFloat(.signed, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixhfei(r: [*]u8, bits: usize, a: f16) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.signed, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixsfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixsfei, .{ .name = "__fixsfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixsfei(r: [*]u32, bits: usize, a: f32) callconv(.c) void {
12 return bigIntFromFloat(.signed, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixsfei(r: [*]u8, bits: usize, a: f32) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.signed, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixtfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixtfei, .{ .name = "__fixtfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixtfei(r: [*]u32, bits: usize, a: f128) callconv(.c) void {
12 return bigIntFromFloat(.signed, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixtfei(r: [*]u8, bits: usize, a: f128) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.signed, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixunsdfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixunsdfei, .{ .name = "__fixunsdfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixunsdfei(r: [*]u32, bits: usize, a: f64) callconv(.c) void {
12 return bigIntFromFloat(.unsigned, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixunsdfei(r: [*]u8, bits: usize, a: f64) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.unsigned, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixunshfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixunshfei, .{ .name = "__fixunshfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixunshfei(r: [*]u32, bits: usize, a: f16) callconv(.c) void {
12 return bigIntFromFloat(.unsigned, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixunshfei(r: [*]u8, bits: usize, a: f16) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.unsigned, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixunssfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixunssfei, .{ .name = "__fixunssfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixunssfei(r: [*]u32, bits: usize, a: f32) callconv(.c) void {
12 return bigIntFromFloat(.unsigned, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixunssfei(r: [*]u8, bits: usize, a: f32) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.unsigned, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixunstfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixunstfei, .{ .name = "__fixunstfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixunstfei(r: [*]u32, bits: usize, a: f128) callconv(.c) void {
12 return bigIntFromFloat(.unsigned, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixunstfei(r: [*]u8, bits: usize, a: f128) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.unsigned, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixunsxfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixunsxfei, .{ .name = "__fixunsxfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixunsxfei(r: [*]u32, bits: usize, a: f80) callconv(.c) void {
12 return bigIntFromFloat(.unsigned, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixunsxfei(r: [*]u8, bits: usize, a: f80) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.unsigned, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/fixxfei.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const bigIntFromFloat = @import("./int_from_float.zig").bigIntFromFloat;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__fixxfei, .{ .name = "__fixxfei", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __fixxfei(r: [*]u32, bits: usize, a: f80) callconv(.c) void {
12 return bigIntFromFloat(.signed, r[0 .. divCeil(usize, bits, 32) catch unreachable], a);
12pub fn __fixxfei(r: [*]u8, bits: usize, a: f80) callconv(.c) void {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return bigIntFromFloat(.signed, @ptrCast(@alignCast(r[0..byte_size])), a);
1315}
lib/compiler_rt/float_from_int_test.zig+1-5
......@@ -1,8 +1,6 @@
11const std = @import("std");
2const builtin = @import("builtin");
32const testing = std.testing;
43const math = std.math;
5const endian = builtin.cpu.arch.endian();
64
75const __floatunsihf = @import("floatunsihf.zig").__floatunsihf;
86
......@@ -237,12 +235,10 @@ test "floatuntisf" {
237235
238236fn test_floateisf(expected: u32, comptime T: type, a: T) !void {
239237 const int = @typeInfo(T).int;
240 var a_buf: [@divExact(int.bits, 32)]u32 = undefined;
241 std.mem.writeInt(T, std.mem.asBytes(&a_buf), a, endian);
242238 const r = switch (int.signedness) {
243239 .signed => __floateisf,
244240 .unsigned => __floatuneisf,
245 }(&a_buf, int.bits);
241 }(@ptrCast(&a), int.bits);
246242 try testing.expect(expected == @as(u32, @bitCast(r)));
247243}
248244
lib/compiler_rt/floateidf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floateidf, .{ .name = "__floateidf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floateidf(a: [*]const u32, bits: usize) callconv(.c) f64 {
12 return floatFromBigInt(f64, .signed, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floateidf(a: [*]const u8, bits: usize) callconv(.c) f64 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f64, .signed, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floateihf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floateihf, .{ .name = "__floateihf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floateihf(a: [*]const u32, bits: usize) callconv(.c) f16 {
12 return floatFromBigInt(f16, .signed, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floateihf(a: [*]const u8, bits: usize) callconv(.c) f16 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f16, .signed, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floateisf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floateisf, .{ .name = "__floateisf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floateisf(a: [*]const u32, bits: usize) callconv(.c) f32 {
12 return floatFromBigInt(f32, .signed, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floateisf(a: [*]const u8, bits: usize) callconv(.c) f32 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f32, .signed, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floateitf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floateitf, .{ .name = "__floateitf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floateitf(a: [*]const u32, bits: usize) callconv(.c) f128 {
12 return floatFromBigInt(f128, .signed, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floateitf(a: [*]const u8, bits: usize) callconv(.c) f128 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f128, .signed, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floateixf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floateixf, .{ .name = "__floateixf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floateixf(a: [*]const u32, bits: usize) callconv(.c) f80 {
12 return floatFromBigInt(f80, .signed, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floateixf(a: [*]const u8, bits: usize) callconv(.c) f80 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f80, .signed, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floatuneidf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floatuneidf, .{ .name = "__floatuneidf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floatuneidf(a: [*]const u32, bits: usize) callconv(.c) f64 {
12 return floatFromBigInt(f64, .unsigned, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floatuneidf(a: [*]const u8, bits: usize) callconv(.c) f64 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f64, .unsigned, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floatuneihf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floatuneihf, .{ .name = "__floatuneihf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floatuneihf(a: [*]const u32, bits: usize) callconv(.c) f16 {
12 return floatFromBigInt(f16, .unsigned, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floatuneihf(a: [*]const u8, bits: usize) callconv(.c) f16 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f16, .unsigned, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floatuneisf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floatuneisf, .{ .name = "__floatuneisf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floatuneisf(a: [*]const u32, bits: usize) callconv(.c) f32 {
12 return floatFromBigInt(f32, .unsigned, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floatuneisf(a: [*]const u8, bits: usize) callconv(.c) f32 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f32, .unsigned, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floatuneitf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floatuneitf, .{ .name = "__floatuneitf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floatuneitf(a: [*]const u32, bits: usize) callconv(.c) f128 {
12 return floatFromBigInt(f128, .unsigned, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floatuneitf(a: [*]const u8, bits: usize) callconv(.c) f128 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f128, .unsigned, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/floatuneixf.zig+7-5
......@@ -1,6 +1,7 @@
1const divCeil = @import("std").math.divCeil;
2const common = @import("./common.zig");
3const floatFromBigInt = @import("./float_from_int.zig").floatFromBigInt;
1const std = @import("std");
2const builtin = @import("builtin");
3const common = @import("common.zig");
4const floatFromBigInt = @import("float_from_int.zig").floatFromBigInt;
45
56pub const panic = common.panic;
67
......@@ -8,6 +9,7 @@ comptime {
89 @export(&__floatuneixf, .{ .name = "__floatuneixf", .linkage = common.linkage, .visibility = common.visibility });
910}
1011
11pub fn __floatuneixf(a: [*]const u32, bits: usize) callconv(.c) f80 {
12 return floatFromBigInt(f80, .unsigned, a[0 .. divCeil(usize, bits, 32) catch unreachable]);
12pub fn __floatuneixf(a: [*]const u8, bits: usize) callconv(.c) f80 {
13 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
14 return floatFromBigInt(f80, .unsigned, @ptrCast(@alignCast(a[0..byte_size])));
1315}
lib/compiler_rt/int_from_float_test.zig+6-12
......@@ -1,8 +1,6 @@
11const std = @import("std");
2const builtin = @import("builtin");
32const testing = std.testing;
43const math = std.math;
5const endian = builtin.cpu.arch.endian();
64
75const __fixunshfti = @import("fixunshfti.zig").__fixunshfti;
86const __fixunsxfti = @import("fixunsxfti.zig").__fixunsxfti;
......@@ -350,14 +348,12 @@ test "fixunssfti" {
350348
351349fn test_fixsfei(comptime T: type, expected: T, a: f32) !void {
352350 const int = @typeInfo(T).int;
353 var expected_buf: [@divExact(int.bits, 32)]u32 = undefined;
354 std.mem.writeInt(T, std.mem.asBytes(&expected_buf), expected, endian);
355 var actual_buf: [@divExact(int.bits, 32)]u32 = undefined;
351 var actual: T = undefined;
356352 _ = switch (int.signedness) {
357353 .signed => __fixsfei,
358354 .unsigned => __fixunssfei,
359 }(&actual_buf, int.bits, a);
360 try testing.expect(std.mem.eql(u32, &expected_buf, &actual_buf));
355 }(@ptrCast(&actual), int.bits, a);
356 try testing.expect(expected == actual);
361357}
362358
363359test "fixsfei" {
......@@ -685,14 +681,12 @@ test "fixunsdfti" {
685681
686682fn test_fixdfei(comptime T: type, expected: T, a: f64) !void {
687683 const int = @typeInfo(T).int;
688 var expected_buf: [@divExact(int.bits, 32)]u32 = undefined;
689 std.mem.writeInt(T, std.mem.asBytes(&expected_buf), expected, endian);
690 var actual_buf: [@divExact(int.bits, 32)]u32 = undefined;
684 var actual: T = undefined;
691685 _ = switch (int.signedness) {
692686 .signed => __fixdfei,
693687 .unsigned => __fixunsdfei,
694 }(&actual_buf, int.bits, a);
695 try testing.expect(std.mem.eql(u32, &expected_buf, &actual_buf));
688 }(@ptrCast(&actual), int.bits, a);
689 try testing.expect(expected == actual);
696690}
697691
698692test "fixdfei" {
lib/compiler_rt/udivmodei4.zig+10-8
......@@ -112,19 +112,21 @@ pub fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {
112112 }
113113}
114114
115pub fn __udivei4(r_q: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize) callconv(.c) void {
115pub fn __udivei4(q_p: [*]u8, u_p: [*]const u8, v_p: [*]const u8, bits: usize) callconv(.c) void {
116116 @setRuntimeSafety(builtin.is_test);
117 const u = u_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
118 const v = v_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
119 const q = r_q[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
117 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
118 const q: []u32 = @ptrCast(@alignCast(q_p[0..byte_size]));
119 const u: []const u32 = @ptrCast(@alignCast(u_p[0..byte_size]));
120 const v: []const u32 = @ptrCast(@alignCast(v_p[0..byte_size]));
120121 @call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;
121122}
122123
123pub fn __umodei4(r_p: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize) callconv(.c) void {
124pub fn __umodei4(r_p: [*]u8, u_p: [*]const u8, v_p: [*]const u8, bits: usize) callconv(.c) void {
124125 @setRuntimeSafety(builtin.is_test);
125 const u = u_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
126 const v = v_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
127 const r = r_p[0 .. std.math.divCeil(usize, bits, 32) catch unreachable];
126 const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
127 const r: []u32 = @ptrCast(@alignCast(r_p[0..byte_size]));
128 const u: []const u32 = @ptrCast(@alignCast(u_p[0..byte_size]));
129 const v: []const u32 = @ptrCast(@alignCast(v_p[0..byte_size]));
128130 @call(.always_inline, divmod, .{ null, r, u, v }) catch unreachable;
129131}
130132
lib/std/Target.zig+63-1
......@@ -2695,7 +2695,7 @@ pub fn stackAlignment(target: Target) u16 {
26952695/// Default signedness of `char` for the native C compiler for this target
26962696/// Note that char signedness is implementation-defined and many compilers provide
26972697/// an option to override the default signedness e.g. GCC's -funsigned-char / -fsigned-char
2698pub fn charSignedness(target: Target) std.builtin.Signedness {
2698pub fn cCharSignedness(target: Target) std.builtin.Signedness {
26992699 if (target.os.tag.isDarwin() or target.os.tag == .windows or target.os.tag == .uefi) return .signed;
27002700
27012701 return switch (target.cpu.arch) {
......@@ -3273,6 +3273,68 @@ pub fn cTypePreferredAlignment(target: Target, c_type: CType) u16 {
32733273 );
32743274}
32753275
3276pub fn cMaxIntAlignment(target: std.Target) u16 {
3277 return switch (target.cpu.arch) {
3278 .avr => 1,
3279
3280 .msp430 => 2,
3281
3282 .xcore,
3283 .propeller,
3284 => 4,
3285
3286 .amdgcn,
3287 .arm,
3288 .armeb,
3289 .thumb,
3290 .thumbeb,
3291 .lanai,
3292 .hexagon,
3293 .mips,
3294 .mipsel,
3295 .powerpc,
3296 .powerpcle,
3297 .riscv32,
3298 .s390x,
3299 => 8,
3300
3301 // Even LLVMABIAlignmentOfType(i128) agrees on these targets.
3302 .aarch64,
3303 .aarch64_be,
3304 .bpfel,
3305 .bpfeb,
3306 .mips64,
3307 .mips64el,
3308 .nvptx,
3309 .nvptx64,
3310 .powerpc64,
3311 .powerpc64le,
3312 .riscv64,
3313 .sparc,
3314 .sparc64,
3315 .wasm32,
3316 .wasm64,
3317 .x86,
3318 .x86_64,
3319 => 16,
3320
3321 // Below this comment are unverified but based on the fact that C requires
3322 // int128_t to be 16 bytes aligned, it's a safe default.
3323 .arc,
3324 .csky,
3325 .kalimba,
3326 .loongarch32,
3327 .loongarch64,
3328 .m68k,
3329 .spirv,
3330 .spirv32,
3331 .spirv64,
3332 .ve,
3333 .xtensa,
3334 => 16,
3335 };
3336}
3337
32763338pub fn cCallingConvention(target: Target) ?std.builtin.CallingConvention {
32773339 return switch (target.cpu.arch) {
32783340 .x86_64 => switch (target.os.tag) {
lib/std/zig/target.zig+32
......@@ -352,6 +352,38 @@ fn eqlIgnoreCase(ignore_case: bool, a: []const u8, b: []const u8) bool {
352352 }
353353}
354354
355pub fn intByteSize(target: std.Target, bits: u16) u19 {
356 return std.mem.alignForward(u19, @intCast((@as(u17, bits) + 7) / 8), intAlignment(target, bits));
357}
358
359pub fn intAlignment(target: std.Target, bits: u16) u16 {
360 return switch (target.cpu.arch) {
361 .x86 => switch (bits) {
362 0 => 0,
363 1...8 => 1,
364 9...16 => 2,
365 17...32 => 4,
366 33...64 => switch (target.os.tag) {
367 .uefi, .windows => 8,
368 else => 4,
369 },
370 else => 16,
371 },
372 .x86_64 => switch (bits) {
373 0 => 0,
374 1...8 => 1,
375 9...16 => 2,
376 17...32 => 4,
377 33...64 => 8,
378 else => 16,
379 },
380 else => return @min(
381 std.math.ceilPowerOfTwoPromote(u16, @as(u16, @intCast((@as(u17, bits) + 7) / 8))),
382 target.cMaxIntAlignment(),
383 ),
384 };
385}
386
355387const std = @import("std");
356388const assert = std.debug.assert;
357389const Allocator = std.mem.Allocator;
src/Type.zig+10-104
......@@ -968,7 +968,7 @@ pub fn abiAlignmentInner(
968968 else => switch (ip.indexToKey(ty.toIntern())) {
969969 .int_type => |int_type| {
970970 if (int_type.bits == 0) return .{ .scalar = .@"1" };
971 return .{ .scalar = intAbiAlignment(int_type.bits, target) };
971 return .{ .scalar = .fromByteUnits(std.zig.target.intAlignment(target, int_type.bits)) };
972972 },
973973 .ptr_type, .anyframe_type => {
974974 return .{ .scalar = ptrAbiAlignment(target) };
......@@ -1021,7 +1021,7 @@ pub fn abiAlignmentInner(
10211021 .error_set_type, .inferred_error_set_type => {
10221022 const bits = zcu.errorSetBits();
10231023 if (bits == 0) return .{ .scalar = .@"1" };
1024 return .{ .scalar = intAbiAlignment(bits, target) };
1024 return .{ .scalar = .fromByteUnits(std.zig.target.intAlignment(target, bits)) };
10251025 },
10261026
10271027 // represents machine code; not a pointer
......@@ -1034,7 +1034,7 @@ pub fn abiAlignmentInner(
10341034
10351035 .usize,
10361036 .isize,
1037 => return .{ .scalar = intAbiAlignment(target.ptrBitWidth(), target) },
1037 => return .{ .scalar = .fromByteUnits(std.zig.target.intAlignment(target, target.ptrBitWidth())) },
10381038
10391039 .c_char => return .{ .scalar = cTypeAlign(target, .char) },
10401040 .c_short => return .{ .scalar = cTypeAlign(target, .short) },
......@@ -1065,7 +1065,7 @@ pub fn abiAlignmentInner(
10651065 .anyerror, .adhoc_inferred_error_set => {
10661066 const bits = zcu.errorSetBits();
10671067 if (bits == 0) return .{ .scalar = .@"1" };
1068 return .{ .scalar = intAbiAlignment(bits, target) };
1068 return .{ .scalar = .fromByteUnits(std.zig.target.intAlignment(target, bits)) };
10691069 },
10701070
10711071 .void,
......@@ -1297,7 +1297,7 @@ pub fn abiSizeInner(
12971297 else => switch (ip.indexToKey(ty.toIntern())) {
12981298 .int_type => |int_type| {
12991299 if (int_type.bits == 0) return .{ .scalar = 0 };
1300 return .{ .scalar = intAbiSize(int_type.bits, target) };
1300 return .{ .scalar = std.zig.target.intByteSize(target, int_type.bits) };
13011301 },
13021302 .ptr_type => |ptr_type| switch (ptr_type.flags.size) {
13031303 .slice => return .{ .scalar = @divExact(target.ptrBitWidth(), 8) * 2 },
......@@ -1359,7 +1359,7 @@ pub fn abiSizeInner(
13591359 .error_set_type, .inferred_error_set_type => {
13601360 const bits = zcu.errorSetBits();
13611361 if (bits == 0) return .{ .scalar = 0 };
1362 return .{ .scalar = intAbiSize(bits, target) };
1362 return .{ .scalar = std.zig.target.intByteSize(target, bits) };
13631363 },
13641364
13651365 .error_union_type => |error_union_type| {
......@@ -1452,7 +1452,7 @@ pub fn abiSizeInner(
14521452 .anyerror, .adhoc_inferred_error_set => {
14531453 const bits = zcu.errorSetBits();
14541454 if (bits == 0) return .{ .scalar = 0 };
1455 return .{ .scalar = intAbiSize(bits, target) };
1455 return .{ .scalar = std.zig.target.intByteSize(target, bits) };
14561456 },
14571457
14581458 .noreturn => unreachable,
......@@ -1606,100 +1606,6 @@ pub fn ptrAbiAlignment(target: Target) Alignment {
16061606 return Alignment.fromNonzeroByteUnits(@divExact(target.ptrBitWidth(), 8));
16071607}
16081608
1609pub fn intAbiSize(bits: u16, target: Target) u64 {
1610 return intAbiAlignment(bits, target).forward(@as(u16, @intCast((@as(u17, bits) + 7) / 8)));
1611}
1612
1613pub fn intAbiAlignment(bits: u16, target: Target) Alignment {
1614 return switch (target.cpu.arch) {
1615 .x86 => switch (bits) {
1616 0 => .none,
1617 1...8 => .@"1",
1618 9...16 => .@"2",
1619 17...32 => .@"4",
1620 33...64 => switch (target.os.tag) {
1621 .uefi, .windows => .@"8",
1622 else => .@"4",
1623 },
1624 else => .@"16",
1625 },
1626 .x86_64 => switch (bits) {
1627 0 => .none,
1628 1...8 => .@"1",
1629 9...16 => .@"2",
1630 17...32 => .@"4",
1631 33...64 => .@"8",
1632 else => .@"16",
1633 },
1634 else => return Alignment.fromByteUnits(@min(
1635 std.math.ceilPowerOfTwoPromote(u16, @as(u16, @intCast((@as(u17, bits) + 7) / 8))),
1636 maxIntAlignment(target),
1637 )),
1638 };
1639}
1640
1641pub fn maxIntAlignment(target: std.Target) u16 {
1642 return switch (target.cpu.arch) {
1643 .avr => 1,
1644
1645 .msp430 => 2,
1646
1647 .xcore,
1648 .propeller,
1649 => 4,
1650
1651 .amdgcn,
1652 .arm,
1653 .armeb,
1654 .thumb,
1655 .thumbeb,
1656 .lanai,
1657 .hexagon,
1658 .mips,
1659 .mipsel,
1660 .powerpc,
1661 .powerpcle,
1662 .riscv32,
1663 .s390x,
1664 => 8,
1665
1666 // Even LLVMABIAlignmentOfType(i128) agrees on these targets.
1667 .aarch64,
1668 .aarch64_be,
1669 .bpfel,
1670 .bpfeb,
1671 .mips64,
1672 .mips64el,
1673 .nvptx,
1674 .nvptx64,
1675 .powerpc64,
1676 .powerpc64le,
1677 .riscv64,
1678 .sparc,
1679 .sparc64,
1680 .wasm32,
1681 .wasm64,
1682 .x86,
1683 .x86_64,
1684 => 16,
1685
1686 // Below this comment are unverified but based on the fact that C requires
1687 // int128_t to be 16 bytes aligned, it's a safe default.
1688 .arc,
1689 .csky,
1690 .kalimba,
1691 .loongarch32,
1692 .loongarch64,
1693 .m68k,
1694 .spirv,
1695 .spirv32,
1696 .spirv64,
1697 .ve,
1698 .xtensa,
1699 => 16,
1700 };
1701}
1702
17031609pub fn bitSize(ty: Type, zcu: *const Zcu) u64 {
17041610 return bitSizeInner(ty, .normal, zcu, {}) catch unreachable;
17051611}
......@@ -2331,7 +2237,7 @@ pub fn isInt(self: Type, zcu: *const Zcu) bool {
23312237/// Returns true if and only if the type is a fixed-width, signed integer.
23322238pub fn isSignedInt(ty: Type, zcu: *const Zcu) bool {
23332239 return switch (ty.toIntern()) {
2334 .c_char_type => zcu.getTarget().charSignedness() == .signed,
2240 .c_char_type => zcu.getTarget().cCharSignedness() == .signed,
23352241 .isize_type, .c_short_type, .c_int_type, .c_long_type, .c_longlong_type => true,
23362242 else => switch (zcu.intern_pool.indexToKey(ty.toIntern())) {
23372243 .int_type => |int_type| int_type.signedness == .signed,
......@@ -2343,7 +2249,7 @@ pub fn isSignedInt(ty: Type, zcu: *const Zcu) bool {
23432249/// Returns true if and only if the type is a fixed-width, unsigned integer.
23442250pub fn isUnsignedInt(ty: Type, zcu: *const Zcu) bool {
23452251 return switch (ty.toIntern()) {
2346 .c_char_type => zcu.getTarget().charSignedness() == .unsigned,
2252 .c_char_type => zcu.getTarget().cCharSignedness() == .unsigned,
23472253 .usize_type, .c_ushort_type, .c_uint_type, .c_ulong_type, .c_ulonglong_type => true,
23482254 else => switch (zcu.intern_pool.indexToKey(ty.toIntern())) {
23492255 .int_type => |int_type| int_type.signedness == .unsigned,
......@@ -2374,7 +2280,7 @@ pub fn intInfo(starting_ty: Type, zcu: *const Zcu) InternPool.Key.IntType {
23742280 },
23752281 .usize_type => return .{ .signedness = .unsigned, .bits = target.ptrBitWidth() },
23762282 .isize_type => return .{ .signedness = .signed, .bits = target.ptrBitWidth() },
2377 .c_char_type => return .{ .signedness = zcu.getTarget().charSignedness(), .bits = target.cTypeBitSize(.char) },
2283 .c_char_type => return .{ .signedness = zcu.getTarget().cCharSignedness(), .bits = target.cTypeBitSize(.char) },
23782284 .c_short_type => return .{ .signedness = .signed, .bits = target.cTypeBitSize(.short) },
23792285 .c_ushort_type => return .{ .signedness = .unsigned, .bits = target.cTypeBitSize(.ushort) },
23802286 .c_int_type => return .{ .signedness = .signed, .bits = target.cTypeBitSize(.int) },
src/arch/x86_64/CodeGen.zig+83-85
......@@ -15995,7 +15995,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1599515995 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
1599615996 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
1599715997 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
15998 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
15998 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
1599915999 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
1600016000 } },
1600116001 }, .{
......@@ -16028,7 +16028,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1602816028 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
1602916029 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
1603016030 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
16031 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
16031 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
1603216032 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
1603316033 } },
1603416034 }, .{
......@@ -16468,7 +16468,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1646816468 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
1646916469 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
1647016470 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
16471 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
16471 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_bit_size), ._, ._ },
1647216472 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
1647316473 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
1647416474 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -16504,7 +16504,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1650416504 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
1650516505 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
1650616506 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
16507 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
16507 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_bit_size), ._, ._ },
1650816508 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
1650916509 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
1651016510 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -72598,7 +72598,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7259872598 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7259972599 .{ .@"0:", .v_ps, .xor, .tmp4x, .tmp4x, .tmp4x, ._ },
7260072600 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
72601 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
72601 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7260272602 .{ ._, .vp_w, .insr, .tmp4x, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
7260372603 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7260472604 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -72633,7 +72633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7263372633 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7263472634 .{ .@"0:", .v_ps, .xor, .tmp4x, .tmp4x, .tmp4x, ._ },
7263572635 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
72636 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
72636 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7263772637 .{ ._, .vp_w, .insr, .tmp4x, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) },
7263872638 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7263972639 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -72668,7 +72668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7266872668 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7266972669 .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ },
7267072670 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
72671 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
72671 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7267272672 .{ ._, .p_w, .insr, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
7267372673 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7267472674 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -72703,7 +72703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7270372703 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7270472704 .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ },
7270572705 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
72706 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
72706 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7270772707 .{ ._, .p_w, .insr, .tmp4x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ },
7270872708 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7270972709 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -72739,7 +72739,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7273972739 .{ .@"0:", ._, .movzx, .tmp3d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
7274072740 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
7274172741 .{ ._, ._, .mov, .tmp4d, .tmp3d, ._, ._ },
72742 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
72742 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7274372743 .{ ._, ._ss, .mov, .tmp5x, .tmp4d, ._, ._ },
7274472744 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7274572745 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -72775,7 +72775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7277572775 .{ .@"0:", ._, .movzx, .tmp3d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ },
7277672776 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
7277772777 .{ ._, ._, .mov, .tmp4d, .tmp3d, ._, ._ },
72778 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
72778 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7277972779 .{ ._, ._ss, .mov, .tmp5x, .tmp4d, ._, ._ },
7278072780 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7278172781 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -74166,7 +74166,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7416674166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7416774167 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7416874168 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
74169 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
74169 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7417074170 .{ ._, .v_ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
7417174171 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7417274172 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -74200,7 +74200,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7420074200 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7420174201 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7420274202 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
74203 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
74203 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7420474204 .{ ._, .v_ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
7420574205 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7420674206 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -74234,7 +74234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7423474234 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7423574235 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7423674236 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
74237 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
74237 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7423874238 .{ ._, ._ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
7423974239 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7424074240 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -74268,7 +74268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7426874268 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7426974269 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7427074270 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
74271 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
74271 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7427274272 .{ ._, ._ss, .mov, .tmp4x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ },
7427374273 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7427474274 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -74626,7 +74626,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7462674626 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7462774627 .each = .{ .once = &.{
7462874628 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
74629 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
74629 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7463074630 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
7463174631 } },
7463274632 }, .{
......@@ -74654,7 +74654,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7465474654 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7465574655 .each = .{ .once = &.{
7465674656 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
74657 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
74657 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7465874658 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
7465974659 } },
7466074660 }, .{
......@@ -76322,7 +76322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7632276322 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7632376323 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7632476324 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
76325 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
76325 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7632676326 .{ ._, .v_sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
7632776327 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7632876328 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -76356,7 +76356,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7635676356 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7635776357 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7635876358 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
76359 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
76359 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7636076360 .{ ._, .v_sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
7636176361 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7636276362 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -76390,7 +76390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7639076390 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7639176391 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7639276392 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
76393 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
76393 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7639476394 .{ ._, ._sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
7639576395 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7639676396 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -76424,7 +76424,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7642476424 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7642576425 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7642676426 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
76427 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
76427 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7642876428 .{ ._, ._sd, .mov, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
7642976429 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7643076430 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -76459,7 +76459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7645976459 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7646076460 .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ },
7646176461 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
76462 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
76462 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7646376463 .{ ._, ._ps, .movl, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
7646476464 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7646576465 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -76494,7 +76494,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7649476494 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7649576495 .{ .@"0:", ._ps, .xor, .tmp4x, .tmp4x, ._, ._ },
7649676496 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
76497 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
76497 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7649876498 .{ ._, ._ps, .movl, .tmp4x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ },
7649976499 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7650076500 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -77437,7 +77437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7743777437 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7743877438 .each = .{ .once = &.{
7743977439 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
77440 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
77440 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7744177441 .{ ._, .v_dqa, .mov, .tmp2x, .src0x, ._, ._ },
7744277442 .{ ._, .v_dqa, .mov, .tmp3x, .tmp2x, ._, ._ },
7744377443 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
......@@ -77467,7 +77467,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7746777467 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7746877468 .each = .{ .once = &.{
7746977469 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
77470 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
77470 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7747177471 .{ ._, .v_dqa, .mov, .tmp2x, .src0x, ._, ._ },
7747277472 .{ ._, .v_dqa, .mov, .tmp3x, .tmp2x, ._, ._ },
7747377473 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
......@@ -77497,7 +77497,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7749777497 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7749877498 .each = .{ .once = &.{
7749977499 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
77500 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
77500 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7750177501 .{ ._, ._dqa, .mov, .tmp2x, .src0x, ._, ._ },
7750277502 .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },
7750377503 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
......@@ -77527,7 +77527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7752777527 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7752877528 .each = .{ .once = &.{
7752977529 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
77530 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
77530 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7753177531 .{ ._, ._dqa, .mov, .tmp2x, .src0x, ._, ._ },
7753277532 .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },
7753377533 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
......@@ -77557,7 +77557,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7755777557 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7755877558 .each = .{ .once = &.{
7755977559 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
77560 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
77560 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7756177561 .{ ._, ._ps, .mova, .tmp2x, .src0x, ._, ._ },
7756277562 .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ },
7756377563 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
......@@ -77587,7 +77587,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7758777587 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7758877588 .each = .{ .once = &.{
7758977589 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
77590 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
77590 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7759177591 .{ ._, ._ps, .mova, .tmp2x, .src0x, ._, ._ },
7759277592 .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ },
7759377593 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
......@@ -77620,7 +77620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7762077620 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7762177621 .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7762277622 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
77623 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
77623 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7762477624 .{ ._, .v_dqa, .mov, .tmp5x, .tmp4x, ._, ._ },
7762577625 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7762677626 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -77655,7 +77655,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7765577655 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7765677656 .{ .@"0:", .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7765777657 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
77658 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
77658 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7765977659 .{ ._, .v_dqa, .mov, .tmp5x, .tmp4x, ._, ._ },
7766077660 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7766177661 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -77690,7 +77690,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7769077690 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7769177691 .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7769277692 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
77693 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
77693 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7769477694 .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ },
7769577695 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7769677696 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -77725,7 +77725,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7772577725 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7772677726 .{ .@"0:", ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7772777727 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
77728 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
77728 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7772977729 .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ },
7773077730 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7773177731 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -77760,7 +77760,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7776077760 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7776177761 .{ .@"0:", ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7776277762 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
77763 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
77763 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7776477764 .{ ._, ._ps, .mova, .tmp5x, .tmp4x, ._, ._ },
7776577765 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7776677766 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -77795,7 +77795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7779577795 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7779677796 .{ .@"0:", ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7779777797 .{ ._, ._, .mov, .tmp2p, .tmp1p, ._, ._ },
77798 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
77798 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7779977799 .{ ._, ._ps, .mova, .tmp5x, .tmp4x, ._, ._ },
7780077800 .{ ._, ._, .call, .tmp6d, ._, ._, ._ },
7780177801 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -78838,7 +78838,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7883878838 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7883978839 .each = .{ .once = &.{
7884078840 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
78841 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
78841 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7884278842 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
7884378843 } },
7884478844 }, .{
......@@ -78866,7 +78866,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7886678866 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7886778867 .each = .{ .once = &.{
7886878868 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
78869 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_8_size), ._, ._ },
78869 .{ ._, ._, .mov, .tmp1d, .sa(.dst0, .add_bit_size), ._, ._ },
7887078870 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
7887178871 } },
7887278872 }, .{
......@@ -78896,7 +78896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7889678896 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7889778897 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7889878898 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
78899 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
78899 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7890078900 .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7890178901 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7890278902 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -78930,7 +78930,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7893078930 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7893178931 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7893278932 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
78933 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
78933 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7893478934 .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7893578935 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7893678936 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -78964,7 +78964,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7896478964 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7896578965 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7896678966 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
78967 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
78967 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7896878968 .{ ._, ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7896978969 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7897078970 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -78998,7 +78998,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7899878998 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7899978999 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7900079000 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
79001 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
79001 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7900279002 .{ ._, ._dqa, .mov, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7900379003 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7900479004 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -79032,7 +79032,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7903279032 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7903379033 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7903479034 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
79035 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
79035 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7903679036 .{ ._, ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7903779037 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7903879038 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -79066,7 +79066,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7906679066 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ },
7906779067 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
7906879068 .{ .@"0:", ._, .mov, .tmp2p, .tmp1p, ._, ._ },
79069 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_8_elem_size), ._, ._ },
79069 .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_bit_size), ._, ._ },
7907079070 .{ ._, ._ps, .mova, .tmp4x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ },
7907179071 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
7907279072 .{ ._, ._, .lea, .tmp1p, .leaa(.tmp1, .add_dst0_elem_size), ._, ._ },
......@@ -79581,7 +79581,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7958179581 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7958279582 .each = .{ .once = &.{
7958379583 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
79584 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
79584 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
7958579585 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
7958679586 } },
7958779587 }, .{
......@@ -79609,7 +79609,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
7960979609 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
7961079610 .each = .{ .once = &.{
7961179611 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
79612 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
79612 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
7961379613 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
7961479614 } },
7961579615 }, .{
......@@ -81638,7 +81638,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8163881638 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8163981639 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8164081640 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81641 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81641 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8164281642 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8164381643 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ },
8164481644 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -81672,7 +81672,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8167281672 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8167381673 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8167481674 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81675 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81675 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8167681676 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8167781677 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ },
8167881678 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -81706,7 +81706,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8170681706 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8170781707 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8170881708 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81709 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81709 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8171081710 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8171181711 .{ ._, .p_w, .extr, .tmp2d, .tmp5x, .ui(0), ._ },
8171281712 .{ ._, ._, .mov, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp2w, ._, ._ },
......@@ -81741,7 +81741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8174181741 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8174281742 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8174381743 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81744 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81744 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8174581745 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8174681746 .{ ._, ._ss, .mov, .tmp6d, .tmp5d, ._, ._ },
8174781747 .{ ._, ._, .mov, .tmp2d, .tmp6d, ._, ._ },
......@@ -81777,7 +81777,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8177781777 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8177881778 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8177981779 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81780 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81780 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8178181781 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8178281782 .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ },
8178381783 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -81811,7 +81811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8181181811 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8181281812 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8181381813 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81814 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81814 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8181581815 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8181681816 .{ ._, .p_w, .extr, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp5x, .ui(0), ._ },
8181781817 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -81845,7 +81845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8184581845 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8184681846 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8184781847 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81848 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81848 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8184981849 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8185081850 .{ ._, .p_w, .extr, .tmp2d, .tmp5x, .ui(0), ._ },
8185181851 .{ ._, ._, .mov, .memia(.dst0w, .tmp1, .add_unaligned_size), .tmp2w, ._, ._ },
......@@ -81880,7 +81880,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8188081880 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8188181881 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8188281882 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
81883 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
81883 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8188481884 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8188581885 .{ ._, ._ss, .mov, .tmp6d, .tmp5d, ._, ._ },
8188681886 .{ ._, ._, .mov, .tmp2d, .tmp6d, ._, ._ },
......@@ -82358,7 +82358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8235882358 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8235982359 .each = .{ .once = &.{
8236082360 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
82361 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
82361 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8236282362 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8236382363 } },
8236482364 }, .{
......@@ -82386,7 +82386,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8238682386 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8238782387 .each = .{ .once = &.{
8238882388 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
82389 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
82389 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8239082390 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8239182391 } },
8239282392 }, .{
......@@ -83892,7 +83892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8389283892 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8389383893 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8389483894 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
83895 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
83895 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8389683896 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8389783897 .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8389883898 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -83926,7 +83926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8392683926 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8392783927 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8392883928 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
83929 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
83929 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8393083930 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8393183931 .{ ._, ._ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8393283932 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -83960,7 +83960,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8396083960 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8396183961 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8396283962 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
83963 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
83963 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8396483964 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8396583965 .{ ._, .v_ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8396683966 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -83994,7 +83994,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8399483994 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8399583995 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8399683996 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
83997 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
83997 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8399883998 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8399983999 .{ ._, ._ss, .mov, .memia(.dst0d, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8400084000 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -84688,7 +84688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8468884688 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8468984689 .each = .{ .once = &.{
8469084690 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
84691 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
84691 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8469284692 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8469384693 } },
8469484694 }, .{
......@@ -84716,7 +84716,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8471684716 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8471784717 .each = .{ .once = &.{
8471884718 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
84719 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
84719 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8472084720 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8472184721 } },
8472284722 }, .{
......@@ -86579,7 +86579,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8657986579 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8658086580 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8658186581 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
86582 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
86582 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8658386583 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8658486584 .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8658586585 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -86613,7 +86613,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8661386613 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8661486614 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8661586615 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
86616 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
86616 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8661786617 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8661886618 .{ ._, ._sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8661986619 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -86647,7 +86647,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8664786647 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8664886648 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8664986649 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
86650 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
86650 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8665186651 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8665286652 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8665386653 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -86681,7 +86681,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8668186681 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8668286682 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8668386683 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
86684 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
86684 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8668586685 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8668686686 .{ ._, .v_sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8668786687 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -86715,7 +86715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8671586715 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8671686716 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8671786717 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
86718 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
86718 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8671986719 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8672086720 .{ ._, ._sd, .mov, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8672186721 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -86749,7 +86749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8674986749 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8675086750 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8675186751 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
86752 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
86752 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8675386753 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8675486754 .{ ._, ._ps, .movl, .memia(.dst0q, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8675586755 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -87050,7 +87050,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8705087050 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8705187051 .each = .{ .once = &.{
8705287052 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
87053 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
87053 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8705487054 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8705587055 } },
8705687056 }, .{
......@@ -87078,7 +87078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8707887078 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8707987079 .each = .{ .once = &.{
8708087080 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
87081 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
87081 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8708287082 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8708387083 } },
8708487084 }, .{
......@@ -87721,7 +87721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8772187721 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8772287722 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8772387723 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
87724 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
87724 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8772587725 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8772687726 .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ },
8772787727 .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ },
......@@ -87756,7 +87756,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8775687756 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8775787757 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8775887758 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
87759 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
87759 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8776087760 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8776187761 .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ },
8776287762 .{ ._, .f_p, .st, .memia(.dst0t, .tmp1, .add_unaligned_size), ._, ._, ._ },
......@@ -88057,7 +88057,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8805788057 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8805888058 .each = .{ .once = &.{
8805988059 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
88060 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
88060 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8806188061 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8806288062 } },
8806388063 }, .{
......@@ -88085,7 +88085,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8808588085 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
8808688086 .each = .{ .once = &.{
8808788087 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
88088 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_8_size), ._, ._ },
88088 .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_bit_size), ._, ._ },
8808988089 .{ ._, ._, .call, .tmp2d, ._, ._, ._ },
8809088090 } },
8809188091 }, .{
......@@ -89261,7 +89261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8926189261 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8926289262 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8926389263 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
89264 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
89264 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8926589265 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8926689266 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8926789267 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -89295,7 +89295,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8929589295 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8929689296 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8929789297 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
89298 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
89298 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8929989299 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8930089300 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8930189301 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -89329,7 +89329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8932989329 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8933089330 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8933189331 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
89332 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
89332 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8933389333 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8933489334 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8933589335 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -89363,7 +89363,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8936389363 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8936489364 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8936589365 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
89366 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
89366 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8936789367 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8936889368 .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8936989369 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -89397,7 +89397,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8939789397 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8939889398 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8939989399 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
89400 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
89400 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8940189401 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8940289402 .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8940389403 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -89431,7 +89431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8943189431 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
8943289432 .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ },
8943389433 .{ .@"0:", ._, .mov, .tmp2p, .tmp0p, ._, ._ },
89434 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_elem_size), ._, ._ },
89434 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
8943589435 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
8943689436 .{ ._, ._ps, .mova, .memia(.dst0x, .tmp1, .add_unaligned_size), .tmp5x, ._, ._ },
8943789437 .{ ._, ._, .lea, .tmp0p, .leaa(.tmp0, .add_src0_elem_size), ._, ._ },
......@@ -109873,7 +109873,7 @@ fn intInfo(cg: *CodeGen, ty: Type) ?std.builtin.Type.Int {
109873109873 .anyerror => .{ .signedness = .unsigned, .bits = zcu.errorSetBits() },
109874109874 .isize => .{ .signedness = .signed, .bits = cg.target.ptrBitWidth() },
109875109875 .usize => .{ .signedness = .unsigned, .bits = cg.target.ptrBitWidth() },
109876 .c_char => .{ .signedness = cg.target.charSignedness(), .bits = cg.target.cTypeBitSize(.char) },
109876 .c_char => .{ .signedness = cg.target.cCharSignedness(), .bits = cg.target.cTypeBitSize(.char) },
109877109877 .c_short => .{ .signedness = .signed, .bits = cg.target.cTypeBitSize(.short) },
109878109878 .c_ushort => .{ .signedness = .unsigned, .bits = cg.target.cTypeBitSize(.short) },
109879109879 .c_int => .{ .signedness = .signed, .bits = cg.target.cTypeBitSize(.int) },
......@@ -114554,7 +114554,7 @@ const Temp = struct {
114554114554 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
114555114555 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
114556114556 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
114557 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
114557 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
114558114558 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
114559114559 } },
114560114560 }, .{
......@@ -114587,7 +114587,7 @@ const Temp = struct {
114587114587 .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ },
114588114588 .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ },
114589114589 .{ ._, ._, .lea, .tmp2p, .mem(.src1), ._, ._ },
114590 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_8_size), ._, ._ },
114590 .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_bit_size), ._, ._ },
114591114591 .{ ._, ._, .call, .tmp4d, ._, ._, ._ },
114592114592 } },
114593114593 }, .{
......@@ -115027,7 +115027,7 @@ const Temp = struct {
115027115027 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
115028115028 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
115029115029 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
115030 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
115030 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_bit_size), ._, ._ },
115031115031 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
115032115032 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
115033115033 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -115063,7 +115063,7 @@ const Temp = struct {
115063115063 .{ .@"0:", ._, .lea, .tmp1p, .memia(.dst0, .tmp0, .add_unaligned_size), ._, ._ },
115064115064 .{ ._, ._, .lea, .tmp2p, .memia(.src0, .tmp0, .add_unaligned_size), ._, ._ },
115065115065 .{ ._, ._, .lea, .tmp3p, .memia(.src1, .tmp0, .add_unaligned_size), ._, ._ },
115066 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_8_elem_size), ._, ._ },
115066 .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_bit_size), ._, ._ },
115067115067 .{ ._, ._, .call, .tmp5d, ._, ._, ._ },
115068115068 .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ },
115069115069 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
......@@ -116414,7 +116414,6 @@ const Select = struct {
116414116414 const none: Adjust = .{ .sign = .pos, .lhs = .none, .op = .mul, .rhs = .@"1" };
116415116415 const sub_ptr_size: Adjust = .{ .sign = .neg, .lhs = .ptr_size, .op = .mul, .rhs = .@"1" };
116416116416 const add_ptr_bit_size: Adjust = .{ .sign = .pos, .lhs = .ptr_bit_size, .op = .mul, .rhs = .@"1" };
116417 const add_8_size: Adjust = .{ .sign = .pos, .lhs = .size, .op = .mul, .rhs = .@"8" };
116418116417 const add_size: Adjust = .{ .sign = .pos, .lhs = .size, .op = .mul, .rhs = .@"1" };
116419116418 const add_size_div_4: Adjust = .{ .sign = .pos, .lhs = .size, .op = .div, .rhs = .@"4" };
116420116419 const add_size_div_8: Adjust = .{ .sign = .pos, .lhs = .size, .op = .div, .rhs = .@"8" };
......@@ -116446,7 +116445,6 @@ const Select = struct {
116446116445 const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" };
116447116446 const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" };
116448116447 const sub_len: Adjust = .{ .sign = .neg, .lhs = .len, .op = .mul, .rhs = .@"1" };
116449 const add_8_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"8" };
116450116448 const add_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"1" };
116451116449 const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
116452116450 const sub_elem_size_div_8: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"8" };
src/codegen/c/Type.zig+7-8
......@@ -78,7 +78,7 @@ pub fn isInteger(ctype: CType) bool {
7878
7979pub fn signedness(ctype: CType, mod: *Module) std.builtin.Signedness {
8080 return switch (ctype.index) {
81 .char => mod.resolved_target.result.charSignedness(),
81 .char => mod.resolved_target.result.cCharSignedness(),
8282 .@"signed char",
8383 .short,
8484 .int,
......@@ -1319,10 +1319,9 @@ pub const Pool = struct {
13191319 },
13201320 else => {
13211321 const target = &mod.resolved_target.result;
1322 const abi_align = Type.intAbiAlignment(int_info.bits, target.*);
1323 const abi_align_bytes = abi_align.toByteUnits().?;
1322 const abi_align_bytes = std.zig.target.intAlignment(target.*, int_info.bits);
13241323 const array_ctype = try pool.getArray(allocator, .{
1325 .len = @divExact(Type.intAbiSize(int_info.bits, target.*), abi_align_bytes),
1324 .len = @divExact(std.zig.target.intByteSize(target.*, int_info.bits), abi_align_bytes),
13261325 .elem_ctype = try pool.fromIntInfo(allocator, .{
13271326 .signedness = .unsigned,
13281327 .bits = @intCast(abi_align_bytes * 8),
......@@ -1333,7 +1332,7 @@ pub const Pool = struct {
13331332 .{
13341333 .name = .{ .index = .array },
13351334 .ctype = array_ctype,
1336 .alignas = AlignAs.fromAbiAlignment(abi_align),
1335 .alignas = AlignAs.fromAbiAlignment(.fromByteUnits(abi_align_bytes)),
13371336 },
13381337 };
13391338 return pool.fromFields(allocator, .@"struct", &fields, kind);
......@@ -1437,7 +1436,7 @@ pub const Pool = struct {
14371436 .name = .{ .index = .len },
14381437 .ctype = .usize,
14391438 .alignas = AlignAs.fromAbiAlignment(
1440 Type.intAbiAlignment(target.ptrBitWidth(), target.*),
1439 .fromByteUnits(std.zig.target.intAlignment(target.*, target.ptrBitWidth())),
14411440 ),
14421441 },
14431442 };
......@@ -1937,7 +1936,7 @@ pub const Pool = struct {
19371936 .name = .{ .index = .len },
19381937 .ctype = .usize,
19391938 .alignas = AlignAs.fromAbiAlignment(
1940 Type.intAbiAlignment(target.ptrBitWidth(), target.*),
1939 .fromByteUnits(std.zig.target.intAlignment(target.*, target.ptrBitWidth())),
19411940 ),
19421941 },
19431942 };
......@@ -2057,7 +2056,7 @@ pub const Pool = struct {
20572056 .name = .{ .index = .@"error" },
20582057 .ctype = error_set_ctype,
20592058 .alignas = AlignAs.fromAbiAlignment(
2060 Type.intAbiAlignment(error_set_bits, target.*),
2059 .fromByteUnits(std.zig.target.intAlignment(target.*, error_set_bits)),
20612060 ),
20622061 },
20632062 .{
src/link/C.zig+1-1
......@@ -396,7 +396,7 @@ fn abiDefines(self: *C, target: std.Target) !std.ArrayList(u8) {
396396 else => {},
397397 }
398398 try writer.print("#define ZIG_TARGET_MAX_INT_ALIGNMENT {d}\n", .{
399 Type.maxIntAlignment(target),
399 target.cMaxIntAlignment(),
400400 });
401401 return defines;
402402}