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
Luca Barbato
85cae45e64
Bump rustc_demangle version
...
Otherwise some objdump output would not parse correctly.
2018-05-23 18:16:14 +02:00
Luca Barbato
b58b3f9c77
Add a assert_instr for vperm
2018-05-23 18:16:14 +02:00
Luca Barbato
870a9c6bfe
Add vec_xxpermdi
2018-05-23 18:16:14 +02:00
Luca Barbato
a05cec62fd
Implement vec_perm
...
Bit and Little endian supported.
2018-05-23 18:16:14 +02:00
Alcaro
42d6369a5d
Fix outdated docs
...
This macro is no longer named the same between platforms, so this sentence is just misleading at this point.
2018-05-22 15:27:46 +02:00
Luca Barbato
9888c6ce82
Update proc macro2 ( #455 )
...
* Update to proc_macro2 0.4 and related
* Update to proc_macro2 0.4 and related
* Update to proc_macro2 0.4 and related
* Add proc_macro_gen feature
* Update to the new rustfmt cli
* A few proc-macro2 stylistic updates
* Disable RUST_BACKTRACE by default
* Allow rustfmt failure for now
* Disable proc-macro2 nightly feature in verify-x86
Currently this causes bugs on nightly due to upstream rustc bugs, this should be
temporary
* Attempt to thwart mergefunc
* Use static relocation model on i686
2018-05-21 13:37:41 -05:00
gnzlbg
520805a8b6
make powerpc vector types newtypes ( #453 )
...
* make powerpc vector types newtypes
* fix test
2018-05-16 20:50:49 -05:00
gnzlbg
696eea0211
add run-time feature detection for powerpc ( #452 )
2018-05-16 15:19:13 -05:00
gnzlbg
9e797f2de1
bugfix: cfg(tests) should be cfg(test) ( #450 )
2018-05-16 13:59:28 -05:00
gnzlbg
8ea9bc53f1
Initial PowerPC altivec and VSX support ( #447 )
...
* add some powerpc/powerpc64 altivec/vsx intrinsics
* temporarily make IntoBits/FromBits inline(always)
* include powerpc64 module; use inline(always) from/into_bits only on powerpc
2018-05-16 12:10:19 -05:00