| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-07-22 | Rename `tests/codegen` into `tests/codegen-llvm` | Guillaume Gomez | -1730/+0 | |
| 2025-07-20 | So many test updates x_x | Scott McMurray | -473/+102 | |
| 2025-07-03 | Block SIMD in transmute_immediate; delete `OperandValueKind` | Scott McMurray | -4/+2 | |
| See conversation in <https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Is.20transmuting.20a.20.60T.60.20to.20.60Tx1.60.20.28one-element.20SIMD.20vector.29.20UB.3F/near/526262799>. | ||||
| 2025-06-04 | x86 (32/64): go back to passing SIMD vectors by-ptr | Ralf Jung | -15/+5 | |
| 2025-04-20 | simd intrinsics with mask: accept unsigned integer masks | Ralf Jung | -0/+57 | |
| 2025-02-27 | remove most `simd_` intrinsic declaration in tests | Folkert de Vries | -193/+131 | |
| instead, we can just import the intrinsics from core | ||||
| 2025-02-25 | remove `simd_fpow` and `simd_fpowi` | Folkert de Vries | -174/+0 | |
| 2025-02-18 | x86-sse2 ABI: use SSE registers for floats and SIMD | Ralf Jung | -2/+15 | |
| 2025-01-27 | Fix SIMD codegen tests on LLVM 20 | Nikita Popov | -14/+14 | |
| The splat contents are printed differently on LLVM 20. | ||||
| 2025-01-26 | Consistently use the most significant bit of vector masks | Jörn Horstmann | -13/+110 | |
| This improves the codegen for vector `select`, `gather`, `scatter` and boolean reduction intrinsics and fixes rust-lang/portable-simd#316. The current behavior of most mask operations during llvm codegen is to truncate the mask vector to <N x i1>, telling llvm to use the least significat bit. The exception is the `simd_bitmask` intrinsics, which already used the most signifiant bit. Since sse/avx instructions are defined to use the most significant bit, truncating means that llvm has to insert a left shift to move the bit into the most significant position, before the mask can actually be used. Similarly on aarch64, mask operations like blend work bit by bit, repeating the least significant bit across the whole lane involves shifting it into the sign position and then comparing against zero. By shifting before truncating to <N x i1>, we tell llvm that we only consider the most significant bit, removing the need for additional shift instructions in the assembly. | ||||
| 2024-11-07 | Update test for LLVM 20's new vector splat syntax | Hans Wennborg | -3/+3 | |
| that was introduced in https://github.com/llvm/llvm-project/pull/112548 | ||||
| 2024-09-09 | Ban non-array SIMD | Scott McMurray | -309/+162 | |
| 2024-04-24 | Fix tests and bless | Gary Guo | -1/+0 | |
| 2024-02-25 | fix use of platform_intrinsics in tests | Ralf Jung | -45/+45 | |
| 2024-02-22 | [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives | 许杰友 Jieyou Xu (Joe) | -23/+23 | |
| 2024-02-20 | delete a test that no longer makes sense | Ralf Jung | -47/+0 | |
| 2023-12-12 | Fix alignment passed down to LLVM for simd_masked_load | Jakub Okoński | -2/+2 | |
| 2023-12-09 | Add simd_masked_{load,store} platform-intrinsics | Jakub Okoński | -0/+66 | |
| This maps to the LLVM intrinsics: llvm.masked.load and llvm.masked.store | ||||
| 2023-07-29 | cg_llvm: simplify llvm.masked.gather/scatter naming with opaque pointers | Erik Desjardins | -4/+4 | |
| With opaque pointers, there's no longer a need to generate a chain of pointer types in the intrinsic name when arguments are pointers to pointers. | ||||
| 2023-07-27 | CHECK only for opaque ptr | Josh Stone | -10/+10 | |
| 2023-07-08 | Always name the return place. | Camille GILLOT | -89/+88 | |
| 2023-04-04 | Allow `transmute`s to produce `OperandValue`s instead of always using `alloca`s | Scott McMurray | -4/+47 | |
| LLVM can usually optimize these away, but especially for things like transmutes of newtypes it's silly to generate the `alloc`+`store`+`load` at all when it's actually a nop at LLVM level. | ||||
| 2023-02-14 | Try to fix codegen tests for ??? LLVM 14 ??? | Ben Kimock | -5/+5 | |
| 2023-02-14 | Fix codegen tests | Ben Kimock | -92/+92 | |
| 2023-02-12 | Enable CopyProp by default, tune the impl a bit | Ben Kimock | -3/+0 | |
| 2023-01-11 | Move /src/test to /tests | Albert Larsan | -0/+2272 | |
