summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/target/issue-3105.rs
blob: 4f1123805b82708738009555869f89b29c96f887 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// 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
            ]);
        };
    }
}