/frameworks/libs/binary_translation/intrinsics/common_to_x86/ |
D | intrinsics_float_test.cc | 120 bit_cast<uint32_t, Float32>(NonInlineWrapper<Float32(const Float32&)>::Call<Absolute>( in TEST() 121 bit_cast<Float32, uint32_t>(kBadNegativeNan32))); in TEST() 134 bit_cast<uint32_t, Float32>(NonInlineWrapper<Float32(const Float32&)>::Call<Negative>( in TEST() 135 bit_cast<Float32, uint32_t>(kBadNegativeNan32))); in TEST() 148 uint32_t result = bit_cast<uint32_t, Float32>(bit_cast<Float32, uint32_t>(kPlusInfinity32) + in TEST() 149 bit_cast<Float32, uint32_t>(kPlusInfinity32)); in TEST() 152 result = bit_cast<uint32_t, Float32>(bit_cast<Float32, uint32_t>(kMinusInfinity32) + in TEST() 153 bit_cast<Float32, uint32_t>(kMinusInfinity32)); in TEST() 156 result = bit_cast<uint32_t, Float32>(bit_cast<Float32, uint32_t>(kPlusInfinity32) + in TEST() 157 bit_cast<Float32, uint32_t>(kMinusInfinity32)); in TEST() [all …]
|
/frameworks/libs/binary_translation/intrinsics/common_to_x86/include/berberis/intrinsics/common_to_x86/ |
D | intrinsics_float.h | 31 inline Float32 operator operator_name(const Float32& v1, const Float32& v2) { \ 32 Float32 result; \ 37 inline Float32& operator assignment_name(Float32& v1, const Float32& v2) { \ 60 inline bool operator<(const Float32& v1, const Float32& v2) { 72 inline bool operator>(const Float32& v1, const Float32& v2) { 84 inline bool operator<=(const Float32& v1, const Float32& v2) { 96 inline bool operator>=(const Float32& v1, const Float32& v2) { 108 inline bool operator==(const Float32& v1, const Float32& v2) { 120 inline bool operator!=(const Float32& v1, const Float32& v2) { 141 inline Float32 CopySignBit(const Float32& v1, const Float32& v2) { in CopySignBit() [all …]
|
/frameworks/libs/binary_translation/lite_translator/riscv64_to_x86_64/ |
D | inline_intrinsic_tests.cc | 72 using Float32 = intrinsics::Float32; typedef in berberis::__anon5690538b0111::TryInlineIntrinsicWithTestParams 83 std::is_same_v<Result, std::tuple<Float32>> || in AllocResult() 98 } else if constexpr (std::is_same_v<Arg, SIMD128Register> || std::is_same_v<Arg, Float32> || in AllocArg() 121 TEST_SUPPORTED((intrinsics::FMul<intrinsics::Float32>), int8_t{FPFlags::DYN}); in TEST() 122 TEST_UNSUPPORTED((intrinsics::FMul<intrinsics::Float32>), int8_t{FPFlags::RNE}); in TEST() 126 TEST_SUPPORTED((intrinsics::FAdd<intrinsics::Float32>), int8_t{FPFlags::DYN}); in TEST() 127 TEST_UNSUPPORTED((intrinsics::FAdd<intrinsics::Float32>), int8_t{FPFlags::RNE}); in TEST() 131 TEST_SUPPORTED((intrinsics::FSub<intrinsics::Float32>), int8_t{FPFlags::DYN}); in TEST() 132 TEST_UNSUPPORTED((intrinsics::FSub<intrinsics::Float32>), int8_t{FPFlags::RNE}); in TEST() 136 TEST_SUPPORTED((intrinsics::FDiv<intrinsics::Float32>), int8_t{FPFlags::DYN}); in TEST() [all …]
|
D | inline_intrinsic.h | 64 } else if constexpr (IsTagEq<&intrinsics::FMul<intrinsics::Float32>>) { in TryInlineWithHostRounding() 69 return TryInlineIntrinsic<&intrinsics::FMulHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 78 } else if constexpr (IsTagEq<&intrinsics::FAdd<intrinsics::Float32>>) { in TryInlineWithHostRounding() 83 return TryInlineIntrinsic<&intrinsics::FAddHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 92 } else if constexpr (IsTagEq<&intrinsics::FSub<intrinsics::Float32>>) { in TryInlineWithHostRounding() 97 return TryInlineIntrinsic<&intrinsics::FSubHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 106 } else if constexpr (IsTagEq<&intrinsics::FDiv<intrinsics::Float32>>) { in TryInlineWithHostRounding() 111 return TryInlineIntrinsic<&intrinsics::FDivHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 121 } else if constexpr (IsTagEq<&intrinsics::FCvtFloatToInteger<int64_t, intrinsics::Float32>>) { in TryInlineWithHostRounding() 127 &intrinsics::FCvtFloatToIntegerHostRounding<int64_t, intrinsics::Float32>>( in TryInlineWithHostRounding() [all …]
|
D | lite_translator_tests.cc | 98 translator.NanBoxFpReg<LiteTranslator::Float32>(reg); in TEST() 104 translator.NanBoxAndSetFpReg<LiteTranslator::Float32>(1, reg); in TEST() 108 translator.NanBoxAndSetFpReg<LiteTranslator::Float32>(1, reg); in TEST()
|
D | call_intrinsic.h | 217 using Float32 = intrinsics::Float32; in InitArgs() local 235 } else if constexpr (std::is_same_v<IntrinsicType, Float32> || in InitArgs() 274 } else if constexpr ((std::is_same_v<IntrinsicType, Float32> || in InitArgs() 312 using Float32 = intrinsics::Float32; in ForwardResults() local 329 kFormatIs<IntrinsicResType, std::tuple<Float32>, std::tuple<Float64>> && in ForwardResults()
|
D | lite_translator.h | 59 using Float32 = intrinsics::Float32; variable
|
/frameworks/libs/binary_translation/interpreter/riscv64/ |
D | regs.h | 50 inline intrinsics::Float32 FPRegToFloat<intrinsics::Float32>(uint64_t arg) { 51 intrinsics::Float32 result; 52 memcpy(&result, &arg, sizeof(intrinsics::Float32)); 65 inline uint64_t FloatToFPReg<intrinsics::Float32>(intrinsics::Float32 arg) {
|
D | interpreter_test.cc | 2149 TestFPExceptions<intrinsics::Float32>(0x012d1557); // Vfadd.vv v10, v18, v26, v0.t in TEST_F() 2151 TestFPExceptions<intrinsics::Float32>(0x0120d557); // Vfadd.vf v10, v18, f1, v0.t in TEST_F() 2153 TestFPExceptions<intrinsics::Float32>(0x092d1557); // Vfsub.vv v10, v18, v26, v0.t in TEST_F() 2155 TestFPExceptions<intrinsics::Float32>(0x0920d557); // Vfsub.vf v10, v18, f1, v0.t in TEST_F() 2157 TestFPExceptions<intrinsics::Float32>(0x812d1557); // Vfdiv.vv v10, v18, v26, v0.t in TEST_F() 2159 TestFPExceptions<intrinsics::Float32>(0x8120d557); // Vfdiv.vf v10, v18, f1, v0.t in TEST_F() 2161 TestFPExceptions<intrinsics::Float32>(0x912d1557); // Vfmul.vv v10, v18, v26, v0.t in TEST_F() 2163 TestFPExceptions<intrinsics::Float32>(0x9120d557); // Vfmul.vf v10, v18, f1, v0.t in TEST_F() 2165 TestFPExceptions<intrinsics::Float32>(0x9d20d557); // Vfrsub.vf v10, v18, f1, v0.t in TEST_F() 2241 TestVfmvfs<intrinsics::Float32>(0x428010d7, 0xffff'ffff'8302'8100); // Vfmv.f.s f1, v8 in TEST_F() [all …]
|
D | interpreter.h | 75 using Float32 = intrinsics::Float32; variable 249 static_assert(std::is_same_v<DataType, Float32> || std::is_same_v<DataType, Float64>); in LoadFp() 365 static_assert(std::is_same_v<DataType, Float32> || std::is_same_v<DataType, Float64>); in StoreFp() 582 return OpVector<Float32>( in OpVector() 586 std::get<0>(intrinsics::UnboxNan<Float32>(bit_cast<Float64>(extra_args)))...); in OpVector() 1266 if constexpr (sizeof(ElementType) == sizeof(Float32)) { in OpVector() 1414 Vec<SignedType{(sizeof(ElementType) == sizeof(Float32)) ? 0x3f80'0000 in OpVector() 1481 if constexpr (sizeof(ElementType) <= sizeof(Float32)) { in OpVector() 1552 if constexpr (sizeof(ElementType) == sizeof(Float32)) { in OpVector() 1705 if constexpr (sizeof(ElementType) >= sizeof(Float32)) { in OpVector() [all …]
|
/frameworks/libs/binary_translation/intrinsics/riscv64/ |
D | intrinsics_test.cc | 144 ASSERT_EQ(RSqrtEstimate<Float32>(Float32{255}), Float32{0.0625}); in TEST() 147 ASSERT_EQ(RSqrtEstimate<Float32>(Float32{2000.123}), bit_cast<Float32>(uint32_t(0x3CB70000))); in TEST() 150 ASSERT_EQ(RSqrtEstimate<Float32>(Float32{0.1123}), Float32{2.984375}); in TEST() 153 ASSERT_EQ(RSqrtEstimate<Float32>(Float32{0}), std::numeric_limits<Float32>::infinity()); in TEST() 157 ASSERT_EQ(bit_cast<uint32_t>(RSqrtEstimate<Float32>(Float32{-2.1})), in TEST() 158 bit_cast<uint32_t>(std::numeric_limits<Float32>::quiet_NaN())); in TEST()
|
/frameworks/libs/binary_translation/intrinsics/include/berberis/intrinsics/ |
D | type_traits.h | 55 using Float = intrinsics::Float32; 90 using Float = intrinsics::Float32; 120 using Wide = intrinsics::Float32; 126 struct TypeTraits<intrinsics::Float32> { 139 using Narrow = intrinsics::Float32; 151 using Wrapped = intrinsics::Float32;
|
D | intrinsics_floating_point_impl.h | 76 static_assert(std::is_same_v<Float32, SourceOperandType> || in FCvtFloatToFloat() 78 static_assert(std::is_same_v<Float32, TargetOperandType> || in FCvtFloatToFloat() 94 static_assert(std::is_same_v<Float32, SourceOperandType> || in FCvtFloatToInteger() 141 static_assert(std::is_same_v<Float32, TargetOperandType> || in FCvtIntegerToFloat() 299 if constexpr (std::is_same_v<FloatType, Float32>) { in RSqrtEstimate() 303 Float32 fp32 = bit_cast<Float32>(op_32); in RSqrtEstimate() 308 return bit_cast<Float32>(op_32); in RSqrtEstimate()
|
D | simd_register.h | 355 SIMD_128_FLOAT_REGISTER_GETTER_SETTER(intrinsics::Float32, float, float32);
|
/frameworks/libs/binary_translation/intrinsics/riscv64_to_x86_64/include/berberis/intrinsics/ |
D | macro_assembler_floating_point_impl.h | 399 static_assert(std::is_same_v<FloatType, Float32>); in MacroNanBox() 401 Por(arg, {.disp = constants_pool::kNanBox<Float32>}); in MacroNanBox() 407 static_assert(std::is_same_v<FloatType, Float32>); in MacroNanBoxAVX() 409 Vpor(result, src, {.disp = constants_pool::kNanBox<Float32>}); in MacroNanBoxAVX() 415 static_assert(std::is_same_v<FloatType, Float32>); in MacroUnboxNan() 418 Pcmpeq<typename TypeTraits<FloatType>::Int>(result, {.disp = constants_pool::kNanBox<Float32>}); in MacroUnboxNan() 421 Pandn(result, {.disp = constants_pool::kNanBoxedNans<Float32>}); in MacroUnboxNan() 428 static_assert(std::is_same_v<FloatType, Float32>); in MacroUnboxNanAVX() 431 result, src, {.disp = constants_pool::kNanBox<Float32>}); in MacroUnboxNanAVX() 434 Vpandn(result, result, {.disp = constants_pool::kNanBoxedNans<Float32>}); in MacroUnboxNanAVX()
|
D | intrinsics_float.h | 40 if constexpr (std::is_same_v<FloatType, Float32>) { in ExecuteFloatOperationRmm() 123 DEFINE_FLOAT_COMPARE_FUNC(Max, Float32, +0.f, std::fmax); 125 DEFINE_FLOAT_COMPARE_FUNC(Min, Float32, -0.f, std::fmin);
|
D | macro_assembler_constants_pool.h | 186 inline const int32_t& kNanBox<intrinsics::Float32> = kVectorConst<uint64_t{0xffff'ffff'0000'0000}>; 193 inline const int32_t& kNanBoxedNans<intrinsics::Float32> =
|
/frameworks/libs/binary_translation/heavy_optimizer/riscv64/ |
D | inline_intrinsic.h | 69 } else if constexpr (IsTagEq<&intrinsics::FMul<intrinsics::Float32>>()) { in TryInlineWithHostRounding() 75 &intrinsics::FMulHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 85 } else if constexpr (IsTagEq<&intrinsics::FAdd<intrinsics::Float32>>()) { in TryInlineWithHostRounding() 91 &intrinsics::FAddHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 101 } else if constexpr (IsTagEq<&intrinsics::FSub<intrinsics::Float32>>()) { in TryInlineWithHostRounding() 107 &intrinsics::FSubHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 117 } else if constexpr (IsTagEq<&intrinsics::FDiv<intrinsics::Float32>>()) { in TryInlineWithHostRounding() 123 &intrinsics::FDivHostRounding<intrinsics::Float32>>( in TryInlineWithHostRounding() 133 } else if constexpr (IsTagEq<&intrinsics::FCvtFloatToInteger<int64_t, intrinsics::Float32>>()) { in TryInlineWithHostRounding() 139 &intrinsics::FCvtFloatToIntegerHostRounding<int64_t, intrinsics::Float32>>( in TryInlineWithHostRounding() [all …]
|
D | frontend.h | 47 using Float32 = intrinsics::Float32; variable 272 if constexpr (std::is_same_v<DataType, Float32>) { in LoadFp() 284 if constexpr (std::is_same_v<DataType, Float32>) { in StoreFp()
|
/frameworks/libs/binary_translation/decoder/include/berberis/decoder/riscv64/ |
D | semantics_player.h | 33 using Float32 = typename SemanticsListener::Float32; variable 182 FpRegister result = listener_->template FCvtFloatToFloat<Float32, Float64>(args.rm, frm, arg); in Fcvt() 183 NanBoxAndSetFpReg<Float32>(args.dst, result); in Fcvt() 186 FpRegister arg = GetFRegAndUnboxNan<Float32>(args.src); in Fcvt() 188 FpRegister result = listener_->template FCvtFloatToFloat<Float64, Float32>(args.rm, frm, arg); in Fcvt() 199 return FcvtloatToInteger<Float32>(args.dst_type, args.rm, args.dst, args.src); in Fcvt() 237 return FcvtIntegerToFloat<Float32>(args.src_type, args.rm, args.dst, args.src); in Fcvt() 276 return Fma<Float32>(args.opcode, args.rm, args.dst, args.src1, args.src2, args.src3); in Fma() 386 return Load<Float32>(args.dst, args.src, args.offset); in Load() 498 return OpFp<Float32>(args.opcode, args.rm, args.dst, args.src1, args.src2); in OpFp() [all …]
|
/frameworks/libs/binary_translation/intrinsics/common_to_x86/include/berberis/intrinsics/ |
D | macro_assembler-inl.h | 30 using Float32 = intrinsics::Float32; variable 75 static constexpr bool kFloatType = kFormatIs<FloatType, Float32, Float64>; 435 if constexpr (kFormatIs<format, Float32>) { \ 460 if constexpr (kFormatIs<format, Float32>) { \ 480 if constexpr (kFormatIs<FormatFrom, Float32> && kFormatIs<FormatTo, int32_t>) { \ 482 } else if constexpr (kFormatIs<FormatFrom, Float32> && kFormatIs<FormatTo, int64_t>) { \ 504 if constexpr (kFormatIs<FormatFrom, Float32> && kFormatIs<FormatTo, int32_t>) { \ 506 } else if constexpr (kFormatIs<FormatFrom, Float32> && kFormatIs<FormatTo, int64_t>) { \ 525 if constexpr (kFormatIs<FormatFrom, Float32> && kFormatIs<FormatTo, Float64>) { \ 550 if constexpr (kFormatIs<format, Float32>) { \
|
/frameworks/libs/binary_translation/intrinsics/include/berberis/intrinsics/common/ |
D | intrinsics.h | 63 } else if constexpr (std::is_same_v<Float32, std::decay_t<Type>>) { in TypeToEnumFromTemplateType()
|
D | intrinsics_float.h | 130 using Float32 = WrappedFloatType<float>; variable
|
/frameworks/libs/binary_translation/code_gen_lib/ |
D | gen_wrapper_riscv64_to_x86_64.cc | 155 as.MacroNanBoxAVX<intrinsics::Float32>(kFpParamRegs[fp_argc], kFpParamRegs[fp_argc]); in GenWrapGuestFunction() 157 as.MacroNanBox<intrinsics::Float32>(kFpParamRegs[fp_argc]); in GenWrapGuestFunction()
|
/frameworks/libs/native_bridge_support/android_api/libvulkan/proxy/ |
D | vulkan_xml_test.go | 555 field0.Type().Elem(arch).Elem(arch).Kind(arch) != cpp_types.Float32 { 672 field2.Type().Elem(arch).Elem(arch).Kind(arch) != cpp_types.Float32 ||
|