1229 Commits

Author SHA1 Message Date
Noa
ec6bcf8c93 [wasm32] Add an intrinsic for the throw instruction 2024-03-19 17:01:56 +00:00
Daniel Paoliello
a00a70eacb arm64ec 2024-03-13 22:30:36 +00:00
Luca Barbato
d4c77d3228 Add vec_xl_len and vec_xst_len
They are powerpc64-only.
2024-03-12 05:52:08 +00:00
WANG Rui
1fbe4dddec std_detect: loongarch: Add runtime detectable features from LLVM
* f
* d
* frecipe
* lbt
2024-03-07 23:00:39 +00:00
WANG Rui
5fd2d04ef7 std_detect: loongarch: Remove features not supported by LLVM 2024-03-07 23:00:39 +00:00
Mingzhuo Yin
012e4ce580 check sub-leaf to detect avx512bf16
Signed-off-by: Mingzhuo Yin <yinmingzhuo@gmail.com>
2024-03-05 23:16:09 +00:00
Mingzhuo Yin
210913f1c4 fix: invalid bit for detecting avx512 feature
Signed-off-by: Mingzhuo Yin <yinmingzhuo@gmail.com>
2024-03-05 23:16:09 +00:00
Mingzhuo Yin
f32ad010a6 typo: invalid comments for _mm512_setzero_ps
Signed-off-by: Mingzhuo Yin <yinmingzhuo@gmail.com>
2024-03-05 22:43:27 +00:00
Kalle Wachsmuth
bff78e1767 correct _mm_insert_ps documentation 2024-02-29 23:27:14 +00:00
WANG Rui
b297b58bc2 core_arch: Add LoongArch LASX testcases 2024-02-28 08:43:52 +00:00
WANG Rui
2b923a30e8 core_arch: Add LoongArch LASX intrinsics
Co-authored-by: ZHAI Xiang <zhaixiang@loongson.cn>
2024-02-28 08:43:52 +00:00
WANG Rui
f74fe05f9e core_arch: Add LoongArch LSX testcases 2024-02-28 08:43:52 +00:00
ZHAI Xiang
9a8f1dac0e core_arch: Add LoongArch LSX intrinsics
Co-authored-by: WANG Rui <wangrui@loongson.cn>
2024-02-28 08:43:52 +00:00
ZHAI Xiang
a66ae3ec9e Add intrinsic code generator for LoongArch
Co-authored-by: WANG Rui <wangrui@loongson.cn>
2024-02-28 08:43:52 +00:00
WANG Rui
6ecbc8ebfb stdarch-gen: Move to stdarch-gen-arm 2024-02-28 08:43:52 +00:00
Pavel Grigorenko
1c16ce54e5 use addr_of! 2024-02-24 23:12:18 +00:00
usamoi
8531e289b0 feat: std_detect avx512fp16
Signed-off-by: usamoi <usamoi@outlook.com>
2024-02-24 16:07:04 +00:00
Ralf Jung
da78357bf7 use remaining SIMD intrinsics via libcore 2024-02-23 22:32:49 +00:00
Luca Barbato
13bd2979fc Add vec_sel 2024-02-23 17:05:57 +00:00
Luca Barbato
0fe5dfb4be Add vec_nand 2024-02-23 17:05:57 +00:00
Ralf Jung
f5c0b76cf3 non-temporal stores: document interaction with Rust memory model 2024-02-21 00:54:27 +00:00
Amanieu d'Antras
975ba7f853 Fix redundant import warnings
These were introduced by rust-lang/rust#117772.
2024-02-20 23:21:06 +00:00
Ralf Jung
92a957da6d simplify simd_ty, simd_m_ty macros: do not repeat the element type N times 2024-02-18 16:25:51 +00:00
Ralf Jung
c064146098 remove unnecessary let binding 2024-02-18 15:33:30 +00:00
Ralf Jung
ff9ba664e1 avoid using simd_extract in SimdTy::extract (since the index is not a constant there) 2024-02-17 17:30:51 +00:00
Ralf Jung
229399be14 put the idx arguments of simd_insert and simd_extract into const blocks 2024-02-17 17:30:51 +00:00
Ralf Jung
2d84cf913c import LLVM SIMD intrinsics from core rather than declaring them locally 2024-02-17 12:15:49 +00:00
Adam Gemmell
e54a6d71bf Improve feature detect for combined aarch64 features
LLVM's `ssbs` and `mte` target_features represent two Arm features.
Linux's HWCAP also represents the same two features, so this is just a
documentation update.

LLVM's `ras` target_feature represents two Arm features - FEAT_RAS and FEAT_RASv1p1. There is no runtime detection for this, so this is a no-op in stdarch.

LLVM's `aes` feature covers both `FEAT_AES` and `FEAT_PMULL`, but Linux
exposes seperate feature bits. This patch makes the `aes` target_feature
correctly shortcut runtime `pmull` detection and also makes the `aes`
feature check for `pmull` at runtime to bring it in line with the
target_feature behaviour. In practice I think this makes the two runtime
features identical since the ID_AA64ISAR0_EL1 register does not allow
for PMULL without AES.
2024-02-16 18:21:34 +00:00
Luca Barbato
f866a61df6 Add vec_subc 2024-02-16 15:57:52 +00:00
Luca Barbato
e5d393dce8 Add vec_round 2024-02-16 15:57:52 +00:00
Luca Barbato
9dbcfa9856 Add vec_rl 2024-02-16 15:57:52 +00:00
Luca Barbato
6b6fb15fbb Add vec_cntlz 2024-02-16 15:57:52 +00:00
Nikita Popov
7f510b818f Update test expectations for aarch64 2024-02-16 10:55:33 +00:00
daxpedda
1e8274d34d Remove last mention of stdsimd 2024-02-14 15:08:29 +00:00
Luca Barbato
122674ff51 Add vec_st, vec_stl, vec_ste 2024-02-11 11:51:02 +00:00
Luca Barbato
77272548a7 Fix vec_ldl 2024-02-11 11:51:02 +00:00
Luca Barbato
848d0c4878 Add vec_cmpne 2024-01-29 16:00:22 +00:00
Luca Barbato
e216d66329 Add the boolean types for vec_nor 2024-01-29 16:00:22 +00:00
Luca Barbato
0e945675ca Add vec_adde 2024-01-29 16:00:22 +00:00
Luca Barbato
862009da89 Add vec_slv and vec_srv 2024-01-26 00:10:58 +00:00
Luca Barbato
1ffec54a84 Add vec_sro 2024-01-26 00:10:58 +00:00
Luca Barbato
e3745d93c9 Add vec_srl 2024-01-26 00:10:58 +00:00
Luca Barbato
5b58bae153 Add vec_sra 2024-01-26 00:10:58 +00:00
Luca Barbato
f5a65e7951 Add vec_sr 2024-01-26 00:10:58 +00:00
Luca Barbato
59fc60f983 Add vec_slo 2024-01-26 00:10:58 +00:00
Luca Barbato
2ae29d26a2 Add vec_sll 2024-01-26 00:10:58 +00:00
Luca Barbato
0da079d7a5 Add vec_sld and vec_sldw 2024-01-26 00:10:58 +00:00
Luca Barbato
2500f3b401 Add vec_sl 2024-01-26 00:10:58 +00:00
Makoto Kato
d51ea0d261 Add CPU detection for macOS/aarch64. 2024-01-16 02:57:10 +00:00
Luca Barbato
c4a00026d4 Rename vec_splat_i* to the correct name 2024-01-15 15:44:31 +00:00