Alex Crichton
8ed0d3cbd5
More wasm SIMD updates
...
* Sync with the latest LLVM which has a few new intrinsic names
* Move explicit tests back to `assert_instr` since `assert_instr` now
supports specifying const-generic arguments inline.
* Enable tests where wasmtime implements the instruction as well as LLVM.
* Ensure there are tests for all functions that can be tested at this
time (those that aren't unimplemented in wasmtime).
There's still a number of `assert_instr` tests that are commented out.
These are either because they're unimplemented in wasmtime at the moment
or LLVM doesn't have an implementation for the instruction yet.
2021-03-21 09:24:39 +00:00
NatrixAeria
c987d91239
Fix WebAssembly Atomic intrinsic names ( #1093 )
...
Due to commit 902ea588eab849e7254d3bc76abf32d833ac0dd6 in the
llvm-project i32.atomic.wait and i64.atomic.wait got renamed to
memory.atomic.wait32 and memory.atomic.wait64.
2021-03-21 00:53:03 +00:00
Sparrow Li
63facc4b68
Add vmull, vmull_high, vmlal, vmlal_high, vmlsl, vmlsl_high neon instructions ( #1091 )
2021-03-20 22:35:19 +00:00
surechen
ce1027d7d5
support s64|u64 for neon instruction vqadd and vqsub ( #1090 )
2021-03-20 00:55:11 +00:00
surechen
7947cb8bac
add neon instruction vmov_n_* and vmovq_n_* ( #1085 )
2021-03-17 09:34:49 +00:00
Sparrow Li
4773f9b1d2
Support three parameters in the code generator and add vmla and vmls instructions ( #1088 )
2021-03-17 09:34:21 +00:00
Amanieu d'Antras
a1e151e838
Convert all uses of llvm_asm! to asm! ( #1052 )
2021-03-17 01:44:35 +00:00
Sparrow Li
7accc82569
add vcvt, vcvta, vcvtn, vcvtm, vcvtp neon instructions ( #1084 )
2021-03-16 14:30:05 +00:00
Sparrow Li
bb84df7d9f
implement different types of parameters and double suffixes in code generator ( #1083 )
2021-03-15 18:45:51 +00:00
surechen
6759925278
add neon instruction vget_low_* and fix vget_high_* ( #1082 )
2021-03-15 10:00:24 +00:00
surechen
25116fb1eb
add neon instruction vget_high_* ( #1074 )
2021-03-14 16:03:46 +00:00
Sparrow Li
01c99c1d05
add vcls, vclz, vcagt, vcage, vcalt, vcale neon instructions ( #1072 )
2021-03-13 21:55:24 +00:00
Amanieu d'Antras
e010da8411
Port all non-x86 uses of rustc_args_required_const to rustc_legacy_const_generics ( #1066 )
2021-03-13 19:52:30 +00:00
Christopher Serr
b132a5c769
Add vrecpe neon instruction ( #1079 )
...
This adds the vector instructions for calculating the lane-wise
reciprocal estimate.
2021-03-13 17:43:35 +00:00
Christopher Serr
282cfa4db7
Add sqrt and more rsqrte neon instructions ( #1078 )
...
This adds instructions for sqrt and some of the missing reciprocal
square-root estimate instructions.
2021-03-13 14:27:44 +00:00
Christopher Serr
677644afb9
Add vdiv neon instructions ( #1077 )
2021-03-13 14:26:44 +00:00
Alex Crichton
e35da555f8
Update WebAssembly SIMD/Atomics ( #1073 )
2021-03-11 23:30:30 +00:00
surechen
7af3c0af25
Add neon instruction vdup ( #1071 )
2021-03-11 12:24:19 +00:00
Sparrow Li
088067dbd9
Support _p8 type in stdarch-gen ( #1070 )
2021-03-10 09:54:43 +00:00
Sparrow Li
7bc90053fd
add vcgez, vcgtz, vclez, vcltz neon instructions ( #1069 )
2021-03-10 06:14:03 +00:00
minybot
7583a92072
mm256_srli,slli_si256; mm256_bsrli,bslli_epi128 to const generics ( #1067 )
2021-03-10 03:44:27 +00:00
Rémy Rakic
f0a9100c7f
Convert the last avx512f and avx512vpclmulqdq intrinsics ( #1068 )
2021-03-09 22:21:47 +00:00
surechen
90e778e408
Add neon instruction vbslq ( #1065 )
2021-03-09 03:44:52 +00:00
minybot
b9df0eb1c1
some Avx512f to const generics ( #1064 )
2021-03-09 00:49:19 +00:00
surechen
3b72ddfb43
add neon instruction vbsl ( #1062 )
2021-03-08 11:55:13 +00:00
Sparrow Li
b042298bc4
Modify stdarch-gen to generate instructions composed of multiple functions and add vtst instructions ( #1063 )
2021-03-08 11:15:04 +00:00
tmiasko
6b8d9a67ca
Convert _mm_alignr_epi8 to const generics ( #1061 )
2021-03-07 23:33:13 +00:00
Rémy Rakic
008e1579b6
More avx512f conversions to const generics ( #1060 )
2021-03-07 23:29:27 +00:00
minybot
40ec296d26
avx512gnfi to const generics ( #1059 )
2021-03-07 15:48:44 +00:00
tmiasko
1f1bfc92df
Convert _mm256_blend_{ps,pd} to const generics ( #1058 )
2021-03-07 15:20:05 +00:00
minybot
e54e113b05
some avx512 to const generics ( #1054 )
2021-03-07 15:06:22 +00:00
surechen
0203e47f5e
support instructions : vabd vaba ( #1053 )
2021-03-06 17:12:49 +00:00
surechen
bebc695777
remove unused line
2021-03-06 17:10:52 +00:00
surechen
10d6ae269f
use stdarch-gen to generate instructions
2021-03-06 17:10:52 +00:00
surechen
400651adfa
edit for matching comment
2021-03-06 17:10:52 +00:00
surechen
15f8b87e37
edit
2021-03-06 17:10:52 +00:00
surechen
88ae5346e9
add neon instruction abs for floating-point
2021-03-06 17:10:52 +00:00
Rémy Rakic
59ecccfba0
convert _mm256_blend_epi16 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
4c3ac09c37
convert _mm256_blend_epi32 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
65f6a147de
convert _mm_blend_epi32 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
8a65e1a0fb
convert _mm256_extracti128_si256 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
ad6678a1de
convert _mm256_inserti128_si256 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
28a93bbbad
convert _mm256_shufflelo_epi16 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
914893b147
convert _mm256_shufflehi_epi16 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
fb871cd7c9
convert _mm256_permute4x64_pd to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
913f5b9af4
convert _mm256_permute4x64_epi64 to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
7ca45bebaa
convert _mm256_mask_i64gather_pd to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
b0fcace623
convert _mm256_i64gather_pd to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
6e89c87395
convert _mm_mask_i64gather_pd to const generics
2021-03-06 17:09:18 +00:00
Rémy Rakic
5a6192ae64
convert _mm_i64gather_pd to const generics
2021-03-06 17:09:18 +00:00