Eric Huss
0256736d2f
Fix _mm_extract_ps example. ( #1261 )
2021-12-04 13:04:09 +00:00
Jörn Horstmann
54d690dc70
Implement avx512 masked load and store intrinsics ( #1254 )
2021-12-04 13:03:40 +00:00
Amanieu d'Antras
937978eeef
Update the intrinsic checker tool ( #1258 )
2021-12-04 13:03:30 +00:00
Tobias Kortkamp
972030f2b2
Support riscv64gc-unknown-freebsd ( #1260 )
2021-11-27 14:01:23 +00:00
Amanieu d'Antras
ca1f7cc1a6
Add missing vtst_p16 and vtstq_p16 intrinsics ( #1257 )
2021-11-20 20:51:37 +00:00
Thom Chiovoloni
08a70f96fe
Work-around buggy Intel chips erroneously reporting BMI1/BMI2 support ( #1249 )
2021-11-19 01:29:04 +00:00
Sparrow Li
7c3bd04537
complete armv8 instructions ( #1256 )
2021-11-19 01:24:36 +00:00
Eric Huss
1e2dcdcbd4
Fix i8mm feature with bootstrap compiler. ( #1252 )
2021-11-15 03:12:25 +00:00
Eric Huss
a7d3ae0d6b
Fix unused link_name attribute. ( #1251 )
2021-11-13 19:20:11 +00:00
Sparrow Li
be5e1be224
Add remaining insturctions ( #1250 )
...
* add vmmla vusmmla vsm4e vsm3 vrax1 vxar vsha512 vbcax veor3 neon instructions
* update runtime feature detect
* correct tests
* add `vrnd32x` `vrnd64x`
* add MISSING.md
2021-11-10 15:19:59 +00:00
senevoldsen
46d0e8d519
Remove that _mm256_set_epi8 sets in reversed order. ( #1248 )
2021-11-08 00:58:47 +00:00
Amanieu d'Antras
023a926d39
Make the wasm and wasm64 modules unstable ( #1247 )
2021-11-05 02:50:23 +00:00
Jamie Cunliffe
b04e740f24
Handle intrinsics with constraints in the test tool. ( #1237 )
2021-11-05 01:47:31 +00:00
Jamie Cunliffe
8d6f3f36b3
Correct the vqrdmlah intrinsics. ( #1246 )
2021-11-04 14:16:26 +00:00
Alex Crichton
157d273c5c
Fix parsing a doc block for _mm_extract_ps ( #1242 )
2021-11-01 23:00:59 +00:00
devsnek
d98a902f20
expose wasm intrinsics using target_family = "wasm" ( #1241 )
2021-10-31 18:12:24 +00:00
Alex Crichton
05aad76b58
Add a rudimentary wasm64 module with intrinsics ( #1240 )
2021-10-30 22:14:54 +01:00
Jamie Cunliffe
813530237d
Do not emit undefined lshr/ashr for Neon shifts ( #1238 )
2021-10-22 20:24:54 +01:00
Sparrow Li
9df48f1e57
Complete the remaining neon instructions ( #1230 )
2021-10-21 10:52:05 +01:00
Taiki Endo
42ae943ab4
Fix error message of is_*_feature_detected on nort_feature ( #1232 )
2021-10-16 22:22:47 +01:00
Jubilee
b86a083d10
Add example to _mm_extract_ps ( #1228 )
2021-10-06 10:34:54 +01:00
Sparrow Li
68e35d306f
Complete vld* and vst* neon instructions ( #1224 )
2021-09-29 04:28:10 +01:00
Sparrow Li
bdea403c54
Complete vst1 neon instructions ( #1221 )
2021-09-24 13:26:29 +01:00
Hans Kratz
26cce19427
Make dedup guard optional ( #1215 )
2021-09-20 17:19:05 +01:00
Hans Kratz
504b0cf68b
Arm Fused Multiply-Add fixes ( #1219 )
2021-09-20 17:18:20 +01:00
Sparrow Li
328553ef64
Complete vld1 instructions with some corrections ( #1216 )
2021-09-18 14:13:24 +01:00
Hans Kratz
4f8ed0335c
Check inlining and instruction count for assert_instr(nop) as well ( #1218 )
2021-09-18 01:53:32 +01:00
Jamie Cunliffe
bd0e352338
Intrinsic test tool to compare neon intrinsics with C ( #1170 )
2021-09-09 19:16:45 +01:00
Hans Kratz
5cd6850171
Normalize [us]shll.* ..., #0 aarch64 disassembly to the preferred [us]xtl.* ( #1213 )
2021-09-08 23:41:31 +01:00
Hans Kratz
00f611f305
Change aarch64 vld1* instructions to not cause individual loads ( #1207 )
2021-09-08 23:40:49 +01:00
Hans Kratz
bf2122753a
Disable arm inlining check again for now as some tests are still failing.
2021-09-09 00:22:33 +02:00
Hans Kratz
5995d769ad
Use a lighter dedup guard in the assert_instr test shims.
2021-09-09 00:22:33 +02:00
Hans Kratz
755e622d17
Implement proper subroutine call detection for x86, x86_64, aarch64 and wasm32.
2021-09-08 19:14:13 +02:00
Hans Kratz
03fa985cf0
remove assembly parsing special case for otool output (no longer needed)
2021-09-08 19:14:13 +02:00
Hans Kratz
999d954aa4
using v8.6a target feature to cover more instructions
2021-09-08 19:14:13 +02:00
Hans Kratz
f5af9d15a9
Use objdump on Macos x86_64 as well.
2021-09-08 19:14:13 +02:00
Hans Kratz
f15c851517
Use LLVM objdump on Macos ARM64 because it is not possible to enable TME support with otool
2021-09-08 19:14:13 +02:00
Sparrow Li
9e34c6d4c8
Add vst neon instructions ( #1205 )
...
* add vst neon instructions
* modify the instruction limit
2021-08-31 21:35:30 +01:00
Joshua Liebow-Feeser
c9e0420448
powerpc::vector_bool_long is a vector of two i64s ( #1204 )
2021-08-27 17:33:23 +01:00
Sparrow Li
4baf95fddd
add vldx neon instructions ( #1200 )
2021-08-24 19:51:30 +01:00
Alex Crichton
b10d00cae0
Update codegen for simd wasm intrinsics with LLVM 13 ( #1203 )
2021-08-23 01:45:59 +01:00
Frank Steffahn
870cf5751d
Fix typos “an”→“a”
2021-08-22 18:55:49 +01:00
Frank Steffahn
5b5df599d3
Fix typos “a”→“an”
2021-08-22 18:55:49 +01:00
Pierre Krieger
78bef173f4
Fix "it's purpose" -> "its purpose"
2021-08-14 17:44:03 +01:00
Ömer Sinan Ağacan
103e90de1d
Rewording in Wasm all_true SIMD instruction docs
...
- Use "true" and "false" instead of "1" and "0"
- "nonzero" -> "non-zero"
- "returns true if ... or false if ..." -> "returns true ..., false
otherwise"
2021-08-14 09:28:29 +01:00
Aleksey Kladov
e91f80fc22
mark core::arch::wasm32::unreachable as safe
...
This intrinsic doesn't have any preconditions and is always safe to
call, so it can be safe.
This function is already stable, but dropping `unsafe` is a backwards
compatible change.
Note tha we already have a precedent for wasm intrinsics being safe --
wasm simd is safe.
It is relatively practically important to mark this safe --
wasm32::unreachable is directly useful in practice as more codesize
efficient `panic!()`.
2021-08-12 11:09:05 +01:00
Mara Bos
685e8d906d
Remove references to the crates on crates.io.
...
They haven't been published in years. This removes the suggestion that
the crates on crates.io are actively updated/maintained.
2021-08-12 00:24:32 +01:00
Jamie Cunliffe
0285e513e0
Update arm vcvt intrinsics to use llvm.fpto(su)i.sat
...
Those intrinsics have the correct semantics for the desired fcvtz instruction,
without any undefined behaviour. The previous simd_cast was undefined for
infinite and NaN which could cause issues.
2021-08-11 13:13:19 +01:00
Amanieu d'Antras
52dae87319
Remove unused wasm feature
2021-08-11 11:46:45 +01:00
Alex Crichton
b5c437e119
Add tests for remaining wasm simd intrinsics
...
Wasmtime now supports all of the simd proposal, so this commit
uncomments instruction assertions and tests, while also adding more
tests, for all wasm simd instructions. This means that all wasm simd
instructions should be tested and have running instruction assertions,
except for `i64x2.abs`, which will require an LLVM upgrade to LLVM 13.
2021-08-03 00:46:38 +01:00