Lines Matching refs:InstImpl
34 template <typename TraitsType> struct InstImpl { struct
675 auto *Add = InstImpl<TraitsType>::InstX86Add::create( in deoptLeaToAddOrNull() argument
3191 using GetIP = typename InstImpl<TraitsType>::InstX86GetIP;
3192 using FakeRMW = typename InstImpl<TraitsType>::InstX86FakeRMW;
3193 using Label = typename InstImpl<TraitsType>::InstX86Label;
3195 using Call = typename InstImpl<TraitsType>::InstX86Call;
3197 using Br = typename InstImpl<TraitsType>::InstX86Br;
3198 using Jmp = typename InstImpl<TraitsType>::InstX86Jmp;
3199 using Bswap = typename InstImpl<TraitsType>::InstX86Bswap;
3200 using Neg = typename InstImpl<TraitsType>::InstX86Neg;
3201 using Bsf = typename InstImpl<TraitsType>::InstX86Bsf;
3202 using Bsr = typename InstImpl<TraitsType>::InstX86Bsr;
3203 using Lea = typename InstImpl<TraitsType>::InstX86Lea;
3204 using Cbwdq = typename InstImpl<TraitsType>::InstX86Cbwdq;
3205 using Movsx = typename InstImpl<TraitsType>::InstX86Movsx;
3206 using Movzx = typename InstImpl<TraitsType>::InstX86Movzx;
3207 using Movd = typename InstImpl<TraitsType>::InstX86Movd;
3208 using Movmsk = typename InstImpl<TraitsType>::InstX86Movmsk;
3209 using Sqrt = typename InstImpl<TraitsType>::InstX86Sqrt;
3210 using Mov = typename InstImpl<TraitsType>::InstX86Mov;
3211 using Movp = typename InstImpl<TraitsType>::InstX86Movp;
3212 using Movq = typename InstImpl<TraitsType>::InstX86Movq;
3213 using Add = typename InstImpl<TraitsType>::InstX86Add;
3214 using AddRMW = typename InstImpl<TraitsType>::InstX86AddRMW;
3215 using Addps = typename InstImpl<TraitsType>::InstX86Addps;
3216 using Adc = typename InstImpl<TraitsType>::InstX86Adc;
3217 using AdcRMW = typename InstImpl<TraitsType>::InstX86AdcRMW;
3218 using Addss = typename InstImpl<TraitsType>::InstX86Addss;
3219 using Andnps = typename InstImpl<TraitsType>::InstX86Andnps;
3220 using Andps = typename InstImpl<TraitsType>::InstX86Andps;
3221 using Padd = typename InstImpl<TraitsType>::InstX86Padd;
3222 using Padds = typename InstImpl<TraitsType>::InstX86Padds;
3223 using Paddus = typename InstImpl<TraitsType>::InstX86Paddus;
3224 using Sub = typename InstImpl<TraitsType>::InstX86Sub;
3225 using SubRMW = typename InstImpl<TraitsType>::InstX86SubRMW;
3226 using Subps = typename InstImpl<TraitsType>::InstX86Subps;
3227 using Subss = typename InstImpl<TraitsType>::InstX86Subss;
3228 using Sbb = typename InstImpl<TraitsType>::InstX86Sbb;
3229 using SbbRMW = typename InstImpl<TraitsType>::InstX86SbbRMW;
3230 using Psub = typename InstImpl<TraitsType>::InstX86Psub;
3231 using Psubs = typename InstImpl<TraitsType>::InstX86Psubs;
3232 using Psubus = typename InstImpl<TraitsType>::InstX86Psubus;
3233 using And = typename InstImpl<TraitsType>::InstX86And;
3234 using AndRMW = typename InstImpl<TraitsType>::InstX86AndRMW;
3235 using Pand = typename InstImpl<TraitsType>::InstX86Pand;
3236 using Pandn = typename InstImpl<TraitsType>::InstX86Pandn;
3237 using Or = typename InstImpl<TraitsType>::InstX86Or;
3238 using Orps = typename InstImpl<TraitsType>::InstX86Orps;
3239 using OrRMW = typename InstImpl<TraitsType>::InstX86OrRMW;
3240 using Por = typename InstImpl<TraitsType>::InstX86Por;
3241 using Xor = typename InstImpl<TraitsType>::InstX86Xor;
3242 using Xorps = typename InstImpl<TraitsType>::InstX86Xorps;
3243 using XorRMW = typename InstImpl<TraitsType>::InstX86XorRMW;
3244 using Pxor = typename InstImpl<TraitsType>::InstX86Pxor;
3245 using Maxss = typename InstImpl<TraitsType>::InstX86Maxss;
3246 using Minss = typename InstImpl<TraitsType>::InstX86Minss;
3247 using Maxps = typename InstImpl<TraitsType>::InstX86Maxps;
3248 using Minps = typename InstImpl<TraitsType>::InstX86Minps;
3249 using Imul = typename InstImpl<TraitsType>::InstX86Imul;
3250 using ImulImm = typename InstImpl<TraitsType>::InstX86ImulImm;
3251 using Mulps = typename InstImpl<TraitsType>::InstX86Mulps;
3252 using Mulss = typename InstImpl<TraitsType>::InstX86Mulss;
3253 using Pmull = typename InstImpl<TraitsType>::InstX86Pmull;
3254 using Pmulhw = typename InstImpl<TraitsType>::InstX86Pmulhw;
3255 using Pmulhuw = typename InstImpl<TraitsType>::InstX86Pmulhuw;
3256 using Pmaddwd = typename InstImpl<TraitsType>::InstX86Pmaddwd;
3257 using Pmuludq = typename InstImpl<TraitsType>::InstX86Pmuludq;
3258 using Divps = typename InstImpl<TraitsType>::InstX86Divps;
3259 using Divss = typename InstImpl<TraitsType>::InstX86Divss;
3260 using Rol = typename InstImpl<TraitsType>::InstX86Rol;
3261 using Shl = typename InstImpl<TraitsType>::InstX86Shl;
3262 using Psll = typename InstImpl<TraitsType>::InstX86Psll;
3263 using Psrl = typename InstImpl<TraitsType>::InstX86Psrl;
3264 using Shr = typename InstImpl<TraitsType>::InstX86Shr;
3265 using Sar = typename InstImpl<TraitsType>::InstX86Sar;
3266 using Psra = typename InstImpl<TraitsType>::InstX86Psra;
3267 using Pcmpeq = typename InstImpl<TraitsType>::InstX86Pcmpeq;
3268 using Pcmpgt = typename InstImpl<TraitsType>::InstX86Pcmpgt;
3269 using MovssRegs = typename InstImpl<TraitsType>::InstX86MovssRegs;
3270 using Idiv = typename InstImpl<TraitsType>::InstX86Idiv;
3271 using Div = typename InstImpl<TraitsType>::InstX86Div;
3272 using Insertps = typename InstImpl<TraitsType>::InstX86Insertps;
3273 using Pinsr = typename InstImpl<TraitsType>::InstX86Pinsr;
3274 using Shufps = typename InstImpl<TraitsType>::InstX86Shufps;
3275 using Blendvps = typename InstImpl<TraitsType>::InstX86Blendvps;
3276 using Pblendvb = typename InstImpl<TraitsType>::InstX86Pblendvb;
3277 using Pextr = typename InstImpl<TraitsType>::InstX86Pextr;
3278 using Pshufd = typename InstImpl<TraitsType>::InstX86Pshufd;
3279 using Lockable = typename InstImpl<TraitsType>::InstX86BaseLockable;
3280 using Mul = typename InstImpl<TraitsType>::InstX86Mul;
3281 using Shld = typename InstImpl<TraitsType>::InstX86Shld;
3282 using Shrd = typename InstImpl<TraitsType>::InstX86Shrd;
3283 using Cmov = typename InstImpl<TraitsType>::InstX86Cmov;
3284 using Cmpps = typename InstImpl<TraitsType>::InstX86Cmpps;
3285 using Cmpxchg = typename InstImpl<TraitsType>::InstX86Cmpxchg;
3286 using Cmpxchg8b = typename InstImpl<TraitsType>::InstX86Cmpxchg8b;
3287 using Cvt = typename InstImpl<TraitsType>::InstX86Cvt;
3288 using Round = typename InstImpl<TraitsType>::InstX86Round;
3289 using Icmp = typename InstImpl<TraitsType>::InstX86Icmp;
3290 using Ucomiss = typename InstImpl<TraitsType>::InstX86Ucomiss;
3291 using UD2 = typename InstImpl<TraitsType>::InstX86UD2;
3292 using Int3 = typename InstImpl<TraitsType>::InstX86Int3;
3293 using Test = typename InstImpl<TraitsType>::InstX86Test;
3294 using Mfence = typename InstImpl<TraitsType>::InstX86Mfence;
3295 using Store = typename InstImpl<TraitsType>::InstX86Store;
3296 using StoreP = typename InstImpl<TraitsType>::InstX86StoreP;
3297 using StoreQ = typename InstImpl<TraitsType>::InstX86StoreQ;
3298 using StoreD = typename InstImpl<TraitsType>::InstX86StoreD;
3299 using Nop = typename InstImpl<TraitsType>::InstX86Nop;
3300 template <typename T = typename InstImpl<TraitsType>::Traits>
3303 typename InstImpl<TraitsType>::InstX86Fld>::type;
3304 template <typename T = typename InstImpl<TraitsType>::Traits>
3307 typename InstImpl<TraitsType>::InstX86Fstp>::type;
3308 using Pop = typename InstImpl<TraitsType>::InstX86Pop;
3309 using Push = typename InstImpl<TraitsType>::InstX86Push;
3310 using Ret = typename InstImpl<TraitsType>::InstX86Ret;
3311 using Setcc = typename InstImpl<TraitsType>::InstX86Setcc;
3312 using Xadd = typename InstImpl<TraitsType>::InstX86Xadd;
3313 using Xchg = typename InstImpl<TraitsType>::InstX86Xchg;
3315 using IacaStart = typename InstImpl<TraitsType>::InstX86IacaStart;
3316 using IacaEnd = typename InstImpl<TraitsType>::InstX86IacaEnd;
3318 using Pshufb = typename InstImpl<TraitsType>::InstX86Pshufb;
3319 using Punpckl = typename InstImpl<TraitsType>::InstX86Punpckl;
3320 using Punpckh = typename InstImpl<TraitsType>::InstX86Punpckh;
3321 using Packss = typename InstImpl<TraitsType>::InstX86Packss;
3322 using Packus = typename InstImpl<TraitsType>::InstX86Packus;
3335 const char *InstImpl<TraitsType>::InstX86Bswap::Base::Opcode = "bswap"; \
3338 const char *InstImpl<TraitsType>::InstX86Neg::Base::Opcode = "neg"; \
3342 const char *InstImpl<TraitsType>::InstX86Bsf::Base::Opcode = "bsf"; \
3345 const char *InstImpl<TraitsType>::InstX86Bsr::Base::Opcode = "bsr"; \
3348 const char *InstImpl<TraitsType>::InstX86Lea::Base::Opcode = "lea"; \
3351 const char *InstImpl<TraitsType>::InstX86Movd::Base::Opcode = "movd"; \
3354 const char *InstImpl<TraitsType>::InstX86Movsx::Base::Opcode = "movs"; \
3357 const char *InstImpl<TraitsType>::InstX86Movzx::Base::Opcode = "movz"; \
3360 const char *InstImpl<TraitsType>::InstX86Sqrt::Base::Opcode = "sqrt"; \
3363 const char *InstImpl<TraitsType>::InstX86Cbwdq::Base::Opcode = \
3368 const char *InstImpl<TraitsType>::InstX86Mov::Base::Opcode = "mov"; \
3371 const char *InstImpl<TraitsType>::InstX86Movp::Base::Opcode = "movups"; \
3374 const char *InstImpl<TraitsType>::InstX86Movq::Base::Opcode = "movq"; \
3378 const char *InstImpl<TraitsType>::InstX86Add::Base::Opcode = "add"; \
3381 const char *InstImpl<TraitsType>::InstX86AddRMW::Base::Opcode = "add"; \
3384 const char *InstImpl<TraitsType>::InstX86Addps::Base::Opcode = "add"; \
3387 const char *InstImpl<TraitsType>::InstX86Adc::Base::Opcode = "adc"; \
3390 const char *InstImpl<TraitsType>::InstX86AdcRMW::Base::Opcode = "adc"; \
3393 const char *InstImpl<TraitsType>::InstX86Addss::Base::Opcode = "add"; \
3396 const char *InstImpl<TraitsType>::InstX86Andnps::Base::Opcode = "andn"; \
3399 const char *InstImpl<TraitsType>::InstX86Andps::Base::Opcode = "and"; \
3402 const char *InstImpl<TraitsType>::InstX86Maxss::Base::Opcode = "max"; \
3405 const char *InstImpl<TraitsType>::InstX86Minss::Base::Opcode = "min"; \
3408 const char *InstImpl<TraitsType>::InstX86Maxps::Base::Opcode = "max"; \
3411 const char *InstImpl<TraitsType>::InstX86Minps::Base::Opcode = "min"; \
3414 const char *InstImpl<TraitsType>::InstX86Padd::Base::Opcode = "padd"; \
3417 const char *InstImpl<TraitsType>::InstX86Padds::Base::Opcode = "padds"; \
3420 const char *InstImpl<TraitsType>::InstX86Paddus::Base::Opcode = "paddus"; \
3423 const char *InstImpl<TraitsType>::InstX86Sub::Base::Opcode = "sub"; \
3426 const char *InstImpl<TraitsType>::InstX86SubRMW::Base::Opcode = "sub"; \
3429 const char *InstImpl<TraitsType>::InstX86Subps::Base::Opcode = "sub"; \
3432 const char *InstImpl<TraitsType>::InstX86Subss::Base::Opcode = "sub"; \
3435 const char *InstImpl<TraitsType>::InstX86Sbb::Base::Opcode = "sbb"; \
3438 const char *InstImpl<TraitsType>::InstX86SbbRMW::Base::Opcode = "sbb"; \
3441 const char *InstImpl<TraitsType>::InstX86Psub::Base::Opcode = "psub"; \
3444 const char *InstImpl<TraitsType>::InstX86Psubs::Base::Opcode = "psubs"; \
3447 const char *InstImpl<TraitsType>::InstX86Psubus::Base::Opcode = "psubus"; \
3450 const char *InstImpl<TraitsType>::InstX86And::Base::Opcode = "and"; \
3453 const char *InstImpl<TraitsType>::InstX86AndRMW::Base::Opcode = "and"; \
3456 const char *InstImpl<TraitsType>::InstX86Pand::Base::Opcode = "pand"; \
3459 const char *InstImpl<TraitsType>::InstX86Pandn::Base::Opcode = "pandn"; \
3462 const char *InstImpl<TraitsType>::InstX86Or::Base::Opcode = "or"; \
3465 const char *InstImpl<TraitsType>::InstX86Orps::Base::Opcode = "or"; \
3468 const char *InstImpl<TraitsType>::InstX86OrRMW::Base::Opcode = "or"; \
3471 const char *InstImpl<TraitsType>::InstX86Por::Base::Opcode = "por"; \
3474 const char *InstImpl<TraitsType>::InstX86Xor::Base::Opcode = "xor"; \
3477 const char *InstImpl<TraitsType>::InstX86Xorps::Base::Opcode = "xor"; \
3480 const char *InstImpl<TraitsType>::InstX86XorRMW::Base::Opcode = "xor"; \
3483 const char *InstImpl<TraitsType>::InstX86Pxor::Base::Opcode = "pxor"; \
3486 const char *InstImpl<TraitsType>::InstX86Imul::Base::Opcode = "imul"; \
3489 const char *InstImpl<TraitsType>::InstX86ImulImm::Base::Opcode = "imul"; \
3492 const char *InstImpl<TraitsType>::InstX86Mulps::Base::Opcode = "mul"; \
3495 const char *InstImpl<TraitsType>::InstX86Mulss::Base::Opcode = "mul"; \
3498 const char *InstImpl<TraitsType>::InstX86Pmull::Base::Opcode = "pmull"; \
3501 const char *InstImpl<TraitsType>::InstX86Pmulhw::Base::Opcode = "pmulhw"; \
3504 const char *InstImpl<TraitsType>::InstX86Pmulhuw::Base::Opcode = "pmulhuw"; \
3507 const char *InstImpl<TraitsType>::InstX86Pmaddwd::Base::Opcode = "pmaddwd"; \
3510 const char *InstImpl<TraitsType>::InstX86Pmuludq::Base::Opcode = "pmuludq"; \
3513 const char *InstImpl<TraitsType>::InstX86Div::Base::Opcode = "div"; \
3516 const char *InstImpl<TraitsType>::InstX86Divps::Base::Opcode = "div"; \
3519 const char *InstImpl<TraitsType>::InstX86Divss::Base::Opcode = "div"; \
3522 const char *InstImpl<TraitsType>::InstX86Idiv::Base::Opcode = "idiv"; \
3525 const char *InstImpl<TraitsType>::InstX86Rol::Base::Opcode = "rol"; \
3528 const char *InstImpl<TraitsType>::InstX86Shl::Base::Opcode = "shl"; \
3531 const char *InstImpl<TraitsType>::InstX86Psll::Base::Opcode = "psll"; \
3534 const char *InstImpl<TraitsType>::InstX86Shr::Base::Opcode = "shr"; \
3537 const char *InstImpl<TraitsType>::InstX86Sar::Base::Opcode = "sar"; \
3540 const char *InstImpl<TraitsType>::InstX86Psra::Base::Opcode = "psra"; \
3543 const char *InstImpl<TraitsType>::InstX86Psrl::Base::Opcode = "psrl"; \
3546 const char *InstImpl<TraitsType>::InstX86Pcmpeq::Base::Opcode = "pcmpeq"; \
3549 const char *InstImpl<TraitsType>::InstX86Pcmpgt::Base::Opcode = "pcmpgt"; \
3552 const char *InstImpl<TraitsType>::InstX86MovssRegs::Base::Opcode = "movss"; \
3556 const char *InstImpl<TraitsType>::InstX86Insertps::Base::Opcode = \
3560 const char *InstImpl<TraitsType>::InstX86Round::Base::Opcode = "round"; \
3563 const char *InstImpl<TraitsType>::InstX86Shufps::Base::Opcode = "shufps"; \
3566 const char *InstImpl<TraitsType>::InstX86Pinsr::Base::Opcode = "pinsr"; \
3569 const char *InstImpl<TraitsType>::InstX86Blendvps::Base::Opcode = \
3573 const char *InstImpl<TraitsType>::InstX86Pblendvb::Base::Opcode = \
3578 const char *InstImpl<TraitsType>::InstX86Pextr::Base::Opcode = "pextr"; \
3581 const char *InstImpl<TraitsType>::InstX86Pshufd::Base::Opcode = "pshufd"; \
3584 const char *InstImpl<TraitsType>::InstX86Pshufb::Base::Opcode = "pshufb"; \
3587 const char *InstImpl<TraitsType>::InstX86Punpckl::Base::Opcode = "punpckl"; \
3590 const char *InstImpl<TraitsType>::InstX86Punpckh::Base::Opcode = "punpckh"; \
3593 const char *InstImpl<TraitsType>::InstX86Packss::Base::Opcode = "packss"; \
3596 const char *InstImpl<TraitsType>::InstX86Packus::Base::Opcode = "packus"; \
3600 const InstImpl<TraitsType>::Assembler::GPREmitterOneOp \
3601 InstImpl<TraitsType>::InstX86Bswap::Base::Emitter = { \
3602 &InstImpl<TraitsType>::Assembler::bswap, \
3607 const InstImpl<TraitsType>::Assembler::GPREmitterOneOp \
3608 InstImpl<TraitsType>::InstX86Neg::Base::Emitter = { \
3609 &InstImpl<TraitsType>::Assembler::neg, \
3610 &InstImpl<TraitsType>::Assembler::neg}; \
3615 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3616 InstImpl<TraitsType>::InstX86Cbwdq::Base::Emitter = {nullptr, nullptr, \
3620 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3621 InstImpl<TraitsType>::InstX86Bsf::Base::Emitter = { \
3622 &InstImpl<TraitsType>::Assembler::bsf, \
3623 &InstImpl<TraitsType>::Assembler::bsf, nullptr}; \
3626 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3627 InstImpl<TraitsType>::InstX86Bsr::Base::Emitter = { \
3628 &InstImpl<TraitsType>::Assembler::bsr, \
3629 &InstImpl<TraitsType>::Assembler::bsr, nullptr}; \
3632 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3633 InstImpl<TraitsType>::InstX86Lea::Base::Emitter = { \
3635 &InstImpl<TraitsType>::Assembler::lea, nullptr}; \
3638 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3639 InstImpl<TraitsType>::InstX86Movsx::Base::Emitter = { \
3640 &InstImpl<TraitsType>::Assembler::movsx, \
3641 &InstImpl<TraitsType>::Assembler::movsx, nullptr}; \
3644 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3645 InstImpl<TraitsType>::InstX86Movzx::Base::Emitter = { \
3646 &InstImpl<TraitsType>::Assembler::movzx, \
3647 &InstImpl<TraitsType>::Assembler::movzx, nullptr}; \
3652 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3653 InstImpl<TraitsType>::InstX86Movd::Base::Emitter = {nullptr, nullptr}; \
3656 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3657 InstImpl<TraitsType>::InstX86Sqrt::Base::Emitter = { \
3658 &InstImpl<TraitsType>::Assembler::sqrt, \
3659 &InstImpl<TraitsType>::Assembler::sqrt}; \
3664 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3665 InstImpl<TraitsType>::InstX86Imul::Base::Emitter = {nullptr, nullptr, \
3669 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3670 InstImpl<TraitsType>::InstX86Add::Base::Emitter = { \
3671 &InstImpl<TraitsType>::Assembler::add, \
3672 &InstImpl<TraitsType>::Assembler::add, \
3673 &InstImpl<TraitsType>::Assembler::add}; \
3676 const InstImpl<TraitsType>::Assembler::GPREmitterAddrOp \
3677 InstImpl<TraitsType>::InstX86AddRMW::Base::Emitter = { \
3678 &InstImpl<TraitsType>::Assembler::add, \
3679 &InstImpl<TraitsType>::Assembler::add}; \
3682 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3683 InstImpl<TraitsType>::InstX86Adc::Base::Emitter = { \
3684 &InstImpl<TraitsType>::Assembler::adc, \
3685 &InstImpl<TraitsType>::Assembler::adc, \
3686 &InstImpl<TraitsType>::Assembler::adc}; \
3689 const InstImpl<TraitsType>::Assembler::GPREmitterAddrOp \
3690 InstImpl<TraitsType>::InstX86AdcRMW::Base::Emitter = { \
3691 &InstImpl<TraitsType>::Assembler::adc, \
3692 &InstImpl<TraitsType>::Assembler::adc}; \
3695 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3696 InstImpl<TraitsType>::InstX86And::Base::Emitter = { \
3697 &InstImpl<TraitsType>::Assembler::And, \
3698 &InstImpl<TraitsType>::Assembler::And, \
3699 &InstImpl<TraitsType>::Assembler::And}; \
3702 const InstImpl<TraitsType>::Assembler::GPREmitterAddrOp \
3703 InstImpl<TraitsType>::InstX86AndRMW::Base::Emitter = { \
3704 &InstImpl<TraitsType>::Assembler::And, \
3705 &InstImpl<TraitsType>::Assembler::And}; \
3708 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3709 InstImpl<TraitsType>::InstX86Or::Base::Emitter = { \
3710 &InstImpl<TraitsType>::Assembler::Or, \
3711 &InstImpl<TraitsType>::Assembler::Or, \
3712 &InstImpl<TraitsType>::Assembler::Or}; \
3715 const InstImpl<TraitsType>::Assembler::GPREmitterAddrOp \
3716 InstImpl<TraitsType>::InstX86OrRMW::Base::Emitter = { \
3717 &InstImpl<TraitsType>::Assembler::Or, \
3718 &InstImpl<TraitsType>::Assembler::Or}; \
3721 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3722 InstImpl<TraitsType>::InstX86Sbb::Base::Emitter = { \
3723 &InstImpl<TraitsType>::Assembler::sbb, \
3724 &InstImpl<TraitsType>::Assembler::sbb, \
3725 &InstImpl<TraitsType>::Assembler::sbb}; \
3728 const InstImpl<TraitsType>::Assembler::GPREmitterAddrOp \
3729 InstImpl<TraitsType>::InstX86SbbRMW::Base::Emitter = { \
3730 &InstImpl<TraitsType>::Assembler::sbb, \
3731 &InstImpl<TraitsType>::Assembler::sbb}; \
3734 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3735 InstImpl<TraitsType>::InstX86Sub::Base::Emitter = { \
3736 &InstImpl<TraitsType>::Assembler::sub, \
3737 &InstImpl<TraitsType>::Assembler::sub, \
3738 &InstImpl<TraitsType>::Assembler::sub}; \
3741 const InstImpl<TraitsType>::Assembler::GPREmitterAddrOp \
3742 InstImpl<TraitsType>::InstX86SubRMW::Base::Emitter = { \
3743 &InstImpl<TraitsType>::Assembler::sub, \
3744 &InstImpl<TraitsType>::Assembler::sub}; \
3747 const InstImpl<TraitsType>::Assembler::GPREmitterRegOp \
3748 InstImpl<TraitsType>::InstX86Xor::Base::Emitter = { \
3749 &InstImpl<TraitsType>::Assembler::Xor, \
3750 &InstImpl<TraitsType>::Assembler::Xor, \
3751 &InstImpl<TraitsType>::Assembler::Xor}; \
3754 const InstImpl<TraitsType>::Assembler::GPREmitterAddrOp \
3755 InstImpl<TraitsType>::InstX86XorRMW::Base::Emitter = { \
3756 &InstImpl<TraitsType>::Assembler::Xor, \
3757 &InstImpl<TraitsType>::Assembler::Xor}; \
3762 const InstImpl<TraitsType>::Assembler::GPREmitterShiftOp \
3763 InstImpl<TraitsType>::InstX86Rol::Base::Emitter = { \
3764 &InstImpl<TraitsType>::Assembler::rol, \
3765 &InstImpl<TraitsType>::Assembler::rol}; \
3768 const InstImpl<TraitsType>::Assembler::GPREmitterShiftOp \
3769 InstImpl<TraitsType>::InstX86Sar::Base::Emitter = { \
3770 &InstImpl<TraitsType>::Assembler::sar, \
3771 &InstImpl<TraitsType>::Assembler::sar}; \
3774 const InstImpl<TraitsType>::Assembler::GPREmitterShiftOp \
3775 InstImpl<TraitsType>::InstX86Shl::Base::Emitter = { \
3776 &InstImpl<TraitsType>::Assembler::shl, \
3777 &InstImpl<TraitsType>::Assembler::shl}; \
3780 const InstImpl<TraitsType>::Assembler::GPREmitterShiftOp \
3781 InstImpl<TraitsType>::InstX86Shr::Base::Emitter = { \
3782 &InstImpl<TraitsType>::Assembler::shr, \
3783 &InstImpl<TraitsType>::Assembler::shr}; \
3788 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3789 InstImpl<TraitsType>::InstX86MovssRegs::Base::Emitter = {nullptr, \
3793 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3794 InstImpl<TraitsType>::InstX86Addss::Base::Emitter = { \
3795 &InstImpl<TraitsType>::Assembler::addss, \
3796 &InstImpl<TraitsType>::Assembler::addss}; \
3799 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3800 InstImpl<TraitsType>::InstX86Addps::Base::Emitter = { \
3801 &InstImpl<TraitsType>::Assembler::addps, \
3802 &InstImpl<TraitsType>::Assembler::addps}; \
3805 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3806 InstImpl<TraitsType>::InstX86Divss::Base::Emitter = { \
3807 &InstImpl<TraitsType>::Assembler::divss, \
3808 &InstImpl<TraitsType>::Assembler::divss}; \
3811 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3812 InstImpl<TraitsType>::InstX86Divps::Base::Emitter = { \
3813 &InstImpl<TraitsType>::Assembler::divps, \
3814 &InstImpl<TraitsType>::Assembler::divps}; \
3817 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3818 InstImpl<TraitsType>::InstX86Mulss::Base::Emitter = { \
3819 &InstImpl<TraitsType>::Assembler::mulss, \
3820 &InstImpl<TraitsType>::Assembler::mulss}; \
3823 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3824 InstImpl<TraitsType>::InstX86Mulps::Base::Emitter = { \
3825 &InstImpl<TraitsType>::Assembler::mulps, \
3826 &InstImpl<TraitsType>::Assembler::mulps}; \
3829 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3830 InstImpl<TraitsType>::InstX86Padd::Base::Emitter = { \
3831 &InstImpl<TraitsType>::Assembler::padd, \
3832 &InstImpl<TraitsType>::Assembler::padd}; \
3835 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3836 InstImpl<TraitsType>::InstX86Padds::Base::Emitter = { \
3837 &InstImpl<TraitsType>::Assembler::padds, \
3838 &InstImpl<TraitsType>::Assembler::padds}; \
3841 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3842 InstImpl<TraitsType>::InstX86Paddus::Base::Emitter = { \
3843 &InstImpl<TraitsType>::Assembler::paddus, \
3844 &InstImpl<TraitsType>::Assembler::paddus}; \
3847 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3848 InstImpl<TraitsType>::InstX86Pand::Base::Emitter = { \
3849 &InstImpl<TraitsType>::Assembler::pand, \
3850 &InstImpl<TraitsType>::Assembler::pand}; \
3853 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3854 InstImpl<TraitsType>::InstX86Pandn::Base::Emitter = { \
3855 &InstImpl<TraitsType>::Assembler::pandn, \
3856 &InstImpl<TraitsType>::Assembler::pandn}; \
3859 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3860 InstImpl<TraitsType>::InstX86Pcmpeq::Base::Emitter = { \
3861 &InstImpl<TraitsType>::Assembler::pcmpeq, \
3862 &InstImpl<TraitsType>::Assembler::pcmpeq}; \
3865 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3866 InstImpl<TraitsType>::InstX86Pcmpgt::Base::Emitter = { \
3867 &InstImpl<TraitsType>::Assembler::pcmpgt, \
3868 &InstImpl<TraitsType>::Assembler::pcmpgt}; \
3871 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3872 InstImpl<TraitsType>::InstX86Pmull::Base::Emitter = { \
3873 &InstImpl<TraitsType>::Assembler::pmull, \
3874 &InstImpl<TraitsType>::Assembler::pmull}; \
3877 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3878 InstImpl<TraitsType>::InstX86Pmulhw::Base::Emitter = { \
3879 &InstImpl<TraitsType>::Assembler::pmulhw, \
3880 &InstImpl<TraitsType>::Assembler::pmulhw}; \
3883 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3884 InstImpl<TraitsType>::InstX86Pmulhuw::Base::Emitter = { \
3885 &InstImpl<TraitsType>::Assembler::pmulhuw, \
3886 &InstImpl<TraitsType>::Assembler::pmulhuw}; \
3889 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3890 InstImpl<TraitsType>::InstX86Pmaddwd::Base::Emitter = { \
3891 &InstImpl<TraitsType>::Assembler::pmaddwd, \
3892 &InstImpl<TraitsType>::Assembler::pmaddwd}; \
3895 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3896 InstImpl<TraitsType>::InstX86Pmuludq::Base::Emitter = { \
3897 &InstImpl<TraitsType>::Assembler::pmuludq, \
3898 &InstImpl<TraitsType>::Assembler::pmuludq}; \
3901 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3902 InstImpl<TraitsType>::InstX86Por::Base::Emitter = { \
3903 &InstImpl<TraitsType>::Assembler::por, \
3904 &InstImpl<TraitsType>::Assembler::por}; \
3907 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3908 InstImpl<TraitsType>::InstX86Psub::Base::Emitter = { \
3909 &InstImpl<TraitsType>::Assembler::psub, \
3910 &InstImpl<TraitsType>::Assembler::psub}; \
3913 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3914 InstImpl<TraitsType>::InstX86Psubs::Base::Emitter = { \
3915 &InstImpl<TraitsType>::Assembler::psubs, \
3916 &InstImpl<TraitsType>::Assembler::psubs}; \
3919 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3920 InstImpl<TraitsType>::InstX86Psubus::Base::Emitter = { \
3921 &InstImpl<TraitsType>::Assembler::psubus, \
3922 &InstImpl<TraitsType>::Assembler::psubus}; \
3925 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3926 InstImpl<TraitsType>::InstX86Pxor::Base::Emitter = { \
3927 &InstImpl<TraitsType>::Assembler::pxor, \
3928 &InstImpl<TraitsType>::Assembler::pxor}; \
3931 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3932 InstImpl<TraitsType>::InstX86Subss::Base::Emitter = { \
3933 &InstImpl<TraitsType>::Assembler::subss, \
3934 &InstImpl<TraitsType>::Assembler::subss}; \
3937 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3938 InstImpl<TraitsType>::InstX86Subps::Base::Emitter = { \
3939 &InstImpl<TraitsType>::Assembler::subps, \
3940 &InstImpl<TraitsType>::Assembler::subps}; \
3943 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3944 InstImpl<TraitsType>::InstX86Andnps::Base::Emitter = { \
3945 &InstImpl<TraitsType>::Assembler::andnps, \
3946 &InstImpl<TraitsType>::Assembler::andnps}; \
3949 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3950 InstImpl<TraitsType>::InstX86Andps::Base::Emitter = { \
3951 &InstImpl<TraitsType>::Assembler::andps, \
3952 &InstImpl<TraitsType>::Assembler::andps}; \
3955 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3956 InstImpl<TraitsType>::InstX86Maxss::Base::Emitter = { \
3957 &InstImpl<TraitsType>::Assembler::maxss, \
3958 &InstImpl<TraitsType>::Assembler::maxss}; \
3961 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3962 InstImpl<TraitsType>::InstX86Minss::Base::Emitter = { \
3963 &InstImpl<TraitsType>::Assembler::minss, \
3964 &InstImpl<TraitsType>::Assembler::minss}; \
3967 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3968 InstImpl<TraitsType>::InstX86Maxps::Base::Emitter = { \
3969 &InstImpl<TraitsType>::Assembler::maxps, \
3970 &InstImpl<TraitsType>::Assembler::maxps}; \
3973 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3974 InstImpl<TraitsType>::InstX86Minps::Base::Emitter = { \
3975 &InstImpl<TraitsType>::Assembler::minps, \
3976 &InstImpl<TraitsType>::Assembler::minps}; \
3979 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3980 InstImpl<TraitsType>::InstX86Orps::Base::Emitter = { \
3981 &InstImpl<TraitsType>::Assembler::orps, \
3982 &InstImpl<TraitsType>::Assembler::orps}; \
3985 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
3986 InstImpl<TraitsType>::InstX86Xorps::Base::Emitter = { \
3987 &InstImpl<TraitsType>::Assembler::xorps, \
3988 &InstImpl<TraitsType>::Assembler::xorps}; \
3993 const InstImpl<TraitsType>::Assembler::XmmEmitterShiftOp \
3994 InstImpl<TraitsType>::InstX86Psll::Base::Emitter = { \
3995 &InstImpl<TraitsType>::Assembler::psll, \
3996 &InstImpl<TraitsType>::Assembler::psll, \
3997 &InstImpl<TraitsType>::Assembler::psll}; \
4000 const InstImpl<TraitsType>::Assembler::XmmEmitterShiftOp \
4001 InstImpl<TraitsType>::InstX86Psra::Base::Emitter = { \
4002 &InstImpl<TraitsType>::Assembler::psra, \
4003 &InstImpl<TraitsType>::Assembler::psra, \
4004 &InstImpl<TraitsType>::Assembler::psra}; \
4007 const InstImpl<TraitsType>::Assembler::XmmEmitterShiftOp \
4008 InstImpl<TraitsType>::InstX86Psrl::Base::Emitter = { \
4009 &InstImpl<TraitsType>::Assembler::psrl, \
4010 &InstImpl<TraitsType>::Assembler::psrl, \
4011 &InstImpl<TraitsType>::Assembler::psrl}; \
4014 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
4015 InstImpl<TraitsType>::InstX86Pshufb::Base::Emitter = { \
4016 &InstImpl<TraitsType>::Assembler::pshufb, \
4017 &InstImpl<TraitsType>::Assembler::pshufb}; \
4020 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
4021 InstImpl<TraitsType>::InstX86Punpckl::Base::Emitter = { \
4022 &InstImpl<TraitsType>::Assembler::punpckl, \
4023 &InstImpl<TraitsType>::Assembler::punpckl}; \
4026 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
4027 InstImpl<TraitsType>::InstX86Punpckh::Base::Emitter = { \
4028 &InstImpl<TraitsType>::Assembler::punpckh, \
4029 &InstImpl<TraitsType>::Assembler::punpckh}; \
4032 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
4033 InstImpl<TraitsType>::InstX86Packss::Base::Emitter = { \
4034 &InstImpl<TraitsType>::Assembler::packss, \
4035 &InstImpl<TraitsType>::Assembler::packss}; \
4038 const InstImpl<TraitsType>::Assembler::XmmEmitterRegOp \
4039 InstImpl<TraitsType>::InstX86Packus::Base::Emitter = { \
4040 &InstImpl<TraitsType>::Assembler::packus, \
4041 &InstImpl<TraitsType>::Assembler::packus}; \