emit->emitIns_SIMD_R_R(INS_rcpps, targetReg, op1Reg, TYP_SIMD16);
break;
+ case NI_SSE_ReciprocalScalar:
+ assert(baseType == TYP_FLOAT);
+ assert(op2 == nullptr);
+ emit->emitIns_SIMD_R_R_R(INS_rcpss, targetReg, op1Reg, op1Reg, TYP_SIMD16);
+ break;
+
case NI_SSE_ReciprocalSqrt:
assert(baseType == TYP_FLOAT);
assert(op2 == nullptr);
emit->emitIns_SIMD_R_R(INS_rsqrtps, targetReg, op1Reg, TYP_SIMD16);
break;
+ case NI_SSE_ReciprocalSqrtScalar:
+ assert(baseType == TYP_FLOAT);
+ assert(op2 == nullptr);
+ emit->emitIns_SIMD_R_R_R(INS_rsqrtss, targetReg, op1Reg, op1Reg, TYP_SIMD16);
+ break;
+
case NI_SSE_SetAllVector128:
assert(baseType == TYP_FLOAT);
assert(op2 == nullptr);
emit->emitIns_SIMD_R_R(INS_sqrtps, targetReg, op1Reg, TYP_SIMD16);
break;
+ case NI_SSE_SqrtScalar:
+ assert(baseType == TYP_FLOAT);
+ assert(op2 == nullptr);
+ emit->emitIns_SIMD_R_R_R(INS_sqrtss, targetReg, op1Reg, op1Reg, TYP_SIMD16);
+ break;
+
case NI_SSE_StaticCast:
assert(op2 == nullptr);
if (op1Reg != targetReg)
break;
case NI_SSE_Reciprocal:
+ case NI_SSE_ReciprocalScalar:
case NI_SSE_ReciprocalSqrt:
+ case NI_SSE_ReciprocalSqrtScalar:
case NI_SSE_Sqrt:
+ case NI_SSE_SqrtScalar:
assert(sig->numArgs == 1);
assert(getBaseTypeOfSIMDType(sig->retTypeSigClass) == TYP_FLOAT);
op1 = impSIMDPopStack(TYP_SIMD16);