gnzlbg
7f6fd8f3a0
skip some assert_instr on windows
2018-11-10 12:30:07 +01:00
gnzlbg
64fbf25e53
remove register ordering from fma assert_instr
2018-11-10 12:30:07 +01:00
gnzlbg
bd36bb317d
fix return type of _MM_SHUFFLE from u32 to i32 ( #588 )
2018-11-05 09:36:55 -06:00
gnzlbg
c6f90494db
[breaking change] fixes unsoundness in avx non-temporal store APIs. Closes #575 ( #576 )
2018-11-02 08:55:48 -05:00
Brian Armstrong
4a0ae6e8cb
just load 64 bits with _mm_loadl_epi64
2018-10-29 11:16:40 +01:00
Brian Armstrong
294056c160
no type annotation
2018-10-27 22:23:20 +02:00
Brian Armstrong
8e981b1b12
allow unaligned reads with _mm_loadl_epi64
2018-10-27 22:23:20 +02:00
Kaz Wesley
7fda54f9bc
fix _mm_castsi128_pd and _mm_castpd_si128 impls ( #581 )
...
* fix _mm_castsi128_pd and _mm_castpd_si128 impls
The _mm_castX_Y SSE intrinsics are "reinterpreting" casts; LLVM's
simd_cast is a "converting" cast. Replace simd_cast with mem::transmute.
Fixes #55249
* Temporarily pin CI
* Fix i686 segfaults
* Fix wasm CI
Output of `wasm2wat` has changed!
* Fix AppVeyor with an older nightly
2018-10-23 18:10:54 +02:00
gnzlbg
9cd646f037
update codegen due to LLVM7 upgrade
2018-08-08 18:50:35 +02:00
gnzlbg
82274aadc1
re-format ( #544 )
2018-07-31 08:03:22 -07:00
Paolo Teti
8d663bd234
Fix x86 build on latest nightly ( #533 )
...
`cargo test --no-run` raise:
```
error[E0432]: unresolved import
--> crates/coresimd/src/../../../coresimd/x86/rdtsc.rs:62:9
|
62 | use coresimd::x86::rdtsc;
| ^^^^^^^^^^^^^^^^^^^^
```
2018-07-22 10:58:21 -05:00
gnzlbg
1c09cc76c4
LLVM7 generates different machine than LLVM6 for x86/x86_64 targets for some intrinsics. These are new optimizations
2018-07-19 00:10:44 +02:00
gnzlbg
faafc284bd
remove portable vector types
2018-07-19 00:10:44 +02:00
Cameron Hart
d89dc542ec
Make _MM_SHUFFLE unstable. ( #524 )
2018-07-14 18:45:51 -05:00
gnzlbg
f55d7be7c9
deprecate read/write eflags ( #494 )
2018-06-27 13:32:11 -05:00
gnzlbg
8287afe0cb
Optimize has_cpuid for x86 Rust targets that have cpuid
...
Improves #497 .
2018-06-26 14:53:57 +02:00
gnzlbg
771dc9fd8e
hoist the and out of the inline assembly
2018-06-25 10:16:15 +02:00
gnzlbg
7affba30a5
use and to test the 21st bit
2018-06-25 10:16:15 +02:00
gnzlbg
d6290b5e88
remove unnecesary unsafe block
2018-06-25 10:16:15 +02:00
gnzlbg
a84c619bf3
remove unnecessary shift
2018-06-25 10:16:15 +02:00
gnzlbg
637541bd83
Use Stephen Checkoway solution
2018-06-25 10:16:15 +02:00
gnzlbg
7e710e7e4a
fix the shift
2018-06-25 10:16:15 +02:00
gnzlbg
099d6d9093
no need to save/restore ecx in the inline assembly because its already clobbered
2018-06-25 10:16:15 +02:00
gnzlbg
29d969012e
fix test and add comments
2018-06-25 10:16:15 +02:00
gnzlbg
6524ead794
fix has_cpuid_test
2018-06-25 10:16:15 +02:00
gnzlbg
8195e74705
use inline assembly instead of the __{read,write}eflags intrinsics
2018-06-25 10:16:15 +02:00
gnzlbg
a51a3ab289
Fixes has_cpuid implementation
...
https://github.com/rust-lang/rust/issues/51691
2018-06-25 10:16:15 +02:00
gnzlbg
388c35ed4b
fix run-time detection in doc-test
2018-06-21 12:27:37 +02:00
gnzlbg
3a5bbf11b1
fix doc-test for __m256. Closes #481
2018-06-21 12:03:20 +02:00
Cameron Hart
784fb26d8c
Added implementation and test of _MM_SHUFFLE macro.
2018-06-18 09:58:22 +02:00
gnzlbg
c3d273c980
reformat with latest rustfmt
2018-06-15 14:40:34 +02:00
TheIronBorn
c2d60b18e4
add _mm_mullo_pi16 intrinsic
2018-06-14 22:49:18 +02:00
est31
5cb46aa089
Unstabilize some more #[doc(hidden)] items
2018-05-15 17:44:20 +02:00
Pietro Lorefice
d8484f6bb5
Add support for x86 FMA extension ( #439 )
2018-05-06 11:57:37 -05:00
gnzlbg
30962e58e6
fix errors/warnings from the stabilization of cfg_target_feature and target_feature ( #432 )
...
* fix build after stabilization of cfg_target_feature and target_feature
* fix doc tests
* fix spurious unused_attributes warning
* fix more unused attribute warnings
* More unnecessary target features
* Remove no longer needed trait imports
* Remove fixed upstream workarounds
* Fix parsing the #[assert_instr] macro
Following upstream proc_macro changes
* Fix form and parsing of #[simd_test]
* Don't use Cargo features for testing modes
Instead use RUSTFLAGS with `--cfg`. This'll help us be compatible with the
latest Cargo where a tweak to workspaces and features made the previous
invocations we had invalid.
* Don't thread RUSTFLAGS through docker
* Re-gate on x86 verification
Closes #411
2018-04-26 21:54:15 -05:00
Guillaume Gomez
189283e76f
remove rustdoc warnings
2018-04-19 23:29:05 +02:00
Alex Crichton
9b018d657b
Yet more fixes for libstd...
2018-04-16 13:58:26 -07:00
Alex Crichton
6f8c6d9251
More libstd doc tweaks
2018-04-16 07:27:03 -07:00
Alex Crichton
ff62c6d638
Another fix for stable libstd
2018-04-13 08:58:12 -07:00
Alex Crichton
f650b93003
Stabilize x86/x86_64 intrinsics ( #414 )
...
This commit stabilizes all intrinsics in the `x86` and `x86_64` modules, namely
allowing stabilization of the `arch::x86` and `arch::x86_64` module in libstd.
Stabilizations here were applied in an automated fashion using [this
script][scr], and notably everything related to `__m64` was omitted from this
round of stabilization
[scr]: https://gist.github.com/alexcrichton/5b456d495d6fe1df46a158754565c7a5
2018-04-13 09:32:22 -05:00
gnzlbg
bf11a67f0f
remaining masks and select ( #417 )
2018-04-06 09:29:45 -05:00
gnzlbg
80e6c726fb
Enable fxsr ( #415 )
...
Re-enables fxsr
2018-04-05 16:56:58 +02:00
gnzlbg
fa9a55105a
upgrade formatting
2018-04-03 15:40:22 +02:00
Jason Davies
f5503198b8
rustfmt
2018-03-27 16:09:03 +02:00
Alex Crichton
874829e4a9
rustfmt
2018-03-22 11:34:50 -07:00
Jason Davies
de82d9d26b
Add support for Intel SHA extensions. ( #395 )
2018-03-22 13:32:44 -05:00
gnzlbg
56d9a42a2f
add tests for endian-dependent behavior ( #394 )
...
* add tests for endian-dependent behavior
* format
2018-03-22 11:09:01 -05:00
gnzlbg
ff53ec6cb2
add arm neon vector types ( #384 )
2018-03-20 09:11:50 -05:00
Jake Goulding
2b1ee5288f
Fix unsigned typo ( #359 )
2018-03-08 10:29:09 -06:00
Jake Goulding
1f96ac2d53
Typos in cmpistr* functions ( #357 )
2018-03-08 09:53:44 -06:00