Luca Barbato
5c00a2b2a4
Add vector multiply round and add saturated
2018-06-28 00:34:14 +02:00
gnzlbg
f55d7be7c9
deprecate read/write eflags ( #494 )
2018-06-27 13:32:11 -05:00
gnzlbg
0402aba4be
allow dead code in reduction tests
2018-06-26 14:54:07 +02:00
gnzlbg
ea6d2b47af
[s390x] Fall back to scalar math for portable floating-point vector operations.
...
I've opened #501 to track the workarounds introduced here.
Closes #498 .
2018-06-26 14:54:07 +02:00
gnzlbg
d5cf70cac5
[s390x] add CI
...
This commit tests `s390x-unknown-linux-gnu` on CI using `qemu-user`.
Closes #499 .
2018-06-26 14:54:07 +02:00
gnzlbg
8287afe0cb
Optimize has_cpuid for x86 Rust targets that have cpuid
...
Improves #497 .
2018-06-26 14:53:57 +02:00
gnzlbg
6fa79873e3
Document what the xcr0 masks do
2018-06-26 14:53:46 +02:00
gnzlbg
a0a6e784fb
fma requires osxsave
2018-06-26 14:53:46 +02:00
gnzlbg
ae64d7a468
Calling xgetbv is safe only if the OS has set osxsave.
...
Closes #500 .
2018-06-26 14:53:46 +02:00
gnzlbg
f72da708eb
fix all nursery doc links
2018-06-26 14:03: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
est31
39b15bc993
Fix some links
...
Always point to {target_name}/.../{target_name}/index.html
2018-06-24 11:10:13 +02:00
Terence
709f796a22
Fix typo in max docs
...
The `max` methods claimed to return the minimum in one location.
2018-06-24 11:08:22 +02:00
gnzlbg
b86ba305b3
x86 android tests now pass
2018-06-23 16:09:27 +02:00
gnzlbg
e70ae5558f
add CI for Android
2018-06-23 16:09:27 +02:00
est31
b042566808
Remove stray inconsistent #[cfg]
...
The cfg for the target is already covered a few lines below.
This cfg meant that even with the dox feature enabled, no
documentation for powerpc64 was generated except you were
actually targetting the powerpc64 arch.
2018-06-23 14:11:26 +02:00
gnzlbg
21a5ac0c31
update README
2018-06-23 12:57:46 +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
gnzlbg
14a5742d4e
make check_for and the feature cache function inline
2018-06-20 23:21:24 +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
gnzlbg
f583b31632
fix warnings in reductions tests
2018-06-13 15:23:39 +02:00
Michael Lamparski
215e9cf934
"dotprot" -> "dotprod"
...
Well, since I reported it I guess I should do something about it.
Note this is a *cough* **breaking change.**
---
Closes #442 .
2018-06-12 10:34:10 +02:00
gnzlbg
8ce74840ce
rename portable float vector's wrapping_{sum,product} to {sum,product} per the RFC
2018-06-06 14:25:33 +02:00
gnzlbg
d62b7dbc64
add float math: sin, cos
2018-06-06 00:14:01 +02:00
gnzlbg
c8491ea363
add vertical float math: abs, sqrt, sqrte, rsqrte, fma
2018-06-06 00:14:01 +02:00
Erik
b3b668e499
Small spelling fix
...
sixteem -> sixteen
2018-06-06 00:11:54 +02:00
Luca Barbato
4f2eff627e
Replace the deprecated TokenStream::empty() with new()
...
Requires proc-macro2 0.4.4
2018-06-05 17:37:58 +02:00
Luca Barbato
2b6148d623
Use cfg_if for the nbody example
...
Avoid the combinatorial explosion once we add support for additional
architectures and simd flavours.
2018-06-05 17:37:58 +02:00
QuietMisdreavus
5ef15cd71f
tag private modules with doc(cfg)
2018-05-29 22:27:04 +02:00
Simon Sapin
9151998404
Make SIMD tracking issue marked for stdsimd too
...
https://github.com/rust-lang/rust/issues/27731
2018-05-24 18:16:14 +02:00
Luca Barbato
2a2f05aedd
Extend the xxpermdi coverage
2018-05-23 18:16:14 +02:00
Luca Barbato
3d618b3cd6
Do not run the altivec tests for powerpc64
...
The big endian variant will be supported properly later.
2018-05-23 18:16:14 +02:00
Luca Barbato
c01982348e
Add an env variable to ignore the arch-specific tests
...
Use STDSIMD_TEST_NORUN=1 to disable them.
2018-05-23 18:16:14 +02:00
Luca Barbato
a1955afb47
Add multiply add saturated
2018-05-23 18:16:14 +02:00
Luca Barbato
0f4ea30683
Extend the tests
2018-05-23 18:16:14 +02:00
Luca Barbato
67746a1393
Move the endian-biased intrinsics in a separate module
2018-05-23 18:16:14 +02:00
Luca Barbato
f6cb5f20a5
Check for the extended mnemonic
...
It is what objdump produces usually.
2018-05-23 18:16:14 +02:00