my rust fork
https://www.rust-lang.org
* Define _mm_aes*_si128 intrinsics * Add tests for _mm_aes*_si128 intrinsics These tests are based on the examples in Microsoft's documentation. Same input should result in the same output in any case. * Constify imm8 argument of aeskeygenassist * Do not rely on internal layout of __m128 Use _mm_set_epi64x instead to construct constants. * Move AES vendor intrinsics from x86_64 to i686 Although i686 does not have the AES New Instructions, making code compatible across x86 and x64_64 tends to be easier if the intrinsics are available everywhere. * Pass constant for assert_instr(aeskeygenassist) Pass a particular value for the disassembly test, so we end up with one instruction, instead of the match arm that matches on all 256 values. * Make aeskeygenassist imm8 argument i32, not u8 Intel documentation specifies it as an "8-bit round constant", but then goes on to give it a type "const int", which translates to i32 in Rust. The test that verifies the Rust signatures against Intel documentation failed on this. For now we will replicate the C API verbatim. Even when Rust could have a more accurate type signature that makes passing values more than 8 bits impossible, rather than silently mapping out-of-range values to 255. * Reflow doc comment as proposed by rustfmt * Add module doc comment for i686::aes |
||
|---|---|---|
| library/stdarch | ||