SparrowLii
69bb74bca6
add vtrn1 and vtrn2 neon instructions
2021-03-23 05:50:03 +00:00
Alex Crichton
7599fd5310
Add static assertions for all const generics
2021-03-21 09:24:39 +00:00
Alex Crichton
60e8d7766b
Unconditionally expose wasm atomic intrinsics
...
While they're not very useful in single-threaded mode this makes them
more useful for building libraries because you don't have to always
recompile the standard library to get the desired effect. Additionally
it helps us enable tests on CI for these functions, since the
instructions will now validate without shared memory (thankfully!).
2021-03-21 09:24:39 +00:00
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
Amanieu d'Antras
72dda3aae0
Fix building std_detect as a dependency of std ( #1089 )
2021-03-18 20:36:40 +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
Aaron Hill
41bfaf89bf
Remove trailing semicolon from macro expression ( #1080 )
...
Unblocks https://github.com/rust-lang/rust/pull/83089
2021-03-13 19:51:54 +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
a310df2e2c
remove redundant code
2021-03-06 17:10:52 +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