x86_64: implement fallback for pcmpeqq
This commit is contained in:
@@ -1312,10 +1312,10 @@ pub const Pool = struct {
|
||||
},
|
||||
else => {
|
||||
const target = &mod.resolved_target.result;
|
||||
const abi_align = Type.intAbiAlignment(int_info.bits, target.*, false);
|
||||
const abi_align = Type.intAbiAlignment(int_info.bits, target.*);
|
||||
const abi_align_bytes = abi_align.toByteUnits().?;
|
||||
const array_ctype = try pool.getArray(allocator, .{
|
||||
.len = @divExact(Type.intAbiSize(int_info.bits, target.*, false), abi_align_bytes),
|
||||
.len = @divExact(Type.intAbiSize(int_info.bits, target.*), abi_align_bytes),
|
||||
.elem_ctype = try pool.fromIntInfo(allocator, .{
|
||||
.signedness = .unsigned,
|
||||
.bits = @intCast(abi_align_bytes * 8),
|
||||
@@ -1429,7 +1429,7 @@ pub const Pool = struct {
|
||||
.name = .{ .index = .len },
|
||||
.ctype = CType.usize,
|
||||
.alignas = AlignAs.fromAbiAlignment(
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*, false),
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*),
|
||||
),
|
||||
},
|
||||
};
|
||||
@@ -1524,7 +1524,7 @@ pub const Pool = struct {
|
||||
.name = .{ .index = .len },
|
||||
.ctype = CType.usize,
|
||||
.alignas = AlignAs.fromAbiAlignment(
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*, false),
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*),
|
||||
),
|
||||
},
|
||||
};
|
||||
@@ -1644,7 +1644,7 @@ pub const Pool = struct {
|
||||
.name = .{ .index = .@"error" },
|
||||
.ctype = error_set_ctype,
|
||||
.alignas = AlignAs.fromAbiAlignment(
|
||||
Type.intAbiAlignment(error_set_bits, target.*, false),
|
||||
Type.intAbiAlignment(error_set_bits, target.*),
|
||||
),
|
||||
},
|
||||
.{
|
||||
|
||||
@@ -581,7 +581,7 @@ const DataLayoutBuilder = struct {
|
||||
switch (kind) {
|
||||
.integer => {
|
||||
if (self.target.ptrBitWidth() <= 16 and size >= 128) return;
|
||||
abi = @min(abi, Type.maxIntAlignment(self.target, true) * 8);
|
||||
abi = @min(abi, Type.maxIntAlignment(self.target) * 8);
|
||||
switch (self.target.cpu.arch) {
|
||||
.aarch64,
|
||||
.aarch64_be,
|
||||
|
||||
Reference in New Issue
Block a user