Lines Matching defs:XB
364 /* Extract XB (2nd source register) field, instr[1,15:11] */
9990 unop( Iop_1Sto32, binop( Iop_CmpEQ32, sign, mkU32( 0xB ) ) ),
12658 UChar XB = ifieldRegXB( theInstr );
12659 IRTemp xB, xB2;
12661 xB = xB2 = IRTemp_INVALID;
12672 xB = newTemp(Ity_F64);
12673 assign( xB,
12675 unop( Iop_V128HIto64, getVSReg( XB ) ) ) );
12680 xB = newTemp(Ity_F64);
12682 assign( xB,
12684 unop( Iop_V128HIto64, getVSReg( XB ) ) ) );
12687 unop( Iop_V128to64, getVSReg( XB ) ) ) );
12693 breakV128to4x32(getVSReg(XB), &b3, &b2, &b1, &b0);
12697 xB = newTemp(Ity_I64);
12698 assign( xB, unop( Iop_V128HIto64, getVSReg( XB ) ) );
12700 assign( xB2, unop( Iop_V128to64, getVSReg( XB ) ) );
12704 xB = newTemp(Ity_I64);
12705 assign( xB, unop( Iop_V128HIto64, getVSReg( XB ) ) );
12709 xB = newTemp(Ity_I32);
12711 assign( xB, handle_SNaN_to_QNaN_32(unop( Iop_64HIto32,
12713 getVSReg( XB ) ) ) ) );
12716 xB = newTemp(Ity_I32);
12717 assign( xB,
12718 unop( Iop_64HIto32, unop( Iop_V128HIto64, getVSReg( XB ) ) ) );
12737 DIP("xscvdpsxds v%u,v%u\n", XT, XB);
12741 mkexpr( xB ) ), mkU64( 0 ) ) );
12745 DIP("xscvdpsxws v%u,v%u\n", XT, XB);
12751 mkexpr( xB ) ) ),
12756 DIP("xscvdpuxds v%u,v%u\n", XT, XB);
12761 mkexpr( xB ) ),
12767 DIP("xscvsxdsp v%u,v%u\n", XT, XB);
12775 mkexpr( xB ) ) ) ),
12781 DIP("xscvsxddp v%u,v%u\n", XT, XB);
12785 mkexpr( xB ) ) ),
12791 DIP("xscvuxdsp v%u,v%u\n", XT, XB);
12799 mkexpr( xB ) ) ) ),
12805 DIP("xscvuxddp v%u,v%u\n", XT, XB);
12809 mkexpr( xB ) ) ),
12819 DIP("xvcvdpsxws v%u,v%u\n", XT, XB);
12820 assign(hiResult_32, binop(Iop_F64toI32S, rmZero, mkexpr(xB)));
12843 DIP("xvcvsp%sxws v%u,v%u\n", un_signed ? "u" : "s", XT, XB);
12846 assign(tempResult, unop(op, getVSReg(XB)));
12883 DIP("xscvdpsp v%u,v%u\n", XT, XB);
12891 mkexpr( xB ) ) ) ),
12897 DIP("xscvdpspn v%u,v%u\n", XT, XB);
12903 mkexpr( xB ) ) ),
12909 DIP("xscvdpuxws v%u,v%u\n", XT, XB);
12916 mkexpr( xB ) ) ),
12920 DIP("xscvspdp v%u,v%u\n", XT, XB);
12925 unop( Iop_ReinterpI32asF32, mkexpr( xB ) ) ) ),
12929 DIP("xscvspdpn v%u,v%u\n", XT, XB);
12934 unop( Iop_ReinterpI32asF32, mkexpr( xB ) ) ) ),
12939 DIP("xvcvdpsp v%u,v%u\n", XT, XB);
12947 mkexpr( xB ) ) ) ),
12960 DIP("xvcvdpuxds v%u,v%u\n", XT, XB);
12963 binop( Iop_F64toI64U, mkU32( Irrm_ZERO ), mkexpr( xB ) ),
12968 DIP("xvcvdpuxws v%u,v%u\n", XT, XB);
12974 mkexpr( xB ) ),
12983 DIP("xvcvspdp v%u,v%u\n", XT, XB);
12997 DIP("xvcvspsxds v%u,v%u\n", XT, XB);
13011 DIP("xvcvspuxds v%u,v%u\n", XT, XB);
13025 DIP("xvcvdpsxds v%u,v%u\n", XT, XB);
13028 binop( Iop_F64toI64S, mkU32( Irrm_ZERO ), mkexpr( xB ) ),
13033 DIP("xvcvsxddp v%u,v%u\n", XT, XB);
13039 mkexpr( xB ) ) ),
13047 DIP("xvcvuxddp v%u,v%u\n", XT, XB);
13053 mkexpr( xB ) ) ),
13062 DIP("xvcvsxddp v%u,v%u\n", XT, XB);
13072 mkexpr( xB ) ) ) ) ),
13086 DIP("xvcvuxddp v%u,v%u\n", XT, XB);
13096 mkexpr( xB ) ) ) ) ),
13110 DIP("xvcvsxwdp v%u,v%u\n", XT, XB);
13121 DIP("xvcvuxwdp v%u,v%u\n", XT, XB);
13132 DIP("xvcvsxwsp v%u,v%u\n", XT, XB);
13133 putVSReg( XT, unop( Iop_I32StoFx4, getVSReg( XB ) ) );
13136 DIP("xvcvuxwsp v%u,v%u\n", XT, XB);
13137 putVSReg( XT, unop( Iop_I32UtoFx4, getVSReg( XB ) ) );
13157 UChar XB = ifieldRegXB( theInstr );
13170 assign(frB, unop(Iop_ReinterpI64asF64, unop(Iop_V128HIto64, getVSReg( XB ))));
13172 assign(frB2, unop(Iop_ReinterpI64asF64, unop(Iop_V128to64, getVSReg( XB ))));
13205 DIP("xv%sdp v%d,v%d,v%d\n", oper_name, XT, XA, XB);
13221 DIP("xvsqrtdp v%d,v%d\n", XT, XB);
13238 /* xvm{add|sub}mdp XT,XA,XB is element-wise equivalent to fm{add|sub} FRT,FRA,FRC,FRB with . . .
13241 * XB == FRB
13246 * XB == FRC
13285 XT, XA, XB);
13321 DIP("xvtsqrtdp cr%d,v%d\n", crfD, XB);
13322 assign( frBHi_I64, unop(Iop_V128HIto64, getVSReg( XB )) );
13323 assign( frBLo_I64, unop(Iop_V128to64, getVSReg( XB )) );
13356 DIP("xvtdivdp cr%d,v%d,v%d\n", crfD, XA, XB);
13359 assign( frBHi_I64, unop(Iop_V128HIto64, getVSReg( XB )) );
13360 assign( frBLo_I64, unop(Iop_V128to64, getVSReg( XB )) );
13400 UChar XB = ifieldRegXB( theInstr );
13419 DIP("xvaddsp v%d,v%d,v%d\n", XT, XA, XB);
13422 getVSReg( XA ), getVSReg( XB )) );
13426 DIP("xvmulsp v%d,v%d,v%d\n", XT, XA, XB);
13429 getVSReg( XA ), getVSReg( XB )) );
13433 DIP("xvsubsp v%d,v%d,v%d\n", XT, XA, XB);
13436 getVSReg( XA ), getVSReg( XB )) );
13449 DIP("xvdivsp v%d,v%d,v%d\n", XT, XA, XB);
13451 breakV128to4xF64( getVSReg( XB ), &b3, &b2, &b1, &b0 );
13478 DIP("xvsqrtsp v%d,v%d\n", XT, XB);
13479 breakV128to4xF64( getVSReg( XB ), &b3, &b2, &b1, &b0 );
13550 msp ? "msp" : "asp", XT, XA, XB);
13554 breakV128to4xF64( getVSReg( XB ), &b3, &b2, &b1, &b0 );
13610 DIP("xvtsqrtsp cr%d,v%d\n", crfD, XB);
13612 breakV128to4x32( getVSReg( XB ), &b3, &b2, &b1, &b0 );
13664 DIP("xvtdivsp cr%d,v%d,v%d\n", crfD, XA, XB);
13667 breakV128to4x32( getVSReg( XB ), &b3, &b2, &b1, &b0 );
14189 UChar XB = ifieldRegXB( theInstr );
14208 assign(frB, unop(Iop_V128HIto64, getVSReg( XB )));
14209 assign(frB2, unop(Iop_V128to64, getVSReg( XB )));
14211 DIP("%s v%d,v%d\n", redp ? "xvredp" : "xvrsqrtedp", XT, XB);
14259 DIP("%s v%d,v%d\n", resp ? "xvresp" : "xvrsqrtesp", XT, XB);
14260 breakV128to4xF64( getVSReg( XB ), &b3, &b2, &b1, &b0 );
14326 DIP("%s v%d,v%d v%d\n", isMin ? "xvminsp" : "xvmaxsp", XT, XA, XB);
14328 breakV128to4xF64( getVSReg( XB ), &b3, &b2, &b1, &b0 );
14374 assign(frB, unop(Iop_V128HIto64, getVSReg( XB )));
14376 assign(frB2, unop(Iop_V128to64, getVSReg( XB )));
14377 DIP("%s v%d,v%d v%d\n", isMin ? "xvmindp" : "xvmaxdp", XT, XA, XB);
14390 assign(frB, unop(Iop_V128HIto64, getVSReg( XB )));
14392 assign(frB2, unop(Iop_V128to64, getVSReg( XB )));
14394 DIP("xvcpsgndp v%d,v%d,v%d\n", XT, XA, XB);
14423 DIP("xvcpsgnsp v%d,v%d v%d\n",XT, XA, XB);
14425 breakV128to4x64U( getVSReg( XB ), &b3_I64, &b2_I64, &b1_I64, &b0_I64 );
14472 assign(frB, unop(Iop_ReinterpI64asF64, unop(Iop_V128HIto64, getVSReg( XB ))));
14473 assign(frB2, unop(Iop_ReinterpI64asF64, unop(Iop_V128to64, getVSReg(XB))));
14475 DIP("xv%sabsdp v%d,v%d\n", make_negative ? "n" : "", XT, XB);
14508 getVSReg( XB ),
14534 assign(frB, unop(Iop_ReinterpI64asF64, unop(Iop_V128HIto64, getVSReg( XB ))));
14535 assign(frB2, unop(Iop_ReinterpI64asF64, unop(Iop_V128to64, getVSReg(XB))));
14536 DIP("xvnegdp v%d,v%d\n", XT, XB);
14556 assign( frBHi_I64, unop( Iop_V128HIto64, getVSReg( XB ) ) );
14558 assign( frBLo_I64, unop( Iop_V128to64, getVSReg( XB ) ) );
14561 DIP("xvrdpi%s v%d,v%d\n", _get_vsx_rdpi_suffix(opc2), XT, XB);
14600 DIP("xvrspi%s v%d,v%d\n", insn_suffix, XT, XB);
14601 putVSReg( XT, unop( op, getVSReg(XB) ) );
14613 breakV128to4xF64( getVSReg(XB), &b3_F64, &b2_F64, &b1_F64, &b0_F64);
14626 DIP("xvrspic v%d,v%d\n", XT, XB);
14657 UChar XB = ifieldRegXB( theInstr );
14668 assign(frB, unop(Iop_ReinterpI64asF64, unop(Iop_V128HIto64, getVSReg( XB ))));
14676 DIP("xsaddsp v%d,v%d,v%d\n", XT, XA, XB);
14686 DIP("xssubsp v%d,v%d,v%d\n", XT, XA, XB);
14696 DIP("xsadddp v%d,v%d,v%d\n", XT, XA, XB);
14704 DIP("xsdivsp v%d,v%d,v%d\n", XT, XA, XB);
14714 DIP("xsdivdp v%d,v%d,v%d\n", XT, XA, XB);
14727 DIP("xsmadd%ssp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14745 DIP("xsmadd%sdp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14762 DIP("xsmsub%ssp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14780 DIP("xsmsub%sdp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14804 DIP("xsnmadd%sdp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14824 DIP("xsnmadd%ssp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14848 DIP("xsnmsub%ssp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14872 DIP("xsnmsub%sdp v%d,v%d,v%d\n", mdp ? "m" : "a", XT, XA, XB);
14888 DIP("xsmulsp v%d,v%d,v%d\n", XT, XA, XB);
14899 DIP("xsmuldp v%d,v%d,v%d\n", XT, XA, XB);
14907 DIP("xssubdp v%d,v%d,v%d\n", XT, XA, XB);
14916 DIP("xssqrtsp v%d,v%d\n", XT, XB);
14927 DIP("xssqrtdp v%d,v%d\n", XT, XB);
14939 DIP("xstdivdp crf%d,v%d,v%d\n", crfD, XA, XB);
14952 DIP("xstsqrtdp v%d,v%d\n", XT, XB);
14953 assign( frB_I64, unop(Iop_V128HIto64, getVSReg( XB )) );
14987 UChar XB = ifieldRegXB ( theInstr );
14997 assign(frB, unop(Iop_ReinterpI64asF64, unop(Iop_V128HIto64, getVSReg( XB ))));
15003 crfD, XA, XB);
15110 UChar XB = ifieldRegXB ( theInstr );
15121 assign( vB, getVSReg( XB ) );
15127 XT, XA, XB);
15135 XT, XA, XB);
15143 XT, XA, XB);
15153 XT, XA, XB);
15167 XT, XA, XB);
15181 XT, XA, XB);
15207 UChar XB = ifieldRegXB ( theInstr );
15217 assign( vB, getVSReg( XB ) );
15227 /* Move abs val of dw 0 of VSX[XB] to dw 0 of VSX[XT]. */
15243 DIP("xsabsdp v%d,v%d\n", XT, XB);
15253 DIP("xscpsgndp v%d,v%d v%d\n", XT, XA, XB);
15274 DIP("xsnabsdp v%d,v%d\n", XT, XB);
15291 DIP("xsnabsdp v%d,v%d\n", XT, XB);
15325 DIP("%s v%d,v%d v%d\n", isMin ? "xsmaxdp" : "xsmindp", XT, XA, XB);
15345 DIP("xsrdpi%s v%d,v%d\n", _get_vsx_rdpi_suffix(opc2), XT, XB);
15363 XB);
15396 DIP("%s v%d,v%d\n", redp ? "xsredp" : "xsrsqrtedp", XT, XB);
15421 DIP("xsrsp v%d, v%d\n", XT, XB);
15452 UChar XB = ifieldRegXB ( theInstr );
15462 assign( vB, getVSReg( XB ) );
15466 DIP("xxlxor v%d,v%d,v%d\n", XT, XA, XB);
15470 DIP("xxlor v%d,v%d,v%d\n", XT, XA, XB);
15474 DIP("xxlnor v%d,v%d,v%d\n", XT, XA, XB);
15479 DIP("xxland v%d,v%d,v%d\n", XT, XA, XB);
15483 DIP("xxlandc v%d,v%d,v%d\n", XT, XA, XB);
15488 DIP("xxlorc v%d,v%d,v%d\n", XT, XA, XB);
15494 DIP("xxlnand v%d,v%d,v%d\n", XT, XA, XB);
15500 DIP("xxleqv v%d,v%d,v%d\n", XT, XA, XB);
15765 UChar XB = ifieldRegXB ( theInstr );
15776 assign( vB, getVSReg( XB ) );
15791 DIP("xxsldwi v%d,v%d,v%d,%d\n", XT, XA, XB, SHW);
15813 DIP("xxpermdi v%d,v%d,v%d,0x%x\n", XT, XA, XB, DM);
15841 DIP("xxmrg%cw v%d,v%d,v%d\n", type, XT, XA, XB);
15850 DIP("xxsel v%d,v%d,v%d,v%d\n", XT, XA, XB, XC);
15861 DIP("xxspltw v%d,v%d,%d\n", XT, XB, UIM);