1 use crate::dsl::{Feature::*, Inst, Length::*, Location::*};
2 use crate::dsl::{align, fmt, inst, r, rex, rw, vex, w};
3
4 #[rustfmt::skip] // Keeps instructions on a single line.
list() -> Vec<Inst>5 pub fn list() -> Vec<Inst> {
6 vec![
7 // Packed align right.
8 inst("palignr", fmt("A", [rw(xmm1), r(align(xmm_m128)), r(imm8)]), rex([0x66, 0x0F, 0x3A, 0x0F]).ib(), (_64b | compat) & ssse3).alt(avx, "vpalignr_b"),
9 inst("vpalignr", fmt("B", [w(xmm1), r(xmm2), r(xmm_m128), r(imm8)]), vex(L128)._66()._0f3a().ib().op(0x0F), (_64b | compat) & avx),
10 ]
11 }
12