| // rustfmt-wrap_comments: true | |
| /// Although the indentation of the skipped method is off, it shouldn't be | |
| /// changed. | |
| /// | |
| /// ``` | |
| /// pub unsafe fn _mm256_shufflehi_epi16(a: __m256i, imm8: i32) -> __m256i { | |
| /// let imm8 = (imm8 & 0xFF) as u8; | |
| /// let a = a.as_i16x16(); | |
| /// macro_rules! shuffle_done { | |
| /// ($x01:expr, $x23:expr, $x45:expr, $x67:expr) => { | |
| /// #[cfg_attr(rustfmt, rustfmt_skip)] | |
| /// simd_shuffle16(a, a, [ | |
| /// 0, 1, 2, 3, 4+$x01, 4+$x23, 4+$x45, 4+$x67, | |
| /// 8, 9, 10, 11, 12+$x01, 12+$x23, 12+$x45, 12+$x67 | |
| /// ]); | |
| /// }; | |
| /// } | |
| /// } | |
| /// ``` | |
| pub unsafe fn _mm256_shufflehi_epi16(a: __m256i, imm8: i32) -> __m256i { | |
| let imm8 = (imm8 & 0xFF) as u8; | |
| let a = a.as_i16x16(); | |
| macro_rules! shuffle_done { | |
| ($x01:expr, $x23:expr, $x45:expr, $x67:expr) => { | |
| #[cfg_attr(rustfmt, rustfmt_skip)] | |
| simd_shuffle16(a, a, [ | |
| 0, 1, 2, 3, 4+$x01, 4+$x23, 4+$x45, 4+$x67, | |
| 8, 9, 10, 11, 12+$x01, 12+$x23, 12+$x45, 12+$x67 | |
| ]); | |
| }; | |
| } | |
| } | |
| /// The skipped method shouldn't right-shift | |
| pub unsafe fn _mm256_shufflehi_epi32(a: __m256i, imm8: i32) -> __m256i { | |
| let imm8 = (imm8 & 0xFF) as u8; | |
| let a = a.as_i16x16(); | |
| macro_rules! shuffle_done { | |
| ($x01:expr, $x23:expr, $x45:expr, $x67:expr) => { | |
| #[cfg_attr(rustfmt, rustfmt_skip)] | |
| simd_shuffle32(a, a, [ | |
| 0, 1, 2, 3, 4+$x01, 4+$x23, 4+$x45, 4+$x67, | |
| 8, 9, 10, 11, 12+$x01, 12+$x23, 12+$x45, 12+$x67 | |
| ]); | |
| }; | |
| } | |
| } |