bool AsmJsType::isSIMDType() const { return isSIMDInt32x4() || isSIMDInt16x8() || isSIMDInt8x16() || isSIMDBool32x4() || isSIMDBool16x8() || isSIMDBool8x16() || isSIMDUint32x4() || isSIMDUint16x8() || isSIMDUint8x16() || isSIMDFloat32x4()|| isSIMDFloat64x2(); }
bool AsmJsType::isSubType(AsmJsType type) const { switch (type.which_) { case Js::AsmJsType::Double: return isDouble(); break; case Js::AsmJsType::MaybeDouble: return isMaybeDouble(); break; case Js::AsmJsType::DoubleLit: return isDoubleLit(); break; case Js::AsmJsType::Float: return isFloat(); break; case Js::AsmJsType::MaybeFloat: return isMaybeFloat(); break; case Js::AsmJsType::Floatish: return isFloatish(); break; case Js::AsmJsType::FloatishDoubleLit: return isFloatishDoubleLit(); break; case Js::AsmJsType::Fixnum: return which_ == Fixnum; break; case Js::AsmJsType::Int: return isInt(); break; case Js::AsmJsType::Signed: return isSigned(); break; case Js::AsmJsType::Unsigned: return isUnsigned(); break; case Js::AsmJsType::Intish: return isIntish(); break; case Js::AsmJsType::Void: return isVoid(); break; case AsmJsType::Int32x4: return isSIMDInt32x4(); break; case AsmJsType::Float32x4: return isSIMDFloat32x4(); break; case AsmJsType::Float64x2: return isSIMDFloat64x2(); break; default: break; } return false; }
bool AsmJsType::isSIMDType() const { return isSIMDInt32x4() || isSIMDFloat32x4() || isSIMDFloat64x2(); }