Lines Matching refs:OperandSize

7         DivKind, Extend, ExtendKind, ExtendType, IntCmpKind, MulWideKind, OperandSize, RemKind,
143 impl From<OperandSize> for args::OperandSize { implementation
144 fn from(size: OperandSize) -> Self { in from()
146 OperandSize::S8 => Self::Size8, in from()
147 OperandSize::S16 => Self::Size16, in from()
148 OperandSize::S32 => Self::Size32, in from()
149 OperandSize::S64 => Self::Size64, in from()
324 pub fn load_fp_const(&mut self, dst: WritableReg, constant: &[u8], size: OperandSize) { in load_fp_const() argument
388 pub fn mov_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in mov_rr() argument
391 OperandSize::S8 => asm::inst::movb_mr::new(dst, src).into(), in mov_rr()
392 OperandSize::S16 => asm::inst::movw_mr::new(dst, src).into(), in mov_rr()
393 OperandSize::S32 => asm::inst::movl_mr::new(dst, src).into(), in mov_rr()
394 OperandSize::S64 => asm::inst::movq_mr::new(dst, src).into(), in mov_rr()
401 pub fn mov_rm(&mut self, src: Reg, addr: &Address, size: OperandSize, flags: MemFlags) { in mov_rm() argument
405 OperandSize::S8 => asm::inst::movb_mr::new(dst, src).into(), in mov_rm()
406 OperandSize::S16 => asm::inst::movw_mr::new(dst, src).into(), in mov_rm()
407 OperandSize::S32 => asm::inst::movl_mr::new(dst, src).into(), in mov_rm()
408 OperandSize::S64 => asm::inst::movq_mr::new(dst, src).into(), in mov_rm()
415 pub fn mov_im(&mut self, src: i32, addr: &Address, size: OperandSize, flags: MemFlags) { in mov_im() argument
419 OperandSize::S8 => { in mov_im()
423 OperandSize::S16 => { in mov_im()
427 OperandSize::S32 => asm::inst::movl_mi::new(dst, src.cast_unsigned()).into(), in mov_im()
428 OperandSize::S64 => asm::inst::movq_mi_sxl::new(dst, src).into(), in mov_im()
435 pub fn mov_ir(&mut self, imm: u64, dst: WritableReg, size: OperandSize) { in mov_ir() argument
530 pub fn cmov(&mut self, src: Reg, dst: WritableReg, cc: IntCmpKind, size: OperandSize) { in cmov() argument
532 use OperandSize::*; in cmov()
567 pub fn xmm_mov_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_mov_rr() argument
569 OperandSize::S32 => types::F32, in xmm_mov_rr()
570 OperandSize::S64 => types::F64, in xmm_mov_rr()
571 OperandSize::S128 => types::I32X4, in xmm_mov_rr()
572 OperandSize::S8 | OperandSize::S16 => unreachable!(), in xmm_mov_rr()
582 size: OperandSize, in xmm_mov_mr() argument
585 use OperandSize::*; in xmm_mov_mr()
641 size: OperandSize, in xmm_vpbroadcast_mr() argument
648 OperandSize::S8 => asm::inst::vpbroadcastb_a::new(dst, src).into(), in xmm_vpbroadcast_mr()
649 OperandSize::S16 => asm::inst::vpbroadcastw_a::new(dst, src).into(), in xmm_vpbroadcast_mr()
650 OperandSize::S32 => asm::inst::vpbroadcastd_a::new(dst, src).into(), in xmm_vpbroadcast_mr()
657 pub fn xmm_vpbroadcast_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpbroadcast_rr() argument
661 OperandSize::S8 => asm::inst::vpbroadcastb_a::new(dst, src).into(), in xmm_vpbroadcast_rr()
662 OperandSize::S16 => asm::inst::vpbroadcastw_a::new(dst, src).into(), in xmm_vpbroadcast_rr()
663 OperandSize::S32 => asm::inst::vpbroadcastd_a::new(dst, src).into(), in xmm_vpbroadcast_rr()
675 size: OperandSize, in xmm_vpshuf_mr() argument
681 OperandSize::S32 => asm::inst::vpshufd_a::new(dst, src, mask).into(), in xmm_vpshuf_mr()
688 pub fn xmm_vpshuf_rr(&mut self, src: Reg, dst: WritableReg, mask: u8, size: OperandSize) { in xmm_vpshuf_rr() argument
692 OperandSize::S16 => asm::inst::vpshuflw_a::new(dst, src, mask).into(), in xmm_vpshuf_rr()
693 OperandSize::S32 => asm::inst::vpshufd_a::new(dst, src, mask).into(), in xmm_vpshuf_rr()
701 pub fn xmm_mov_rm(&mut self, src: Reg, dst: &Address, size: OperandSize, flags: MemFlags) { in xmm_mov_rm() argument
702 use OperandSize::*; in xmm_mov_rm()
718 pub fn xmm_cmov(&mut self, src: Reg, dst: WritableReg, cc: IntCmpKind, size: OperandSize) { in xmm_cmov() argument
721 OperandSize::S32 => types::F32, in xmm_cmov()
722 OperandSize::S64 => types::F64, in xmm_cmov()
724 OperandSize::S128 => types::I32X4, in xmm_cmov()
725 OperandSize::S8 | OperandSize::S16 => unreachable!(), in xmm_cmov()
738 pub fn sub_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in sub_rr() argument
741 OperandSize::S8 => asm::inst::subb_rm::new(dst, src).into(), in sub_rr()
742 OperandSize::S16 => asm::inst::subw_rm::new(dst, src).into(), in sub_rr()
743 OperandSize::S32 => asm::inst::subl_rm::new(dst, src).into(), in sub_rr()
744 OperandSize::S64 => asm::inst::subq_rm::new(dst, src).into(), in sub_rr()
745 OperandSize::S128 => unimplemented!(), in sub_rr()
751 pub fn sub_ir(&mut self, imm: i32, dst: WritableReg, size: OperandSize) { in sub_ir() argument
754 OperandSize::S8 => asm::inst::subb_mi::new(dst, u8::try_from(imm).unwrap()).into(), in sub_ir()
755 OperandSize::S16 => asm::inst::subw_mi::new(dst, u16::try_from(imm).unwrap()).into(), in sub_ir()
756 OperandSize::S32 => asm::inst::subl_mi::new(dst, imm as u32).into(), in sub_ir()
757 OperandSize::S64 => asm::inst::subq_mi_sxl::new(dst, imm).into(), in sub_ir()
758 OperandSize::S128 => unimplemented!(), in sub_ir()
764 pub fn and_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in and_rr() argument
767 OperandSize::S8 => asm::inst::andb_rm::new(dst, src).into(), in and_rr()
768 OperandSize::S16 => asm::inst::andw_rm::new(dst, src).into(), in and_rr()
769 OperandSize::S32 => asm::inst::andl_rm::new(dst, src).into(), in and_rr()
770 OperandSize::S64 => asm::inst::andq_rm::new(dst, src).into(), in and_rr()
771 OperandSize::S128 => unimplemented!(), in and_rr()
776 pub fn and_ir(&mut self, imm: i32, dst: WritableReg, size: OperandSize) { in and_ir() argument
779 OperandSize::S8 => asm::inst::andb_mi::new(dst, u8::try_from(imm).unwrap()).into(), in and_ir()
780 OperandSize::S16 => asm::inst::andw_mi::new(dst, u16::try_from(imm).unwrap()).into(), in and_ir()
781 OperandSize::S32 => asm::inst::andl_mi::new(dst, imm as u32).into(), in and_ir()
782 OperandSize::S64 => asm::inst::andq_mi_sxl::new(dst, imm).into(), in and_ir()
783 OperandSize::S128 => unimplemented!(), in and_ir()
789 pub fn xmm_and_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_and_rr() argument
792 OperandSize::S32 => asm::inst::andps_a::new(dst, src).into(), in xmm_and_rr()
793 OperandSize::S64 => asm::inst::andpd_a::new(dst, src).into(), in xmm_and_rr()
794 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_and_rr()
800 pub fn xmm_andn_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_andn_rr() argument
803 OperandSize::S32 => asm::inst::andnps_a::new(dst, src).into(), in xmm_andn_rr()
804 OperandSize::S64 => asm::inst::andnpd_a::new(dst, src).into(), in xmm_andn_rr()
805 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_andn_rr()
810 pub fn gpr_to_xmm(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in gpr_to_xmm() argument
813 OperandSize::S32 => asm::inst::movd_a::new(dst, src).into(), in gpr_to_xmm()
814 OperandSize::S64 => asm::inst::movq_a::new(dst, src).into(), in gpr_to_xmm()
815 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in gpr_to_xmm()
821 pub fn xmm_to_gpr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_to_gpr() argument
825 OperandSize::S32 => asm::inst::movd_b::new(dst, src).into(), in xmm_to_gpr()
826 OperandSize::S64 => asm::inst::movq_b::new(dst, src).into(), in xmm_to_gpr()
827 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_to_gpr()
840 src_size: OperandSize, in cvt_float_to_sint_seq() argument
841 dst_size: OperandSize, in cvt_float_to_sint_seq() argument
863 src_size: OperandSize, in cvt_float_to_uint_seq() argument
864 dst_size: OperandSize, in cvt_float_to_uint_seq() argument
884 src_size: OperandSize, in cvt_sint_to_float() argument
885 dst_size: OperandSize, in cvt_sint_to_float() argument
887 use OperandSize::*; in cvt_sint_to_float()
906 dst_size: OperandSize, in cvt_uint64_to_float_seq() argument
922 src_size: OperandSize, in cvt_float_to_float() argument
923 dst_size: OperandSize, in cvt_float_to_float() argument
925 use OperandSize::*; in cvt_float_to_float()
935 pub fn or_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in or_rr() argument
938 OperandSize::S8 => asm::inst::orb_rm::new(dst, src).into(), in or_rr()
939 OperandSize::S16 => asm::inst::orw_rm::new(dst, src).into(), in or_rr()
940 OperandSize::S32 => asm::inst::orl_rm::new(dst, src).into(), in or_rr()
941 OperandSize::S64 => asm::inst::orq_rm::new(dst, src).into(), in or_rr()
942 OperandSize::S128 => unimplemented!(), in or_rr()
947 pub fn or_ir(&mut self, imm: i32, dst: WritableReg, size: OperandSize) { in or_ir() argument
950 OperandSize::S8 => asm::inst::orb_mi::new(dst, u8::try_from(imm).unwrap()).into(), in or_ir()
951 OperandSize::S16 => asm::inst::orw_mi::new(dst, u16::try_from(imm).unwrap()).into(), in or_ir()
952 OperandSize::S32 => asm::inst::orl_mi::new(dst, imm as u32).into(), in or_ir()
953 OperandSize::S64 => asm::inst::orq_mi_sxl::new(dst, imm).into(), in or_ir()
954 OperandSize::S128 => unimplemented!(), in or_ir()
959 pub fn xmm_or_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_or_rr() argument
962 OperandSize::S32 => asm::inst::orps_a::new(dst, src).into(), in xmm_or_rr()
963 OperandSize::S64 => asm::inst::orpd_a::new(dst, src).into(), in xmm_or_rr()
964 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_or_rr()
970 pub fn xor_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xor_rr() argument
973 OperandSize::S8 => asm::inst::xorb_rm::new(dst, src).into(), in xor_rr()
974 OperandSize::S16 => asm::inst::xorw_rm::new(dst, src).into(), in xor_rr()
975 OperandSize::S32 => asm::inst::xorl_rm::new(dst, src).into(), in xor_rr()
976 OperandSize::S64 => asm::inst::xorq_rm::new(dst, src).into(), in xor_rr()
977 OperandSize::S128 => unimplemented!(), in xor_rr()
982 pub fn xor_ir(&mut self, imm: i32, dst: WritableReg, size: OperandSize) { in xor_ir() argument
985 OperandSize::S8 => asm::inst::xorb_mi::new(dst, u8::try_from(imm).unwrap()).into(), in xor_ir()
986 OperandSize::S16 => asm::inst::xorw_mi::new(dst, u16::try_from(imm).unwrap()).into(), in xor_ir()
987 OperandSize::S32 => asm::inst::xorl_mi::new(dst, imm as u32).into(), in xor_ir()
988 OperandSize::S64 => asm::inst::xorq_mi_sxl::new(dst, imm).into(), in xor_ir()
989 OperandSize::S128 => unimplemented!(), in xor_ir()
995 pub fn xmm_xor_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_xor_rr() argument
998 OperandSize::S32 => asm::inst::xorps_a::new(dst, src).into(), in xmm_xor_rr()
999 OperandSize::S64 => asm::inst::xorpd_a::new(dst, src).into(), in xmm_xor_rr()
1000 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_xor_rr()
1006 pub fn shift_rr(&mut self, src: Reg, dst: WritableReg, kind: ShiftKind, size: OperandSize) { in shift_rr() argument
1010 (ShiftKind::Shl, OperandSize::S32) => asm::inst::shll_mc::new(dst, src).into(), in shift_rr()
1011 (ShiftKind::Shl, OperandSize::S64) => asm::inst::shlq_mc::new(dst, src).into(), in shift_rr()
1013 (ShiftKind::ShrS, OperandSize::S32) => asm::inst::sarl_mc::new(dst, src).into(), in shift_rr()
1014 (ShiftKind::ShrS, OperandSize::S64) => asm::inst::sarq_mc::new(dst, src).into(), in shift_rr()
1016 (ShiftKind::ShrU, OperandSize::S32) => asm::inst::shrl_mc::new(dst, src).into(), in shift_rr()
1017 (ShiftKind::ShrU, OperandSize::S64) => asm::inst::shrq_mc::new(dst, src).into(), in shift_rr()
1019 (ShiftKind::Rotl, OperandSize::S32) => asm::inst::roll_mc::new(dst, src).into(), in shift_rr()
1020 (ShiftKind::Rotl, OperandSize::S64) => asm::inst::rolq_mc::new(dst, src).into(), in shift_rr()
1022 (ShiftKind::Rotr, OperandSize::S32) => asm::inst::rorl_mc::new(dst, src).into(), in shift_rr()
1023 (ShiftKind::Rotr, OperandSize::S64) => asm::inst::rorq_mc::new(dst, src).into(), in shift_rr()
1030 pub fn shift_ir(&mut self, imm: u8, dst: WritableReg, kind: ShiftKind, size: OperandSize) { in shift_ir() argument
1033 (ShiftKind::Shl, OperandSize::S32) => asm::inst::shll_mi::new(dst, imm).into(), in shift_ir()
1034 (ShiftKind::Shl, OperandSize::S64) => asm::inst::shlq_mi::new(dst, imm).into(), in shift_ir()
1036 (ShiftKind::ShrS, OperandSize::S32) => asm::inst::sarl_mi::new(dst, imm).into(), in shift_ir()
1037 (ShiftKind::ShrS, OperandSize::S64) => asm::inst::sarq_mi::new(dst, imm).into(), in shift_ir()
1039 (ShiftKind::ShrU, OperandSize::S32) => asm::inst::shrl_mi::new(dst, imm).into(), in shift_ir()
1040 (ShiftKind::ShrU, OperandSize::S64) => asm::inst::shrq_mi::new(dst, imm).into(), in shift_ir()
1042 (ShiftKind::Rotl, OperandSize::S32) => asm::inst::roll_mi::new(dst, imm).into(), in shift_ir()
1043 (ShiftKind::Rotl, OperandSize::S64) => asm::inst::rolq_mi::new(dst, imm).into(), in shift_ir()
1045 (ShiftKind::Rotr, OperandSize::S32) => asm::inst::rorl_mi::new(dst, imm).into(), in shift_ir()
1046 (ShiftKind::Rotr, OperandSize::S64) => asm::inst::rorq_mi::new(dst, imm).into(), in shift_ir()
1058 pub fn div(&mut self, divisor: Reg, dst: (Reg, Reg), kind: DivKind, size: OperandSize) { in div() argument
1075 OperandSize::S32 => asm::inst::cltd_zo::new(ext_dst, ext_src).into(), in div()
1076 OperandSize::S64 => asm::inst::cqto_zo::new(ext_dst, ext_src).into(), in div()
1096 (DivKind::Signed, OperandSize::S32) => { in div()
1099 (DivKind::Unsigned, OperandSize::S32) => { in div()
1102 (DivKind::Signed, OperandSize::S64) => { in div()
1105 (DivKind::Unsigned, OperandSize::S64) => { in div()
1120 pub fn rem(&mut self, divisor: Reg, dst: (Reg, Reg), kind: RemKind, size: OperandSize) { in rem() argument
1132 OperandSize::S32 => asm::inst::cltd_zo::new(ext_dst, ext_src).into(), in rem()
1133 OperandSize::S64 => asm::inst::cqto_zo::new(ext_dst, ext_src).into(), in rem()
1155 OperandSize::S32 => asm::inst::divl_m::new(dst0, dst1, divisor, trap).into(), in rem()
1156 OperandSize::S64 => asm::inst::divq_m::new(dst0, dst1, divisor, trap).into(), in rem()
1165 pub fn mul_ir(&mut self, imm: i32, dst: WritableReg, size: OperandSize) { in mul_ir() argument
1166 use OperandSize::*; in mul_ir()
1179 pub fn mul_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in mul_rr() argument
1180 use OperandSize::*; in mul_rr()
1192 pub fn add_ir(&mut self, imm: i32, dst: WritableReg, size: OperandSize) { in add_ir() argument
1195 OperandSize::S8 => asm::inst::addb_mi::new(dst, u8::try_from(imm).unwrap()).into(), in add_ir()
1196 OperandSize::S16 => asm::inst::addw_mi::new(dst, u16::try_from(imm).unwrap()).into(), in add_ir()
1197 OperandSize::S32 => asm::inst::addl_mi::new(dst, imm as u32).into(), in add_ir()
1198 OperandSize::S64 => asm::inst::addq_mi_sxl::new(dst, imm).into(), in add_ir()
1199 OperandSize::S128 => unimplemented!(), in add_ir()
1205 pub fn add_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in add_rr() argument
1208 OperandSize::S8 => asm::inst::addb_rm::new(dst, src).into(), in add_rr()
1209 OperandSize::S16 => asm::inst::addw_rm::new(dst, src).into(), in add_rr()
1210 OperandSize::S32 => asm::inst::addl_rm::new(dst, src).into(), in add_rr()
1211 OperandSize::S64 => asm::inst::addq_rm::new(dst, src).into(), in add_rr()
1212 OperandSize::S128 => unimplemented!(), in add_rr()
1221 size: OperandSize, in lock_xadd() argument
1228 OperandSize::S8 => asm::inst::lock_xaddb_mr::new(mem, dst).into(), in lock_xadd()
1229 OperandSize::S16 => asm::inst::lock_xaddw_mr::new(mem, dst).into(), in lock_xadd()
1230 OperandSize::S32 => asm::inst::lock_xaddl_mr::new(mem, dst).into(), in lock_xadd()
1231 OperandSize::S64 => asm::inst::lock_xaddq_mr::new(mem, dst).into(), in lock_xadd()
1232 OperandSize::S128 => unimplemented!(), in lock_xadd()
1244 size: OperandSize, in atomic_rmw_seq() argument
1260 pub fn xchg(&mut self, addr: Address, dst: WritableReg, size: OperandSize, flags: MemFlags) { in xchg() argument
1265 OperandSize::S8 => asm::inst::xchgb_rm::new(dst, mem).into(), in xchg()
1266 OperandSize::S16 => asm::inst::xchgw_rm::new(dst, mem).into(), in xchg()
1267 OperandSize::S32 => asm::inst::xchgl_rm::new(dst, mem).into(), in xchg()
1268 OperandSize::S64 => asm::inst::xchgq_rm::new(dst, mem).into(), in xchg()
1269 OperandSize::S128 => unimplemented!(), in xchg()
1279 size: OperandSize, in cmpxchg() argument
1286 OperandSize::S8 => asm::inst::lock_cmpxchgb_mr::new(mem, replacement, dst).into(), in cmpxchg()
1287 OperandSize::S16 => asm::inst::lock_cmpxchgw_mr::new(mem, replacement, dst).into(), in cmpxchg()
1288 OperandSize::S32 => asm::inst::lock_cmpxchgl_mr::new(mem, replacement, dst).into(), in cmpxchg()
1289 OperandSize::S64 => asm::inst::lock_cmpxchgq_mr::new(mem, replacement, dst).into(), in cmpxchg()
1290 OperandSize::S128 => unimplemented!(), in cmpxchg()
1296 pub fn cmp_ir(&mut self, src1: Reg, imm: i32, size: OperandSize) { in cmp_ir() argument
1298 OperandSize::S8 => { in cmp_ir()
1302 OperandSize::S16 => match i8::try_from(imm) { in cmp_ir()
1309 OperandSize::S32 => match i8::try_from(imm) { in cmp_ir()
1313 OperandSize::S64 => match i8::try_from(imm) { in cmp_ir()
1317 OperandSize::S128 => unimplemented!(), in cmp_ir()
1323 pub fn cmp_rr(&mut self, src1: Reg, src2: Reg, size: OperandSize) { in cmp_rr() argument
1325 OperandSize::S8 => asm::inst::cmpb_rm::new(src1, src2).into(), in cmp_rr()
1326 OperandSize::S16 => asm::inst::cmpw_rm::new(src1, src2).into(), in cmp_rr()
1327 OperandSize::S32 => asm::inst::cmpl_rm::new(src1, src2).into(), in cmp_rr()
1328 OperandSize::S64 => asm::inst::cmpq_rm::new(src1, src2).into(), in cmp_rr()
1329 OperandSize::S128 => unimplemented!(), in cmp_rr()
1337 pub fn ucomis(&mut self, src1: Reg, src2: Reg, size: OperandSize) { in ucomis() argument
1339 OperandSize::S32 => asm::inst::ucomiss_a::new(src1, src2).into(), in ucomis()
1340 OperandSize::S64 => asm::inst::ucomisd_a::new(src1, src2).into(), in ucomis()
1341 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in ucomis()
1346 pub fn popcnt(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in popcnt() argument
1353 OperandSize::S16 => asm::inst::popcntw_rm::new(dst, src).into(), in popcnt()
1354 OperandSize::S32 => asm::inst::popcntl_rm::new(dst, src).into(), in popcnt()
1355 OperandSize::S64 => asm::inst::popcntq_rm::new(dst, src).into(), in popcnt()
1356 OperandSize::S8 | OperandSize::S128 => unreachable!(), in popcnt()
1362 pub fn test_rr(&mut self, src1: Reg, src2: Reg, size: OperandSize) { in test_rr() argument
1364 OperandSize::S8 => asm::inst::testb_mr::new(src1, src2).into(), in test_rr()
1365 OperandSize::S16 => asm::inst::testw_mr::new(src1, src2).into(), in test_rr()
1366 OperandSize::S32 => asm::inst::testl_mr::new(src1, src2).into(), in test_rr()
1367 OperandSize::S64 => asm::inst::testq_mr::new(src1, src2).into(), in test_rr()
1368 OperandSize::S128 => unimplemented!(), in test_rr()
1428 pub fn lzcnt(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in lzcnt() argument
1432 OperandSize::S16 => asm::inst::lzcntw_rm::new(dst, src).into(), in lzcnt()
1433 OperandSize::S32 => asm::inst::lzcntl_rm::new(dst, src).into(), in lzcnt()
1434 OperandSize::S64 => asm::inst::lzcntq_rm::new(dst, src).into(), in lzcnt()
1435 OperandSize::S8 | OperandSize::S128 => unreachable!(), in lzcnt()
1442 pub fn tzcnt(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in tzcnt() argument
1446 OperandSize::S16 => asm::inst::tzcntw_a::new(dst, src).into(), in tzcnt()
1447 OperandSize::S32 => asm::inst::tzcntl_a::new(dst, src).into(), in tzcnt()
1448 OperandSize::S64 => asm::inst::tzcntq_a::new(dst, src).into(), in tzcnt()
1449 OperandSize::S8 | OperandSize::S128 => unreachable!(), in tzcnt()
1456 pub fn bsr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in bsr() argument
1459 OperandSize::S16 => asm::inst::bsrw_rm::new(dst, src).into(), in bsr()
1460 OperandSize::S32 => asm::inst::bsrl_rm::new(dst, src).into(), in bsr()
1461 OperandSize::S64 => asm::inst::bsrq_rm::new(dst, src).into(), in bsr()
1462 OperandSize::S8 | OperandSize::S128 => unreachable!(), in bsr()
1468 pub fn neg(&mut self, read: Reg, write: WritableReg, size: OperandSize) { in neg() argument
1474 OperandSize::S8 => asm::inst::negb_m::new(gpr).into(), in neg()
1475 OperandSize::S16 => asm::inst::negw_m::new(gpr).into(), in neg()
1476 OperandSize::S32 => asm::inst::negl_m::new(gpr).into(), in neg()
1477 OperandSize::S64 => asm::inst::negq_m::new(gpr).into(), in neg()
1478 OperandSize::S128 => unreachable!(), in neg()
1485 pub fn bsf(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in bsf() argument
1488 OperandSize::S16 => asm::inst::bsfw_rm::new(dst, src).into(), in bsf()
1489 OperandSize::S32 => asm::inst::bsfl_rm::new(dst, src).into(), in bsf()
1490 OperandSize::S64 => asm::inst::bsfq_rm::new(dst, src).into(), in bsf()
1491 OperandSize::S8 | OperandSize::S128 => unreachable!(), in bsf()
1497 pub fn xmm_add_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_add_rr() argument
1500 OperandSize::S32 => asm::inst::addss_a::new(dst, src).into(), in xmm_add_rr()
1501 OperandSize::S64 => asm::inst::addsd_a::new(dst, src).into(), in xmm_add_rr()
1502 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_add_rr()
1508 pub fn xmm_sub_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_sub_rr() argument
1511 OperandSize::S32 => asm::inst::subss_a::new(dst, src).into(), in xmm_sub_rr()
1512 OperandSize::S64 => asm::inst::subsd_a::new(dst, src).into(), in xmm_sub_rr()
1513 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_sub_rr()
1519 pub fn xmm_mul_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_mul_rr() argument
1520 use OperandSize::*; in xmm_mul_rr()
1531 pub fn xmm_div_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_div_rr() argument
1534 OperandSize::S32 => asm::inst::divss_a::new(dst, src).into(), in xmm_div_rr()
1535 OperandSize::S64 => asm::inst::divsd_a::new(dst, src).into(), in xmm_div_rr()
1536 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_div_rr()
1542 pub fn xmm_min_seq(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_min_seq() argument
1553 pub fn xmm_max_seq(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_max_seq() argument
1570 size: OperandSize, in xmm_rounds_rr() argument
1582 OperandSize::S32 => asm::inst::roundss_rmi::new(dst, src, imm).into(), in xmm_rounds_rr()
1583 OperandSize::S64 => asm::inst::roundsd_rmi::new(dst, src, imm).into(), in xmm_rounds_rr()
1584 OperandSize::S8 | OperandSize::S16 | OperandSize::S128 => unreachable!(), in xmm_rounds_rr()
1590 pub fn sqrt(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in sqrt() argument
1591 use OperandSize::*; in sqrt()
1661 pub fn lea(&mut self, addr: &Address, dst: WritableReg, size: OperandSize) { in lea() argument
1665 OperandSize::S16 => asm::inst::leaw_rm::new(dst, addr).into(), in lea()
1666 OperandSize::S32 => asm::inst::leal_rm::new(dst, addr).into(), in lea()
1667 OperandSize::S64 => asm::inst::leaq_rm::new(dst, addr).into(), in lea()
1668 OperandSize::S8 | OperandSize::S128 => unimplemented!(), in lea()
1673 pub fn adc_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in adc_rr() argument
1676 OperandSize::S8 => asm::inst::adcb_rm::new(dst, src).into(), in adc_rr()
1677 OperandSize::S16 => asm::inst::adcw_rm::new(dst, src).into(), in adc_rr()
1678 OperandSize::S32 => asm::inst::adcl_rm::new(dst, src).into(), in adc_rr()
1679 OperandSize::S64 => asm::inst::adcq_rm::new(dst, src).into(), in adc_rr()
1680 OperandSize::S128 => unimplemented!(), in adc_rr()
1685 pub fn sbb_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in sbb_rr() argument
1688 OperandSize::S8 => asm::inst::sbbb_rm::new(dst, src).into(), in sbb_rr()
1689 OperandSize::S16 => asm::inst::sbbw_rm::new(dst, src).into(), in sbb_rr()
1690 OperandSize::S32 => asm::inst::sbbl_rm::new(dst, src).into(), in sbb_rr()
1691 OperandSize::S64 => asm::inst::sbbq_rm::new(dst, src).into(), in sbb_rr()
1692 OperandSize::S128 => unimplemented!(), in sbb_rr()
1704 size: OperandSize, in mul_wide() argument
1707 use OperandSize::*; in mul_wide()
1758 size: OperandSize, in xmm_vpaddus_rrm() argument
1763 OperandSize::S8 => asm::inst::vpaddusb_b::new(dst, src1, src2).into(), in xmm_vpaddus_rrm()
1764 OperandSize::S32 => asm::inst::vpaddusw_b::new(dst, src1, src2).into(), in xmm_vpaddus_rrm()
1774 pub fn xmm_vpaddus_rrr(&mut self, dst: WritableReg, src1: Reg, src2: Reg, size: OperandSize) { in xmm_vpaddus_rrr() argument
1777 OperandSize::S8 => asm::inst::vpaddusb_b::new(dst, src1, src2).into(), in xmm_vpaddus_rrr()
1778 OperandSize::S16 => asm::inst::vpaddusw_b::new(dst, src1, src2).into(), in xmm_vpaddus_rrr()
1785 pub fn xmm_vpadds_rrr(&mut self, dst: WritableReg, src1: Reg, src2: Reg, size: OperandSize) { in xmm_vpadds_rrr() argument
1788 OperandSize::S8 => asm::inst::vpaddsb_b::new(dst, src1, src2).into(), in xmm_vpadds_rrr()
1789 OperandSize::S16 => asm::inst::vpaddsw_b::new(dst, src1, src2).into(), in xmm_vpadds_rrr()
1800 size: OperandSize, in xmm_vpadd_rmr() argument
1805 OperandSize::S8 => asm::inst::vpaddb_b::new(dst, src1, address).into(), in xmm_vpadd_rmr()
1806 OperandSize::S16 => asm::inst::vpaddw_b::new(dst, src1, address).into(), in xmm_vpadd_rmr()
1807 OperandSize::S32 => asm::inst::vpaddd_b::new(dst, src1, address).into(), in xmm_vpadd_rmr()
1815 pub fn xmm_vpadd_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpadd_rrr() argument
1818 OperandSize::S8 => asm::inst::vpaddb_b::new(dst, src1, src2).into(), in xmm_vpadd_rrr()
1819 OperandSize::S16 => asm::inst::vpaddw_b::new(dst, src1, src2).into(), in xmm_vpadd_rrr()
1820 OperandSize::S32 => asm::inst::vpaddd_b::new(dst, src1, src2).into(), in xmm_vpadd_rrr()
1821 OperandSize::S64 => asm::inst::vpaddq_b::new(dst, src1, src2).into(), in xmm_vpadd_rrr()
1839 size: OperandSize, in xmm_vpextr_rm() argument
1845 OperandSize::S8 => asm::inst::vpextrb_a::new(dst, src, lane).into(), in xmm_vpextr_rm()
1846 OperandSize::S16 => asm::inst::vpextrw_b::new(dst, src, lane).into(), in xmm_vpextr_rm()
1847 OperandSize::S32 => asm::inst::vpextrd_a::new(dst, src, lane).into(), in xmm_vpextr_rm()
1848 OperandSize::S64 => asm::inst::vpextrq_a::new(dst, src, lane).into(), in xmm_vpextr_rm()
1855 pub fn xmm_vpextr_rr(&mut self, dst: WritableReg, src: Reg, lane: u8, size: OperandSize) { in xmm_vpextr_rr() argument
1858 OperandSize::S8 => asm::inst::vpextrb_a::new(dst, src, lane).into(), in xmm_vpextr_rr()
1859 OperandSize::S16 => asm::inst::vpextrw_a::new(dst, src, lane).into(), in xmm_vpextr_rr()
1860 OperandSize::S32 => asm::inst::vpextrd_a::new(dst, src, lane).into(), in xmm_vpextr_rr()
1861 OperandSize::S64 => asm::inst::vpextrq_a::new(dst, src, lane).into(), in xmm_vpextr_rr()
1875 size: OperandSize, in xmm_vpinsr_rrm() argument
1881 OperandSize::S8 => asm::inst::vpinsrb_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrm()
1882 OperandSize::S16 => asm::inst::vpinsrw_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrm()
1883 OperandSize::S32 => asm::inst::vpinsrd_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrm()
1884 OperandSize::S64 => asm::inst::vpinsrq_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrm()
1885 OperandSize::S128 => unreachable!(), in xmm_vpinsr_rrm()
1898 size: OperandSize, in xmm_vpinsr_rrr() argument
1902 OperandSize::S8 => asm::inst::vpinsrb_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrr()
1903 OperandSize::S16 => asm::inst::vpinsrw_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrr()
1904 OperandSize::S32 => asm::inst::vpinsrd_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrr()
1905 OperandSize::S64 => asm::inst::vpinsrq_b::new(dst, src1, src2, count).into(), in xmm_vpinsr_rrr()
1906 OperandSize::S128 => unreachable!(), in xmm_vpinsr_rrr()
1971 pub fn avx_gpr_to_xmm(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in avx_gpr_to_xmm() argument
1974 OperandSize::S32 => asm::inst::vmovd_a::new(dst, src).into(), in avx_gpr_to_xmm()
1975 OperandSize::S64 => asm::inst::vmovq_a::new(dst, src).into(), in avx_gpr_to_xmm()
2002 pub fn xmm_vsubp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vsubp_rrr() argument
2005 OperandSize::S32 => asm::inst::vsubps_b::new(dst, src1, src2).into(), in xmm_vsubp_rrr()
2006 OperandSize::S64 => asm::inst::vsubpd_b::new(dst, src1, src2).into(), in xmm_vsubp_rrr()
2013 pub fn xmm_vpsub_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpsub_rrr() argument
2016 OperandSize::S8 => asm::inst::vpsubb_b::new(dst, src1, src2).into(), in xmm_vpsub_rrr()
2017 OperandSize::S16 => asm::inst::vpsubw_b::new(dst, src1, src2).into(), in xmm_vpsub_rrr()
2018 OperandSize::S32 => asm::inst::vpsubd_b::new(dst, src1, src2).into(), in xmm_vpsub_rrr()
2019 OperandSize::S64 => asm::inst::vpsubq_b::new(dst, src1, src2).into(), in xmm_vpsub_rrr()
2026 pub fn xmm_vpsubus_rrr(&mut self, dst: WritableReg, src1: Reg, src2: Reg, size: OperandSize) { in xmm_vpsubus_rrr() argument
2029 OperandSize::S8 => asm::inst::vpsubusb_b::new(dst, src1, src2).into(), in xmm_vpsubus_rrr()
2030 OperandSize::S16 => asm::inst::vpsubusw_b::new(dst, src1, src2).into(), in xmm_vpsubus_rrr()
2037 pub fn xmm_vpsubs_rrr(&mut self, dst: WritableReg, src1: Reg, src2: Reg, size: OperandSize) { in xmm_vpsubs_rrr() argument
2040 OperandSize::S8 => asm::inst::vpsubsb_b::new(dst, src1, src2).into(), in xmm_vpsubs_rrr()
2041 OperandSize::S16 => asm::inst::vpsubsw_b::new(dst, src1, src2).into(), in xmm_vpsubs_rrr()
2053 size: OperandSize, in xmm_vaddp_rrm() argument
2058 OperandSize::S32 => asm::inst::vaddps_b::new(dst, src1, address).into(), in xmm_vaddp_rrm()
2059 OperandSize::S64 => asm::inst::vaddpd_b::new(dst, src1, address).into(), in xmm_vaddp_rrm()
2066 pub fn xmm_vaddp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vaddp_rrr() argument
2069 OperandSize::S32 => asm::inst::vaddps_b::new(dst, src1, src2).into(), in xmm_vaddp_rrr()
2070 OperandSize::S64 => asm::inst::vaddpd_b::new(dst, src1, src2).into(), in xmm_vaddp_rrr()
2084 size: OperandSize, in xmm_vpcmpeq_rrm() argument
2089 OperandSize::S8 => asm::inst::vpcmpeqb_b::new(dst, lhs, address).into(), in xmm_vpcmpeq_rrm()
2090 OperandSize::S16 => asm::inst::vpcmpeqw_b::new(dst, lhs, address).into(), in xmm_vpcmpeq_rrm()
2091 OperandSize::S32 => asm::inst::vpcmpeqd_b::new(dst, lhs, address).into(), in xmm_vpcmpeq_rrm()
2092 OperandSize::S64 => asm::inst::vpcmpeqq_b::new(dst, lhs, address).into(), in xmm_vpcmpeq_rrm()
2100 pub fn xmm_vpcmpeq_rrr(&mut self, dst: WritableReg, lhs: Reg, rhs: Reg, size: OperandSize) { in xmm_vpcmpeq_rrr() argument
2103 OperandSize::S8 => asm::inst::vpcmpeqb_b::new(dst, lhs, rhs).into(), in xmm_vpcmpeq_rrr()
2104 OperandSize::S16 => asm::inst::vpcmpeqw_b::new(dst, lhs, rhs).into(), in xmm_vpcmpeq_rrr()
2105 OperandSize::S32 => asm::inst::vpcmpeqd_b::new(dst, lhs, rhs).into(), in xmm_vpcmpeq_rrr()
2106 OperandSize::S64 => asm::inst::vpcmpeqq_b::new(dst, lhs, rhs).into(), in xmm_vpcmpeq_rrr()
2114 pub fn xmm_vpcmpgt_rrr(&mut self, dst: WritableReg, lhs: Reg, rhs: Reg, size: OperandSize) { in xmm_vpcmpgt_rrr() argument
2117 OperandSize::S8 => asm::inst::vpcmpgtb_b::new(dst, lhs, rhs).into(), in xmm_vpcmpgt_rrr()
2118 OperandSize::S16 => asm::inst::vpcmpgtw_b::new(dst, lhs, rhs).into(), in xmm_vpcmpgt_rrr()
2119 OperandSize::S32 => asm::inst::vpcmpgtd_b::new(dst, lhs, rhs).into(), in xmm_vpcmpgt_rrr()
2120 OperandSize::S64 => asm::inst::vpcmpgtq_b::new(dst, lhs, rhs).into(), in xmm_vpcmpgt_rrr()
2128 pub fn xmm_vpmaxs_rrr(&mut self, dst: WritableReg, lhs: Reg, rhs: Reg, size: OperandSize) { in xmm_vpmaxs_rrr() argument
2131 OperandSize::S8 => asm::inst::vpmaxsb_b::new(dst, lhs, rhs).into(), in xmm_vpmaxs_rrr()
2132 OperandSize::S16 => asm::inst::vpmaxsw_b::new(dst, lhs, rhs).into(), in xmm_vpmaxs_rrr()
2133 OperandSize::S32 => asm::inst::vpmaxsd_b::new(dst, lhs, rhs).into(), in xmm_vpmaxs_rrr()
2141 pub fn xmm_vpmaxu_rrr(&mut self, dst: WritableReg, lhs: Reg, rhs: Reg, size: OperandSize) { in xmm_vpmaxu_rrr() argument
2144 OperandSize::S8 => asm::inst::vpmaxub_b::new(dst, lhs, rhs).into(), in xmm_vpmaxu_rrr()
2145 OperandSize::S16 => asm::inst::vpmaxuw_b::new(dst, lhs, rhs).into(), in xmm_vpmaxu_rrr()
2146 OperandSize::S32 => asm::inst::vpmaxud_b::new(dst, lhs, rhs).into(), in xmm_vpmaxu_rrr()
2154 pub fn xmm_vpmins_rrr(&mut self, dst: WritableReg, lhs: Reg, rhs: Reg, size: OperandSize) { in xmm_vpmins_rrr() argument
2157 OperandSize::S8 => asm::inst::vpminsb_b::new(dst, lhs, rhs).into(), in xmm_vpmins_rrr()
2158 OperandSize::S16 => asm::inst::vpminsw_b::new(dst, lhs, rhs).into(), in xmm_vpmins_rrr()
2159 OperandSize::S32 => asm::inst::vpminsd_b::new(dst, lhs, rhs).into(), in xmm_vpmins_rrr()
2167 pub fn xmm_vpminu_rrr(&mut self, dst: WritableReg, lhs: Reg, rhs: Reg, size: OperandSize) { in xmm_vpminu_rrr() argument
2170 OperandSize::S8 => asm::inst::vpminub_b::new(dst, lhs, rhs).into(), in xmm_vpminu_rrr()
2171 OperandSize::S16 => asm::inst::vpminuw_b::new(dst, lhs, rhs).into(), in xmm_vpminu_rrr()
2172 OperandSize::S32 => asm::inst::vpminud_b::new(dst, lhs, rhs).into(), in xmm_vpminu_rrr()
2185 size: OperandSize, in xmm_vcmpp_rrr() argument
2197 OperandSize::S32 => asm::inst::vcmpps_b::new(dst, lhs, rhs, imm).into(), in xmm_vcmpp_rrr()
2198 OperandSize::S64 => asm::inst::vcmppd_b::new(dst, lhs, rhs, imm).into(), in xmm_vcmpp_rrr()
2206 pub fn xmm_vsub_rrm(&mut self, src1: Reg, src2: &Address, dst: WritableReg, size: OperandSize) { in xmm_vsub_rrm() argument
2210 OperandSize::S64 => asm::inst::vsubpd_b::new(dst, src1, address).into(), in xmm_vsub_rrm()
2218 pub fn xmm_vsub_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vsub_rrr() argument
2221 OperandSize::S32 => asm::inst::vsubps_b::new(dst, src1, src2).into(), in xmm_vsub_rrr()
2222 OperandSize::S64 => asm::inst::vsubpd_b::new(dst, src1, src2).into(), in xmm_vsub_rrr()
2230 pub fn xmm_vpackss_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpackss_rrr() argument
2233 OperandSize::S8 => asm::inst::vpacksswb_b::new(dst, src1, src2).into(), in xmm_vpackss_rrr()
2234 OperandSize::S16 => asm::inst::vpackssdw_b::new(dst, src1, src2).into(), in xmm_vpackss_rrr()
2242 pub fn xmm_vpackus_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpackus_rrr() argument
2245 OperandSize::S8 => asm::inst::vpackuswb_b::new(dst, src1, src2).into(), in xmm_vpackus_rrr()
2246 OperandSize::S16 => asm::inst::vpackusdw_b::new(dst, src1, src2).into(), in xmm_vpackus_rrr()
2267 size: OperandSize, in xmm_vunpcklp_rrm() argument
2272 OperandSize::S32 => asm::inst::vunpcklps_b::new(dst, src1, address).into(), in xmm_vunpcklp_rrm()
2280 pub fn xmm_vunpckhp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vunpckhp_rrr() argument
2283 OperandSize::S32 => asm::inst::vunpckhps_b::new(dst, src1, src2).into(), in xmm_vunpckhp_rrr()
2291 pub fn xmm_vpunpckl_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpunpckl_rrr() argument
2294 OperandSize::S8 => asm::inst::vpunpcklbw_b::new(dst, src1, src2).into(), in xmm_vpunpckl_rrr()
2295 OperandSize::S16 => asm::inst::vpunpcklwd_b::new(dst, src1, src2).into(), in xmm_vpunpckl_rrr()
2303 pub fn xmm_vpunpckh_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpunpckh_rrr() argument
2306 OperandSize::S8 => asm::inst::vpunpckhbw_b::new(dst, src1, src2).into(), in xmm_vpunpckh_rrr()
2307 OperandSize::S16 => asm::inst::vpunpckhwd_b::new(dst, src1, src2).into(), in xmm_vpunpckh_rrr()
2325 src_size: OperandSize, in xmm_vpmovmsk_rr() argument
2326 dst_size: OperandSize, in xmm_vpmovmsk_rr() argument
2328 assert_eq!(dst_size, OperandSize::S32); in xmm_vpmovmsk_rr()
2331 OperandSize::S8 => asm::inst::vpmovmskb_rm::new(dst, src).into(), in xmm_vpmovmsk_rr()
2344 src_size: OperandSize, in xmm_vmovskp_rr() argument
2345 dst_size: OperandSize, in xmm_vmovskp_rr() argument
2347 assert_eq!(dst_size, OperandSize::S32); in xmm_vmovskp_rr()
2350 OperandSize::S32 => asm::inst::vmovmskps_rm::new(dst, src).into(), in xmm_vmovskp_rr()
2351 OperandSize::S64 => asm::inst::vmovmskpd_rm::new(dst, src).into(), in xmm_vmovskp_rr()
2360 pub fn xmm_vpabs_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpabs_rr() argument
2363 OperandSize::S8 => asm::inst::vpabsb_a::new(dst, src).into(), in xmm_vpabs_rr()
2364 OperandSize::S16 => asm::inst::vpabsw_a::new(dst, src).into(), in xmm_vpabs_rr()
2365 OperandSize::S32 => asm::inst::vpabsd_a::new(dst, src).into(), in xmm_vpabs_rr()
2373 pub fn xmm_vpsra_rrr(&mut self, src: Reg, amount: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpsra_rrr() argument
2376 OperandSize::S16 => asm::inst::vpsraw_c::new(dst, src, amount).into(), in xmm_vpsra_rrr()
2377 OperandSize::S32 => asm::inst::vpsrad_c::new(dst, src, amount).into(), in xmm_vpsra_rrr()
2385 pub fn xmm_vpsra_rri(&mut self, src: Reg, dst: WritableReg, imm: u32, size: OperandSize) { in xmm_vpsra_rri() argument
2389 OperandSize::S32 => asm::inst::vpsrad_d::new(dst, src, imm).into(), in xmm_vpsra_rri()
2396 pub fn xmm_vpsll_rri(&mut self, src: Reg, dst: WritableReg, imm: u32, size: OperandSize) { in xmm_vpsll_rri() argument
2400 OperandSize::S32 => asm::inst::vpslld_d::new(dst, src, imm).into(), in xmm_vpsll_rri()
2401 OperandSize::S64 => asm::inst::vpsllq_d::new(dst, src, imm).into(), in xmm_vpsll_rri()
2408 pub fn xmm_vpsll_rrr(&mut self, src: Reg, amount: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpsll_rrr() argument
2411 OperandSize::S16 => asm::inst::vpsllw_c::new(dst, src, amount).into(), in xmm_vpsll_rrr()
2412 OperandSize::S32 => asm::inst::vpslld_c::new(dst, src, amount).into(), in xmm_vpsll_rrr()
2413 OperandSize::S64 => asm::inst::vpsllq_c::new(dst, src, amount).into(), in xmm_vpsll_rrr()
2420 pub fn xmm_vpsrl_rri(&mut self, src: Reg, dst: WritableReg, imm: u32, size: OperandSize) { in xmm_vpsrl_rri() argument
2424 OperandSize::S16 => asm::inst::vpsrlw_d::new(dst, src, imm).into(), in xmm_vpsrl_rri()
2425 OperandSize::S32 => asm::inst::vpsrld_d::new(dst, src, imm).into(), in xmm_vpsrl_rri()
2426 OperandSize::S64 => asm::inst::vpsrlq_d::new(dst, src, imm).into(), in xmm_vpsrl_rri()
2433 pub fn xmm_vpsrl_rrr(&mut self, src: Reg, amount: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpsrl_rrr() argument
2436 OperandSize::S16 => asm::inst::vpsrlw_c::new(dst, src, amount).into(), in xmm_vpsrl_rrr()
2437 OperandSize::S32 => asm::inst::vpsrld_c::new(dst, src, amount).into(), in xmm_vpsrl_rrr()
2438 OperandSize::S64 => asm::inst::vpsrlq_c::new(dst, src, amount).into(), in xmm_vpsrl_rrr()
2451 size: OperandSize, in xmm_vandp_rrm() argument
2456 OperandSize::S32 => asm::inst::vandps_b::new(dst, src1, address).into(), in xmm_vandp_rrm()
2457 OperandSize::S64 => asm::inst::vandpd_b::new(dst, src1, address).into(), in xmm_vandp_rrm()
2465 pub fn xmm_vandp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vandp_rrr() argument
2468 OperandSize::S32 => asm::inst::vandps_b::new(dst, src1, src2).into(), in xmm_vandp_rrr()
2469 OperandSize::S64 => asm::inst::vandpd_b::new(dst, src1, src2).into(), in xmm_vandp_rrr()
2494 pub fn xmm_vandnp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vandnp_rrr() argument
2497 OperandSize::S32 => asm::inst::vandnps_b::new(dst, src1, src2).into(), in xmm_vandnp_rrr()
2498 OperandSize::S64 => asm::inst::vandnpd_b::new(dst, src1, src2).into(), in xmm_vandnp_rrr()
2514 pub fn xmm_vorp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vorp_rrr() argument
2517 OperandSize::S32 => asm::inst::vorps_b::new(dst, src1, src2).into(), in xmm_vorp_rrr()
2518 OperandSize::S64 => asm::inst::vorpd_b::new(dst, src1, src2).into(), in xmm_vorp_rrr()
2533 pub fn xmm_vxorp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vxorp_rrr() argument
2536 OperandSize::S32 => asm::inst::vxorps_b::new(dst, src1, src2).into(), in xmm_vxorp_rrr()
2537 OperandSize::S64 => asm::inst::vxorpd_b::new(dst, src1, src2).into(), in xmm_vxorp_rrr()
2562 pub fn xmm_vmaxp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vmaxp_rrr() argument
2565 OperandSize::S32 => asm::inst::vmaxps_b::new(dst, src1, src2).into(), in xmm_vmaxp_rrr()
2566 OperandSize::S64 => asm::inst::vmaxpd_b::new(dst, src1, src2).into(), in xmm_vmaxp_rrr()
2579 size: OperandSize, in xmm_vminp_rrm() argument
2584 OperandSize::S32 => asm::inst::vminps_b::new(dst, src1, address).into(), in xmm_vminp_rrm()
2585 OperandSize::S64 => asm::inst::vminpd_b::new(dst, src1, address).into(), in xmm_vminp_rrm()
2593 pub fn xmm_vminp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vminp_rrr() argument
2596 OperandSize::S32 => asm::inst::vminps_b::new(dst, src1, src2).into(), in xmm_vminp_rrr()
2597 OperandSize::S64 => asm::inst::vminpd_b::new(dst, src1, src2).into(), in xmm_vminp_rrr()
2609 size: OperandSize, in xmm_vroundp_rri() argument
2620 OperandSize::S32 => asm::inst::vroundps_rmi::new(dst, src, imm).into(), in xmm_vroundp_rri()
2621 OperandSize::S64 => asm::inst::vroundpd_rmi::new(dst, src, imm).into(), in xmm_vroundp_rri()
2635 size: OperandSize, in xmm_vshufp_rrri() argument
2639 OperandSize::S32 => asm::inst::vshufps_b::new(dst, src1, src2, imm).into(), in xmm_vshufp_rrri()
2651 pub fn xmm_vpmulhrs_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpmulhrs_rrr() argument
2654 OperandSize::S16 => asm::inst::vpmulhrsw_b::new(dst, src1, src2).into(), in xmm_vpmulhrs_rrr()
2672 pub fn xmm_vpmull_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpmull_rrr() argument
2675 OperandSize::S16 => asm::inst::vpmullw_b::new(dst, src1, src2).into(), in xmm_vpmull_rrr()
2676 OperandSize::S32 => asm::inst::vpmulld_b::new(dst, src1, src2).into(), in xmm_vpmull_rrr()
2682 pub fn xmm_vmulp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vmulp_rrr() argument
2685 OperandSize::S32 => asm::inst::vmulps_b::new(dst, src1, src2).into(), in xmm_vmulp_rrr()
2686 OperandSize::S64 => asm::inst::vmulpd_b::new(dst, src1, src2).into(), in xmm_vmulp_rrr()
2694 pub fn xmm_vpavg_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vpavg_rrr() argument
2697 OperandSize::S8 => asm::inst::vpavgb_b::new(dst, src1, src2).into(), in xmm_vpavg_rrr()
2698 OperandSize::S16 => asm::inst::vpavgw_b::new(dst, src1, src2).into(), in xmm_vpavg_rrr()
2706 pub fn xmm_vdivp_rrr(&mut self, src1: Reg, src2: Reg, dst: WritableReg, size: OperandSize) { in xmm_vdivp_rrr() argument
2709 OperandSize::S32 => asm::inst::vdivps_b::new(dst, src1, src2).into(), in xmm_vdivp_rrr()
2710 OperandSize::S64 => asm::inst::vdivpd_b::new(dst, src1, src2).into(), in xmm_vdivp_rrr()
2718 pub fn xmm_vsqrtp_rr(&mut self, src: Reg, dst: WritableReg, size: OperandSize) { in xmm_vsqrtp_rr() argument
2721 OperandSize::S32 => asm::inst::vsqrtps_b::new(dst, src).into(), in xmm_vsqrtp_rr()
2722 OperandSize::S64 => asm::inst::vsqrtpd_b::new(dst, src).into(), in xmm_vsqrtp_rr()
2778 pub(crate) fn new(reg: Reg, size: OperandSize, asm: &mut Assembler) -> Self { in new() argument
2785 OperandSize::S32 => asm::inst::addl_mi::new(reg, 0_u32).into(), in new()
2786 OperandSize::S64 => asm::inst::addq_mi_sxl::new(reg, 0_i32).into(), in new()