Lines Matching refs:SseOpcode

299             8 => (SseOpcode::Pinsrb, OperandSize::Size32),  in emit_insert_lane()
300 16 => (SseOpcode::Pinsrw, OperandSize::Size32), in emit_insert_lane()
301 32 => (SseOpcode::Pinsrd, OperandSize::Size32), in emit_insert_lane()
302 64 => (SseOpcode::Pinsrd, OperandSize::Size64), in emit_insert_lane()
307 let sse_op = SseOpcode::Insertps; in emit_insert_lane()
322 0 => SseOpcode::Movsd, in emit_insert_lane()
325 1 => SseOpcode::Movlhps, in emit_insert_lane()
347 8 => (SseOpcode::Pextrb, OperandSize::Size32), in emit_extract_lane()
348 16 => (SseOpcode::Pextrw, OperandSize::Size32), in emit_extract_lane()
349 32 => (SseOpcode::Pextrd, OperandSize::Size32), in emit_extract_lane()
350 64 => (SseOpcode::Pextrd, OperandSize::Size64), in emit_extract_lane()
363 let sse_op = SseOpcode::Pshufd; in emit_extract_lane()
585 types::F32 => SseOpcode::Ucomiss, in emit_fcmp()
586 types::F64 => SseOpcode::Ucomisd, in emit_fcmp()
1528 types::I8X16 => SseOpcode::Paddb, in lower_insn_to_regs()
1529 types::I16X8 => SseOpcode::Paddw, in lower_insn_to_regs()
1530 types::I32X4 => SseOpcode::Paddd, in lower_insn_to_regs()
1531 types::I64X2 => SseOpcode::Paddq, in lower_insn_to_regs()
1535 types::I8X16 => SseOpcode::Paddsb, in lower_insn_to_regs()
1536 types::I16X8 => SseOpcode::Paddsw, in lower_insn_to_regs()
1540 types::I8X16 => SseOpcode::Paddusb, in lower_insn_to_regs()
1541 types::I16X8 => SseOpcode::Paddusw, in lower_insn_to_regs()
1545 types::I8X16 => SseOpcode::Psubb, in lower_insn_to_regs()
1546 types::I16X8 => SseOpcode::Psubw, in lower_insn_to_regs()
1547 types::I32X4 => SseOpcode::Psubd, in lower_insn_to_regs()
1548 types::I64X2 => SseOpcode::Psubq, in lower_insn_to_regs()
1552 types::I8X16 => SseOpcode::Psubsb, in lower_insn_to_regs()
1553 types::I16X8 => SseOpcode::Psubsw, in lower_insn_to_regs()
1557 types::I8X16 => SseOpcode::Psubusb, in lower_insn_to_regs()
1558 types::I16X8 => SseOpcode::Psubusw, in lower_insn_to_regs()
1562 types::I8X16 => SseOpcode::Pavgb, in lower_insn_to_regs()
1563 types::I16X8 => SseOpcode::Pavgw, in lower_insn_to_regs()
1567 types::F32X4 => SseOpcode::Andps, in lower_insn_to_regs()
1568 types::F64X2 => SseOpcode::Andpd, in lower_insn_to_regs()
1569 _ => SseOpcode::Pand, in lower_insn_to_regs()
1572 types::F32X4 => SseOpcode::Orps, in lower_insn_to_regs()
1573 types::F64X2 => SseOpcode::Orpd, in lower_insn_to_regs()
1574 _ => SseOpcode::Por, in lower_insn_to_regs()
1577 types::F32X4 => SseOpcode::Xorps, in lower_insn_to_regs()
1578 types::F64X2 => SseOpcode::Xorpd, in lower_insn_to_regs()
1579 _ => SseOpcode::Pxor, in lower_insn_to_regs()
1709 SseOpcode::Palignr, in lower_insn_to_regs()
1716 SseOpcode::Pmovsxbw, in lower_insn_to_regs()
1723 SseOpcode::Palignr, in lower_insn_to_regs()
1730 SseOpcode::Pmovsxbw, in lower_insn_to_regs()
1734 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmullw, RegMem::reg(lhs), dst)); in lower_insn_to_regs()
1741 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmullw, RegMem::reg(rhs), dst)); in lower_insn_to_regs()
1743 SseOpcode::Pmulhw, in lower_insn_to_regs()
1748 SseOpcode::Punpckhwd, in lower_insn_to_regs()
1757 SseOpcode::Pshufd, in lower_insn_to_regs()
1764 SseOpcode::Pshufd, in lower_insn_to_regs()
1771 SseOpcode::Pmuldq, in lower_insn_to_regs()
1804 SseOpcode::Pmovsxbw, in lower_insn_to_regs()
1808 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovsxbw, RegMem::reg(rhs), dst)); in lower_insn_to_regs()
1810 SseOpcode::Pmullw, in lower_insn_to_regs()
1820 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmullw, RegMem::reg(rhs), dst)); in lower_insn_to_regs()
1822 SseOpcode::Pmulhw, in lower_insn_to_regs()
1827 SseOpcode::Punpcklwd, in lower_insn_to_regs()
1836 SseOpcode::Pshufd, in lower_insn_to_regs()
1843 SseOpcode::Pshufd, in lower_insn_to_regs()
1850 SseOpcode::Pmuldq, in lower_insn_to_regs()
1883 SseOpcode::Palignr, in lower_insn_to_regs()
1890 SseOpcode::Pmovzxbw, in lower_insn_to_regs()
1896 SseOpcode::Palignr, in lower_insn_to_regs()
1903 SseOpcode::Pmovzxbw, in lower_insn_to_regs()
1907 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmullw, RegMem::reg(lhs), dst)); in lower_insn_to_regs()
1914 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmullw, RegMem::reg(rhs), dst)); in lower_insn_to_regs()
1916 SseOpcode::Pmulhuw, in lower_insn_to_regs()
1921 SseOpcode::Punpckhwd, in lower_insn_to_regs()
1930 SseOpcode::Pshufd, in lower_insn_to_regs()
1937 SseOpcode::Pshufd, in lower_insn_to_regs()
1944 SseOpcode::Pmuludq, in lower_insn_to_regs()
1978 SseOpcode::Pmovzxbw, in lower_insn_to_regs()
1982 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovzxbw, RegMem::reg(rhs), dst)); in lower_insn_to_regs()
1984 SseOpcode::Pmullw, in lower_insn_to_regs()
1994 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmullw, RegMem::reg(rhs), dst)); in lower_insn_to_regs()
1996 SseOpcode::Pmulhuw, in lower_insn_to_regs()
2001 SseOpcode::Punpcklwd, in lower_insn_to_regs()
2010 SseOpcode::Pshufd, in lower_insn_to_regs()
2017 SseOpcode::Pshufd, in lower_insn_to_regs()
2024 SseOpcode::Pmuludq, in lower_insn_to_regs()
2094 SseOpcode::Psrlq, in lower_insn_to_regs()
2099 SseOpcode::Pmuludq, in lower_insn_to_regs()
2111 SseOpcode::Psrlq, in lower_insn_to_regs()
2115 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmuludq, RegMem::reg(rhs), lhs_1)); in lower_insn_to_regs()
2120 SseOpcode::Paddq, in lower_insn_to_regs()
2125 SseOpcode::Psllq, in lower_insn_to_regs()
2136 SseOpcode::Pmuludq, in lower_insn_to_regs()
2141 SseOpcode::Paddq, in lower_insn_to_regs()
2151 types::I16X8 => SseOpcode::Pmullw, in lower_insn_to_regs()
2152 types::I32X4 => SseOpcode::Pmulld, in lower_insn_to_regs()
2264 types::F32X4 => SseOpcode::Andnps, in lower_insn_to_regs()
2265 types::F64X2 => SseOpcode::Andnpd, in lower_insn_to_regs()
2266 _ => SseOpcode::Pandn, in lower_insn_to_regs()
2289 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp), tmp)); in lower_insn_to_regs()
2291 ctx.emit(Inst::xmm_rm_r(SseOpcode::Psubq, src.clone(), tmp)); in lower_insn_to_regs()
2300 ctx.emit(Inst::xmm_rm_r(SseOpcode::Blendvpd, src, dst)); in lower_insn_to_regs()
2304 types::I8X16 => SseOpcode::Pabsb, in lower_insn_to_regs()
2305 types::I16X8 => SseOpcode::Pabsw, in lower_insn_to_regs()
2306 types::I32X4 => SseOpcode::Pabsd, in lower_insn_to_regs()
2323 types::I8X16 => SseOpcode::Pmaxsb, in lower_insn_to_regs()
2324 types::I16X8 => SseOpcode::Pmaxsw, in lower_insn_to_regs()
2325 types::I32X4 => SseOpcode::Pmaxsd, in lower_insn_to_regs()
2329 types::I8X16 => SseOpcode::Pmaxub, in lower_insn_to_regs()
2330 types::I16X8 => SseOpcode::Pmaxuw, in lower_insn_to_regs()
2331 types::I32X4 => SseOpcode::Pmaxud, in lower_insn_to_regs()
2335 types::I8X16 => SseOpcode::Pminsb, in lower_insn_to_regs()
2336 types::I16X8 => SseOpcode::Pminsw, in lower_insn_to_regs()
2337 types::I32X4 => SseOpcode::Pminsd, in lower_insn_to_regs()
2341 types::I8X16 => SseOpcode::Pminub, in lower_insn_to_regs()
2342 types::I16X8 => SseOpcode::Pminuw, in lower_insn_to_regs()
2343 types::I32X4 => SseOpcode::Pminud, in lower_insn_to_regs()
2439 types::B64X2 => SseOpcode::Blendvpd, in lower_insn_to_regs()
2440 types::B32X4 => SseOpcode::Blendvps, in lower_insn_to_regs()
2441 types::B16X8 | types::B8X16 => SseOpcode::Pblendvb, in lower_insn_to_regs()
2610 SseOpcode::Movd, in lower_insn_to_regs()
2623 Opcode::Ishl => SseOpcode::Psllw, in lower_insn_to_regs()
2624 Opcode::Ushr => SseOpcode::Psrlw, in lower_insn_to_regs()
2713 types::F32X4 => SseOpcode::Andps, in lower_insn_to_regs()
2714 types::F64X2 => SseOpcode::Andpd, in lower_insn_to_regs()
2715 _ => SseOpcode::Pand, in lower_insn_to_regs()
2759 SseOpcode::Movd, in lower_insn_to_regs()
2771 ctx.emit(Inst::xmm_rm_r(SseOpcode::Punpcklbw, RegMem::from(dst), dst)); in lower_insn_to_regs()
2773 SseOpcode::Psraw, in lower_insn_to_regs()
2782 SseOpcode::Punpckhbw, in lower_insn_to_regs()
2787 SseOpcode::Psraw, in lower_insn_to_regs()
2794 SseOpcode::Packsswb, in lower_insn_to_regs()
2848 Opcode::Ishl => SseOpcode::Psllw, in lower_insn_to_regs()
2849 Opcode::Ushr => SseOpcode::Psrlw, in lower_insn_to_regs()
2850 Opcode::Sshr => SseOpcode::Psraw, in lower_insn_to_regs()
2854 Opcode::Ishl => SseOpcode::Pslld, in lower_insn_to_regs()
2855 Opcode::Ushr => SseOpcode::Psrld, in lower_insn_to_regs()
2856 Opcode::Sshr => SseOpcode::Psrad, in lower_insn_to_regs()
2860 Opcode::Ishl => SseOpcode::Psllq, in lower_insn_to_regs()
2861 Opcode::Ushr => SseOpcode::Psrlq, in lower_insn_to_regs()
2873 SseOpcode::Movd, in lower_insn_to_regs()
2902 types::I8X16 => SseOpcode::Psubb, in lower_insn_to_regs()
2903 types::I16X8 => SseOpcode::Psubw, in lower_insn_to_regs()
2904 types::I32X4 => SseOpcode::Psubd, in lower_insn_to_regs()
2905 types::I64X2 => SseOpcode::Psubq, in lower_insn_to_regs()
2912 SseOpcode::Pxor, in lower_insn_to_regs()
2918 SseOpcode::Movapd, in lower_insn_to_regs()
3501 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pand, RegMem::reg(src), lo)); in lower_insn_to_regs()
3505 ctx.emit(Inst::xmm_rmi_reg(SseOpcode::Psrlw, RegMemImm::imm(4), dst)); in lower_insn_to_regs()
3509 SseOpcode::Pand, in lower_insn_to_regs()
3520 SseOpcode::Pshufb, in lower_insn_to_regs()
3527 SseOpcode::Pshufb, in lower_insn_to_regs()
3534 SseOpcode::Paddb, in lower_insn_to_regs()
3743 types::I8X16 => SseOpcode::Pcmpeqb, in lower_insn_to_regs()
3744 types::I16X8 => SseOpcode::Pcmpeqw, in lower_insn_to_regs()
3745 types::I32X4 => SseOpcode::Pcmpeqd, in lower_insn_to_regs()
3746 types::I64X2 => SseOpcode::Pcmpeqq, in lower_insn_to_regs()
3753 types::I8X16 => SseOpcode::Pcmpgtb, in lower_insn_to_regs()
3754 types::I16X8 => SseOpcode::Pcmpgtw, in lower_insn_to_regs()
3755 types::I32X4 => SseOpcode::Pcmpgtd, in lower_insn_to_regs()
3756 types::I64X2 => SseOpcode::Pcmpgtq, in lower_insn_to_regs()
3763 types::I8X16 => SseOpcode::Pmaxub, in lower_insn_to_regs()
3764 types::I16X8 => SseOpcode::Pmaxuw, in lower_insn_to_regs()
3765 types::I32X4 => SseOpcode::Pmaxud, in lower_insn_to_regs()
3772 types::I8X16 => SseOpcode::Pminsb, in lower_insn_to_regs()
3773 types::I16X8 => SseOpcode::Pminsw, in lower_insn_to_regs()
3774 types::I32X4 => SseOpcode::Pminsd, in lower_insn_to_regs()
3781 types::I8X16 => SseOpcode::Pminub, in lower_insn_to_regs()
3782 types::I16X8 => SseOpcode::Pminuw, in lower_insn_to_regs()
3783 types::I32X4 => SseOpcode::Pminud, in lower_insn_to_regs()
3836 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp), dst)); in lower_insn_to_regs()
3858 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp), dst)); in lower_insn_to_regs()
3867 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp), dst)); in lower_insn_to_regs()
3929 types::F32X4 => SseOpcode::Cmpps, in lower_insn_to_regs()
3930 types::F64X2 => SseOpcode::Cmppd, in lower_insn_to_regs()
4138 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmaddwd, rhs, dst)); in lower_insn_to_regs()
4165 Opcode::Fadd => SseOpcode::Addss, in lower_insn_to_regs()
4166 Opcode::Fsub => SseOpcode::Subss, in lower_insn_to_regs()
4167 Opcode::Fmul => SseOpcode::Mulss, in lower_insn_to_regs()
4168 Opcode::Fdiv => SseOpcode::Divss, in lower_insn_to_regs()
4172 Opcode::Fadd => SseOpcode::Addsd, in lower_insn_to_regs()
4173 Opcode::Fsub => SseOpcode::Subsd, in lower_insn_to_regs()
4174 Opcode::Fmul => SseOpcode::Mulsd, in lower_insn_to_regs()
4175 Opcode::Fdiv => SseOpcode::Divsd, in lower_insn_to_regs()
4179 Opcode::Fadd => SseOpcode::Addps, in lower_insn_to_regs()
4180 Opcode::Fsub => SseOpcode::Subps, in lower_insn_to_regs()
4181 Opcode::Fmul => SseOpcode::Mulps, in lower_insn_to_regs()
4182 Opcode::Fdiv => SseOpcode::Divps, in lower_insn_to_regs()
4186 Opcode::Fadd => SseOpcode::Addpd, in lower_insn_to_regs()
4187 Opcode::Fsub => SseOpcode::Subpd, in lower_insn_to_regs()
4188 Opcode::Fmul => SseOpcode::Mulpd, in lower_insn_to_regs()
4189 Opcode::Fdiv => SseOpcode::Divpd, in lower_insn_to_regs()
4261 SseOpcode::Movaps, in lower_insn_to_regs()
4262 SseOpcode::Minps, in lower_insn_to_regs()
4263 SseOpcode::Orps, in lower_insn_to_regs()
4264 SseOpcode::Cmpps, in lower_insn_to_regs()
4265 SseOpcode::Psrld, in lower_insn_to_regs()
4267 SseOpcode::Andnps, in lower_insn_to_regs()
4270 SseOpcode::Movapd, in lower_insn_to_regs()
4271 SseOpcode::Minpd, in lower_insn_to_regs()
4272 SseOpcode::Orpd, in lower_insn_to_regs()
4273 SseOpcode::Cmppd, in lower_insn_to_regs()
4274 SseOpcode::Psrlq, in lower_insn_to_regs()
4276 SseOpcode::Andnpd, in lower_insn_to_regs()
4334 SseOpcode::Movaps, in lower_insn_to_regs()
4335 SseOpcode::Maxps, in lower_insn_to_regs()
4336 SseOpcode::Xorps, in lower_insn_to_regs()
4337 SseOpcode::Orps, in lower_insn_to_regs()
4338 SseOpcode::Subps, in lower_insn_to_regs()
4339 SseOpcode::Cmpps, in lower_insn_to_regs()
4340 SseOpcode::Psrld, in lower_insn_to_regs()
4342 SseOpcode::Andnps, in lower_insn_to_regs()
4345 SseOpcode::Movapd, in lower_insn_to_regs()
4346 SseOpcode::Maxpd, in lower_insn_to_regs()
4347 SseOpcode::Xorpd, in lower_insn_to_regs()
4348 SseOpcode::Orpd, in lower_insn_to_regs()
4349 SseOpcode::Subpd, in lower_insn_to_regs()
4350 SseOpcode::Cmppd, in lower_insn_to_regs()
4351 SseOpcode::Psrlq, in lower_insn_to_regs()
4353 SseOpcode::Andnpd, in lower_insn_to_regs()
4416 (types::F32X4, Opcode::FminPseudo) => SseOpcode::Minps, in lower_insn_to_regs()
4417 (types::F32X4, Opcode::FmaxPseudo) => SseOpcode::Maxps, in lower_insn_to_regs()
4418 (types::F64X2, Opcode::FminPseudo) => SseOpcode::Minpd, in lower_insn_to_regs()
4419 (types::F64X2, Opcode::FmaxPseudo) => SseOpcode::Maxpd, in lower_insn_to_regs()
4433 types::F32 => SseOpcode::Sqrtss, in lower_insn_to_regs()
4434 types::F64 => SseOpcode::Sqrtsd, in lower_insn_to_regs()
4435 types::F32X4 => SseOpcode::Sqrtps, in lower_insn_to_regs()
4436 types::F64X2 => SseOpcode::Sqrtpd, in lower_insn_to_regs()
4451 ctx.emit(Inst::xmm_unary_rm_r(SseOpcode::Cvtss2sd, src, dst)); in lower_insn_to_regs()
4458 SseOpcode::Cvtps2pd, in lower_insn_to_regs()
4469 ctx.emit(Inst::xmm_unary_rm_r(SseOpcode::Cvtsd2ss, src, dst)); in lower_insn_to_regs()
4476 SseOpcode::Cvtpd2ps, in lower_insn_to_regs()
4498 SseOpcode::Cvtsi2ss in lower_insn_to_regs()
4501 SseOpcode::Cvtsi2sd in lower_insn_to_regs()
4510 types::I32X4 => SseOpcode::Cvtdq2ps, in lower_insn_to_regs()
4523 SseOpcode::Cvtdq2pd, in lower_insn_to_regs()
4539 SseOpcode::Cvtsi2ss in lower_insn_to_regs()
4542 SseOpcode::Cvtsi2sd in lower_insn_to_regs()
4611 SseOpcode::Unpcklps, in lower_insn_to_regs()
4632 SseOpcode::Subpd, in lower_insn_to_regs()
4677 SseOpcode::Movapd, in lower_insn_to_regs()
4684 ctx.emit(Inst::xmm_rmi_reg(SseOpcode::Pslld, RegMemImm::imm(16), tmp)); in lower_insn_to_regs()
4685 ctx.emit(Inst::xmm_rmi_reg(SseOpcode::Psrld, RegMemImm::imm(16), tmp)); in lower_insn_to_regs()
4688 ctx.emit(Inst::xmm_rm_r(SseOpcode::Psubd, RegMem::from(tmp), dst)); in lower_insn_to_regs()
4691 ctx.emit(Inst::xmm_rm_r(SseOpcode::Cvtdq2ps, RegMem::from(tmp), tmp)); in lower_insn_to_regs()
4694 ctx.emit(Inst::xmm_rmi_reg(SseOpcode::Psrld, RegMemImm::imm(1), dst)); in lower_insn_to_regs()
4695 ctx.emit(Inst::xmm_rm_r(SseOpcode::Cvtdq2ps, RegMem::from(dst), dst)); in lower_insn_to_regs()
4697 SseOpcode::Addps, in lower_insn_to_regs()
4704 SseOpcode::Addps, in lower_insn_to_regs()
4757 SseOpcode::Movapd, in lower_insn_to_regs()
4764 SseOpcode::Cmpps, in lower_insn_to_regs()
4771 SseOpcode::Andps, in lower_insn_to_regs()
4779 SseOpcode::Pxor, in lower_insn_to_regs()
4786 SseOpcode::Cvttps2dq, in lower_insn_to_regs()
4794 SseOpcode::Pand, in lower_insn_to_regs()
4798 ctx.emit(Inst::xmm_rmi_reg(SseOpcode::Psrad, RegMemImm::imm(31), tmp)); in lower_insn_to_regs()
4804 SseOpcode::Pxor, in lower_insn_to_regs()
4865 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp2), tmp2)); in lower_insn_to_regs()
4867 ctx.emit(Inst::xmm_rm_r(SseOpcode::Maxps, RegMem::from(tmp2), dst)); in lower_insn_to_regs()
4876 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pcmpeqd, RegMem::from(tmp2), tmp2)); in lower_insn_to_regs()
4877 ctx.emit(Inst::xmm_rmi_reg(SseOpcode::Psrld, RegMemImm::imm(1), tmp2)); in lower_insn_to_regs()
4879 SseOpcode::Cvtdq2ps, in lower_insn_to_regs()
4887 ctx.emit(Inst::xmm_mov(SseOpcode::Movaps, RegMem::from(dst), tmp1)); in lower_insn_to_regs()
4888 ctx.emit(Inst::xmm_rm_r(SseOpcode::Cvttps2dq, RegMem::from(dst), dst)); in lower_insn_to_regs()
4891 ctx.emit(Inst::xmm_rm_r(SseOpcode::Subps, RegMem::from(tmp2), tmp1)); in lower_insn_to_regs()
4897 SseOpcode::Cmpps, in lower_insn_to_regs()
4906 SseOpcode::Cvttps2dq, in lower_insn_to_regs()
4914 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp2), tmp1)); in lower_insn_to_regs()
4915 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp2), tmp2)); in lower_insn_to_regs()
4916 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmaxsd, RegMem::from(tmp2), tmp1)); in lower_insn_to_regs()
4920 ctx.emit(Inst::xmm_rm_r(SseOpcode::Paddd, RegMem::from(tmp1), dst)); in lower_insn_to_regs()
4963 SseOpcode::Movdqa, in lower_insn_to_regs()
4967 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmaddubsw, RegMem::reg(src0), dst)); in lower_insn_to_regs()
4977 ctx.emit(Inst::xmm_mov(SseOpcode::Movdqa, RegMem::reg(src0), dst)); in lower_insn_to_regs()
4979 SseOpcode::Pmaddwd, in lower_insn_to_regs()
5019 ctx.emit(Inst::xmm_mov(SseOpcode::Movdqa, RegMem::reg(src0), dst)); in lower_insn_to_regs()
5021 SseOpcode::Pmaddubsw, in lower_insn_to_regs()
5039 ctx.emit(Inst::xmm_mov(SseOpcode::Movdqa, RegMem::reg(src0), dst)); in lower_insn_to_regs()
5041 SseOpcode::Pxor, in lower_insn_to_regs()
5059 SseOpcode::Pmaddwd, in lower_insn_to_regs()
5076 SseOpcode::Paddd, in lower_insn_to_regs()
5098 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovsxbw, RegMem::reg(src), dst)); in lower_insn_to_regs()
5101 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovsxwd, RegMem::reg(src), dst)); in lower_insn_to_regs()
5104 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovsxdq, RegMem::reg(src), dst)); in lower_insn_to_regs()
5112 SseOpcode::Palignr, in lower_insn_to_regs()
5118 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovsxbw, RegMem::from(dst), dst)); in lower_insn_to_regs()
5123 SseOpcode::Palignr, in lower_insn_to_regs()
5129 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovsxwd, RegMem::from(dst), dst)); in lower_insn_to_regs()
5133 SseOpcode::Pshufd, in lower_insn_to_regs()
5139 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovsxdq, RegMem::from(dst), dst)); in lower_insn_to_regs()
5145 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovzxbw, RegMem::reg(src), dst)); in lower_insn_to_regs()
5148 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovzxwd, RegMem::reg(src), dst)); in lower_insn_to_regs()
5151 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovzxdq, RegMem::reg(src), dst)); in lower_insn_to_regs()
5159 SseOpcode::Palignr, in lower_insn_to_regs()
5165 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovzxbw, RegMem::from(dst), dst)); in lower_insn_to_regs()
5170 SseOpcode::Palignr, in lower_insn_to_regs()
5176 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovzxwd, RegMem::from(dst), dst)); in lower_insn_to_regs()
5180 SseOpcode::Pshufd, in lower_insn_to_regs()
5186 ctx.emit(Inst::xmm_mov(SseOpcode::Pmovzxdq, RegMem::from(dst), dst)); in lower_insn_to_regs()
5207 ctx.emit(Inst::xmm_rm_r(SseOpcode::Packsswb, RegMem::reg(src2), dst)); in lower_insn_to_regs()
5213 ctx.emit(Inst::xmm_rm_r(SseOpcode::Packssdw, RegMem::reg(src2), dst)); in lower_insn_to_regs()
5239 SseOpcode::Cmppd, in lower_insn_to_regs()
5258 SseOpcode::Andps, in lower_insn_to_regs()
5262 ctx.emit(Inst::xmm_rm_r(SseOpcode::Minpd, RegMem::from(tmp1), dst)); in lower_insn_to_regs()
5264 SseOpcode::Cvttpd2dq, in lower_insn_to_regs()
5279 ctx.emit(Inst::xmm_rm_r(SseOpcode::Packuswb, RegMem::reg(src2), dst)); in lower_insn_to_regs()
5285 ctx.emit(Inst::xmm_rm_r(SseOpcode::Packusdw, RegMem::reg(src2), dst)); in lower_insn_to_regs()
5303 SseOpcode::Movd, in lower_insn_to_regs()
5313 SseOpcode::Movd, in lower_insn_to_regs()
5323 SseOpcode::Movq, in lower_insn_to_regs()
5333 SseOpcode::Movq, in lower_insn_to_regs()
5356 Opcode::Fabs => (0x7fffffff, SseOpcode::Andps), in lower_insn_to_regs()
5357 Opcode::Fneg => (0x80000000, SseOpcode::Xorps), in lower_insn_to_regs()
5361 Opcode::Fabs => (0x7fffffffffffffff, SseOpcode::Andpd), in lower_insn_to_regs()
5362 Opcode::Fneg => (0x8000000000000000, SseOpcode::Xorpd), in lower_insn_to_regs()
5390 ctx.emit(Inst::xmm_rm_r(SseOpcode::Xorps, RegMem::from(tmp), tmp)); in lower_insn_to_regs()
5393 SseOpcode::Cmpps, in lower_insn_to_regs()
5404 (Opcode::Fabs, 32) => (SseOpcode::Psrld, SseOpcode::Andps, 1), in lower_insn_to_regs()
5405 (Opcode::Fabs, 64) => (SseOpcode::Psrlq, SseOpcode::Andpd, 1), in lower_insn_to_regs()
5406 (Opcode::Fneg, 32) => (SseOpcode::Pslld, SseOpcode::Xorps, 31), in lower_insn_to_regs()
5407 (Opcode::Fneg, 64) => (SseOpcode::Psllq, SseOpcode::Xorpd, 63), in lower_insn_to_regs()
5448 SseOpcode::Movaps, in lower_insn_to_regs()
5449 SseOpcode::Andnps, in lower_insn_to_regs()
5450 SseOpcode::Andps, in lower_insn_to_regs()
5451 SseOpcode::Orps, in lower_insn_to_regs()
5455 SseOpcode::Movapd, in lower_insn_to_regs()
5456 SseOpcode::Andnpd, in lower_insn_to_regs()
5457 SseOpcode::Andpd, in lower_insn_to_regs()
5458 SseOpcode::Orpd, in lower_insn_to_regs()
5492 types::F32 => SseOpcode::Roundss, in lower_insn_to_regs()
5493 types::F64 => SseOpcode::Roundsd, in lower_insn_to_regs()
5494 types::F32X4 => SseOpcode::Roundps, in lower_insn_to_regs()
5495 types::F64X2 => SseOpcode::Roundpd, in lower_insn_to_regs()
5666 types::F32 => Inst::xmm_mov(SseOpcode::Movss, RegMem::mem(amode), dst), in lower_insn_to_regs()
5667 types::F64 => Inst::xmm_mov(SseOpcode::Movsd, RegMem::mem(amode), dst), in lower_insn_to_regs()
5670 Inst::xmm_mov(SseOpcode::Pmovsxbw, RegMem::mem(amode), dst) in lower_insn_to_regs()
5672 Inst::xmm_mov(SseOpcode::Pmovzxbw, RegMem::mem(amode), dst) in lower_insn_to_regs()
5677 Inst::xmm_mov(SseOpcode::Pmovsxwd, RegMem::mem(amode), dst) in lower_insn_to_regs()
5679 Inst::xmm_mov(SseOpcode::Pmovzxwd, RegMem::mem(amode), dst) in lower_insn_to_regs()
5684 Inst::xmm_mov(SseOpcode::Pmovsxdq, RegMem::mem(amode), dst) in lower_insn_to_regs()
5686 Inst::xmm_mov(SseOpcode::Pmovzxdq, RegMem::mem(amode), dst) in lower_insn_to_regs()
5690 Inst::xmm_mov(SseOpcode::Movups, RegMem::mem(amode), dst) in lower_insn_to_regs()
6275 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pshufb, RegMem::from(tmp), dst)); in lower_insn_to_regs()
6309 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pshufb, RegMem::from(tmp1), tmp0)); in lower_insn_to_regs()
6320 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pshufb, RegMem::from(tmp2), dst)); in lower_insn_to_regs()
6324 ctx.emit(Inst::xmm_rm_r(SseOpcode::Orps, RegMem::from(tmp0), dst)); in lower_insn_to_regs()
6355 SseOpcode::Paddusb, in lower_insn_to_regs()
6362 SseOpcode::Pshufb, in lower_insn_to_regs()
6435 ctx.emit(Inst::gpr_to_xmm(SseOpcode::Movd, src, src_size, dst)); in lower_insn_to_regs()
6442 32 => SseOpcode::Movss, in lower_insn_to_regs()
6443 64 => SseOpcode::Movsd, in lower_insn_to_regs()
6472 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp), tmp)); in lower_insn_to_regs()
6474 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pshufb, RegMem::from(tmp), dst)) in lower_insn_to_regs()
6481 SseOpcode::Pshufd, in lower_insn_to_regs()
6492 SseOpcode::Pshufd, in lower_insn_to_regs()
6513 ctx.emit(Inst::xmm_cmp_rm_r(SseOpcode::Ptest, RegMem::reg(src), src)); in lower_insn_to_regs()
6525 8 => SseOpcode::Pcmpeqb, in lower_insn_to_regs()
6526 16 => SseOpcode::Pcmpeqw, in lower_insn_to_regs()
6527 32 => SseOpcode::Pcmpeqd, in lower_insn_to_regs()
6528 64 => SseOpcode::Pcmpeqq, in lower_insn_to_regs()
6534 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pxor, RegMem::from(tmp), tmp)); in lower_insn_to_regs()
6539 SseOpcode::Ptest, in lower_insn_to_regs()
6564 ctx.emit(Inst::xmm_to_gpr(SseOpcode::Pmovmskb, src, dst, size)) in lower_insn_to_regs()
6567 ctx.emit(Inst::xmm_to_gpr(SseOpcode::Movmskps, src, dst, size)) in lower_insn_to_regs()
6570 ctx.emit(Inst::xmm_to_gpr(SseOpcode::Movmskpd, src, dst, size)) in lower_insn_to_regs()
6581 ctx.emit(Inst::xmm_rm_r(SseOpcode::Packsswb, RegMem::reg(src), tmp)); in lower_insn_to_regs()
6583 SseOpcode::Pmovmskb, in lower_insn_to_regs()
6677 ctx.emit(Inst::xmm_rm_r(SseOpcode::Pmulhrsw, RegMem::reg(src2), dst)); in lower_insn_to_regs()
6679 SseOpcode::Pcmpeqw, in lower_insn_to_regs()
6684 SseOpcode::Pxor, in lower_insn_to_regs()
6712 ctx.emit(Inst::xmm_rm_r(SseOpcode::Xorpd, RegMem::from(tmp1), tmp1)); in lower_insn_to_regs()
6713 ctx.emit(Inst::xmm_rm_r(SseOpcode::Maxpd, RegMem::from(tmp1), dst)); in lower_insn_to_regs()
6726 SseOpcode::Minpd, in lower_insn_to_regs()
6732 SseOpcode::Roundpd, in lower_insn_to_regs()
6751 SseOpcode::Addpd, in lower_insn_to_regs()
6758 SseOpcode::Shufps, in lower_insn_to_regs()