Alex Crichton
9413ec01a7
Don't backtrace failures on windows
2017-09-26 20:03:01 -07:00
Adam
6486b65308
Add assert_instr to the rest of avx.rs
2017-09-26 22:57:32 -04:00
Adam
d3b97d0566
Add vaddsubps
2017-09-26 22:56:10 -04:00
Adam
ecfad658fc
Add vmulpd and vmulps
2017-09-26 22:55:18 -04:00
Alex Crichton
87afb940eb
Fix a test on Windows
2017-09-26 19:14:25 -07:00
Alex Crichton
c201942094
Tweak some test asserts and style
2017-09-26 19:06:44 -07:00
Adam
a01fd615ba
Use new assert_instr
2017-09-26 21:19:02 -04:00
Adam Niederer
d5ed881685
Merge branch 'master' into master
2017-09-26 19:37:59 -04:00
Adam
e1dd2ae43c
Constify vroundpd, add tests for vsubps and vsubpd
...
Tests are still up in the air because of #49 .
2017-09-26 19:36:38 -04:00
Alex Crichton
60fbf44231
Run bmi tests everywhere
2017-09-26 15:55:36 -07:00
Alex Crichton
1d6fbebf11
x86 intrinsics TODO is now in an issue
2017-09-26 15:08:40 -07:00
Alex Crichton
15530322e6
Merge branch 'master' of https://github.com/mohanrajendran/stdsimd
2017-09-26 15:06:44 -07:00
Alex Crichton
6fbab9af44
Add a test for x86 runtime support
...
Make sure we agree with the `cupid` crate
2017-09-26 14:58:41 -07:00
Alex Crichton
2660ba176e
Fix a merge conflict
2017-09-26 14:53:20 -07:00
Alex Crichton
129f7191dd
Merge pull request #44 from alexcrichton/assert
...
Add AVX2 instruction assertiosn
2017-09-26 16:49:51 -05:00
Alex Crichton
b8bcdd93c6
Always test intrinsics unconditionally
...
This commit alters the test suite to unconditionally compile and run all tests,
regardless of the ambient target features enabled. This then uses a new
convenience macro, `#[simd_test]`, to guard all tests with the appropriate
`cfg_feature_enabled!` and also enable the `#[target_feature]` appropriately.
2017-09-26 14:38:58 -07:00
Alex Crichton
1fa49dfe5d
Add AVX2 instruction assertiosn
...
Also a few other assorted modules
2017-09-26 11:12:16 -07:00
Adam
6003dbf51f
Do not use nonexistent subtraction intrinsics
...
We can use the generic operators instead
2017-09-26 00:47:55 -04:00
Adam
ef97a06670
Add subtraction, rounding avx instrs
...
Adds subpd256, subps256, roundpd256, ceilpd256, floorpd256, and associated tests
2017-09-26 00:17:35 -04:00
Mohan Rajendran
b787226061
Squashing
2017-09-25 22:36:28 -05:00
Alex Crichton
299b2f3c29
Merge pull request #41 from alexcrichton/assert-small
...
Assert that diassembly is "small"
2017-09-25 16:10:36 -05:00
Alex Crichton
e5a98843b4
Assert that diassembly is "small"
...
There's a lot of trickery in this crate which expands to a lot of code, so in
addition to asserting that we find the right instruction, let's assert we find
a small function as well (as these should all be just one or so instructions
anyway).
2017-09-25 13:55:48 -07:00
Alex Crichton
58119db1a0
Fix link in README
2017-09-25 13:45:00 -07:00
Alex Crichton
1d22fe36b9
Update CONTRIBUTING
2017-09-25 13:44:20 -07:00
Alex Crichton
a03935143f
Add links to docs
2017-09-25 13:39:02 -07:00
Alex Crichton
b44d388d88
Add aarch64 docs
2017-09-25 13:38:12 -07:00
Alex Crichton
d978ac4c81
Write some short crate docs
2017-09-25 13:36:32 -07:00
Alex Crichton
f7a3fd65fd
Add some doc urls
2017-09-25 13:18:52 -07:00
Alex Crichton
a5d562faba
No need to debug so much
2017-09-25 13:17:41 -07:00
Alex Crichton
f17ac643a1
Tweak dox script
2017-09-25 13:15:32 -07:00
Alex Crichton
145a8694e1
Remove stray dir
2017-09-25 13:13:59 -07:00
Alex Crichton
63b5c09168
Add documentation generation
2017-09-25 13:13:01 -07:00
Alex Crichton
bcd2d9aa30
Update the README with some extra badges and info
2017-09-25 13:02:32 -07:00
Alex Crichton
903ed4f602
Add license files
...
Closes #12
2017-09-25 12:43:06 -07:00
Alex Crichton
d30ac624f8
Merge pull request #31 from gnzlbg/runtime_detection
...
[runtime] initial run-time feature detection support
2017-09-25 14:09:26 -05:00
Alex Crichton
4d504a7767
Merge pull request #38 from kocsis1david/master
...
Some SSE instructions
2017-09-25 14:05:38 -05:00
Dávid Kocsis
1d3f72c336
Some SSE instruction
2017-09-22 22:19:45 +02:00
Alex Crichton
5a8887b0c0
Add CI for more platforms
...
This commit adds CI for a few more targets:
* i686-unknown-linux-gnu
* arm-unknown-linux-gnueabihf
* armv7-unknown-linux-gnueabihf
* aarch64-unknown-linux-gnu
The CI here is structured around using a Docker container to set up a test
environment and then QEMU is used to actually execute code from these platforms.
QEMU's emulation actually makes it so we can continue to just use `cargo test`,
as processes can be spawned from QEMU like `objdump` and files can be read (for
libbacktrace). Ends up being a relatively seamless experience!
Note that a number of intrinsics were disabled on i686 because they were failing
tests, and otherwise a few ARM touch-ups were made to get tests passing.
2017-09-21 12:35:46 -07:00
Alex Crichton
f1f513d461
Fix Windows MSVC CI
...
Pass the `/OPT:NOICF` flag to the linker to ensure that all functions don't get
eliminated (somethign we don't want in this scenario)
2017-09-21 09:24:15 -07:00
Alex Crichton
c77c903e88
Help debug missing assembly
2017-09-21 07:32:37 -07:00
gnzlbg
0ab8c0600d
[assert-instr] simplify
2017-09-21 16:14:16 +02:00
gnzlbg
868399bcc4
[appveyor] enable panic backtraces
2017-09-21 13:49:03 +02:00
gnzlbg
4e52b8641a
Merge branch 'master' into runtime_detection
2017-09-21 13:09:46 +02:00
gnzlbg
800b43ec59
[assert-instr] compare only the instruction prefix
...
When comparing the assembly instructions against
the expected instruction, depending on the platform,
we might end up with `tzcntl != tzcnt`. This
commit truncates the instructions to the length
of the expected instruction, such that `tzcntl => tzcnt`
and the comparison succeeds.
2017-09-21 09:34:06 +02:00
gnzlbg
bbeec63f52
[bmi] add some more code-gen tests
2017-09-21 09:07:52 +02:00
gnzlbg
53540f0eee
[arm] bitwise manipulation instructions
2017-09-20 21:53:21 +02:00
gnzlbg
7ac777c523
remove explicit discriminant values
2017-09-20 20:56:33 +02:00
gnzlbg
0dc630020a
[runtime] initial run-time feature detection support
2017-09-20 20:25:37 +02:00
Alex Crichton
124f731ce2
Migrate existing tests to #[assert_instr]
...
Also add some documentation to the assert_instr infrastructure
2017-09-20 10:29:39 -07:00
Alex Crichton
5e8f0e72b5
Merge pull request #28 from alexcrichton/tests
...
Add assertions correct instructions are generated
2017-09-20 12:01:51 -05:00