aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/vector.zig
AgeCommit message (Collapse)Author
2023-10-01behavior: cleanup floatop testsJacob Young
2023-09-23spirv: enable passing testsRobin Voetter
2023-08-10Sema: fix coerceArrayLike() for vectors with paddingXavier Bouchoux
as explainded at https://llvm.org/docs/LangRef.html#vector-type : "In general vector elements are laid out in memory in the same way as array types. Such an analogy works fine as long as the vector elements are byte sized. However, when the elements of the vector aren’t byte sized it gets a bit more complicated. One way to describe the layout is by describing what happens when a vector such as <N x iM> is bitcasted to an integer type with N*M bits, and then following the rules for storing such an integer to memory." "When <N*M> isn’t evenly divisible by the byte size the exact memory layout is unspecified (just like it is for an integral type of the same size)."
2023-07-31std: finish cleanup up asmJacob Young
This also required implementing the necessary syntax in the x86_64 backend.
2023-07-31cbe: get behavior tests running on armJacob Young
Specifically without linking libc.
2023-07-29add behavior test for vector bitcast at comptimeEvan Haas
closes #8184
2023-07-25codegen/llvm: fix memset with vectors smaller than one byteXavier Bouchoux
The special case to take advantage of llvm's intrinsic was generating invalid llvm ir: ``` Invalid bitcast %60 = bitcast <2 x i2> %59 to i8, !dbg !3122 thread 145453 panic: LLVM module verification failed ```
2023-07-12Update tests to new splat syntaxantlilja
2023-06-27behavior: boolean vector with 2 or more elementsr00ster91
Closes #12169
2023-06-24all: migrate code to new cast builtin syntaxmlugg
Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change
2023-06-19all: zig fmt and rename "@XToY" to "@YFromX"Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-06-14Sema: allow indexing tuple and vector pointersmlugg
Resolves: #13852 Resolves: #14705
2023-06-13all: replace `comptime try` with `try comptime`Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-06-10Sema: resolve peer vector types before comparisonmlugg
Resolves: #15732
2023-05-25disable test on C backendVeikka Tuominen
This test was previously incorrect and was not testing the intended instruction.
2023-05-25llvm: fix vector type in vector_store_elemVeikka Tuominen
Closes #15848
2023-05-18codegen: emit global vector paddingJacob Young
2023-05-15x86_64: implement integer vector bitwise operationsJacob Young
2023-05-15x86_64: implement integer vector mulJacob Young
2023-05-15x86_64: implement integer vector movementJacob Young
2023-05-11setup spirv backend in behavior testsAli Chraghi
2023-05-08x86_64: implement f16 conversions when supportedJacob Young
2023-05-08Disallow named test decls with duplicate namesDominic
2023-05-03x86_64: implement movement of more typesJacob Young
* f16 * f128 * vector
2023-05-01behavior: update affected tests for the x86_64 backendJacob Young
2023-04-28stage2: sparc64: Skip unimplemented testsKoakuma
2023-04-26behavior: update passing cbe testsJacob Young
2023-04-21behavior: enable a bunch of disabled testsJacob Young
2023-04-15disable more failing C backend testsAndrew Kelley
2023-04-15disable not-yet-passing C backend testsAndrew Kelley
2023-04-10Merge pull request #14853 from schmee/vector-peer-type-resolutionAndrew Kelley
Vector type resolution/coercion fixes
2023-04-07Enable new testsAuguste Rame
2023-03-25x86_64: implement atomic loopsJacob Young
2023-03-15behavior: enable passing behavior tests on stage2_x86_64Jacob Young
2023-03-09sema: fix result ptr coercion array -> vectorJohn Schmidt
Previously this worked for array to vector where the element type matched exactly (e.g `[4]u8` to `@Vector(4, u8)`) since that is performed with a simple `.bitcast` operation, but now it also works for types where the array is coercible to the vector type (e.g `[4]u8` to `@Vector(4, u16)`).
2023-03-09sema: add peer type resolution for vectorsJohn Schmidt
This is consistent with how coercion for vectors work. So now you can do this: ``` var a: @Vector(2, u16) = .{1, 2}; var b: @Vector(2, u8) = .{2, 1}; const c = @min(a, b); ``` where previously you had to cast explicitly: ``` var a: @Vector(2, u16) = .{1, 2}; var b: @Vector(2, u8) = .{2, 1}; var c: @Vector(2, u16) = b; const c = @min(a, c); ```
2023-03-05behavior: fix comptime issue and disable failing testJacob Young
2023-03-05CBE: ensure uniqueness of more internal identifiersJacob Young
2023-03-05CBE: implement select and shuffleJacob Young
2023-03-05CBE: implement splatJacob Young
2023-03-05CBE: implement vector element pointersJacob Young
2023-03-05CBE: implement vector operationsJacob Young
Also, bigint add and sub which is all I was actually trying to do.
2023-03-05CBE: implement big integer and vector comparisonsJacob Young
2023-02-24CBE: reuse locals with the same `CType` instead of `Type`Jacob Young
Many `Type`s can correspond to the same `CType`, so this reduces the number of used locals by 27760 when compiling only-c. Also, disabled some tests that were only passing by accident and shouldn't really be considered working.
2023-02-21behavior: enable passing CBE testsJacob Young
2023-02-18update existing behavior tests and std lib to new for loop semanticsAndrew Kelley
2023-01-22Value: implement `compareAllWithZero` for `bytes` and `str_lit`Veikka Tuominen
Closes #10692
2022-12-27Revert "aarch64: reenable tests that are no longer regressed"Andrew Kelley
This reverts commit 3370d58956ecc744a004dff47b0437473f0ef7da. This commit was done with an LLVM build that did not have assertions enabled. There are LLVM assertions being triggered due to this commit. Reopens #10627 Reopens #12013 Reopens #12027
2022-12-27enable test on more targetsVeikka Tuominen
This was fixed by 8a0a6b7387fcd0017db85de14793abfd6ec7f6e5 for targets without avx512
2022-12-27update uses of overflow arithmetic builtinsVeikka Tuominen