x86_64: implement enough to pass unicode tests

* implement vector comparison
 * implement reduce for bool vectors
 * fix `@memcpy` bug
 * enable passing std tests
This commit is contained in:
Jacob Young
2023-10-21 19:30:45 -04:00
parent 794dc694b1
commit fe93332ba2
45 changed files with 575 additions and 526 deletions

View File

@@ -583,8 +583,6 @@ pub fn MultiArrayList(comptime T: type) type {
}
test "basic usage" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
const ally = testing.allocator;
const Foo = struct {
@@ -679,8 +677,6 @@ test "basic usage" {
// This was observed to fail on aarch64 with LLVM 11, when the capacityInBytes
// function used the @reduce code path.
test "regression test for @reduce bug" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
const ally = testing.allocator;
var list = MultiArrayList(struct {
tag: std.zig.Token.Tag,
@@ -758,8 +754,6 @@ test "regression test for @reduce bug" {
}
test "ensure capacity on empty list" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
const ally = testing.allocator;
const Foo = struct {
@@ -795,8 +789,6 @@ test "ensure capacity on empty list" {
}
test "insert elements" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
const ally = testing.allocator;
const Foo = struct {
@@ -816,8 +808,6 @@ test "insert elements" {
}
test "union" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
const ally = testing.allocator;
const Foo = union(enum) {
@@ -873,8 +863,6 @@ test "union" {
}
test "sorting a span" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
var list: MultiArrayList(struct { score: u32, chr: u8 }) = .{};
defer list.deinit(testing.allocator);
@@ -915,8 +903,6 @@ test "sorting a span" {
}
test "0 sized struct field" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
const ally = testing.allocator;
const Foo = struct {
@@ -944,8 +930,6 @@ test "0 sized struct field" {
}
test "0 sized struct" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
const ally = testing.allocator;
const Foo = struct {