Home
last modified time | relevance | path

Searched refs:ArgTraits (Results 1 – 5 of 5) sorted by relevance

/frameworks/libs/binary_translation/backend/include/berberis/backend/x86_64/
Dmachine_insn_intrinsics.h62 struct ConstructorArg<ArgTraits<T>, std::enable_if_t<ArgTraits<T>::Class::kIsImmediate, void>> {
63 using type = std::tuple<typename ArgTraits<T>::Class::Type>;
68 struct ConstructorArg<ArgTraits<T>,
69 std::enable_if_t<!ArgTraits<T>::Class::kIsImmediate &&
70 ArgTraits<T>::RegisterClass::kAsRegister == 'm',
73 std::is_same_v<typename ArgTraits<T>::Usage, intrinsics::bindings::DefEarlyClobber>);
80 struct ConstructorArg<ArgTraits<T>,
81 std::enable_if_t<!ArgTraits<T>::Class::kIsImmediate &&
82 ArgTraits<T>::RegisterClass::kAsRegister != 'm',
88 using constructor_one_arg_t = typename ConstructorArg<ArgTraits<T>>::type;
[all …]
/frameworks/libs/binary_translation/intrinsics/include/berberis/intrinsics/
Dintrinsics_args.h146 class ArgTraits; variable
149 class ArgTraits<InArg<N, RegisterClassType, UsageType>> {
158 class ArgTraits<OutArg<N, RegisterClassType, UsageType>> {
167 class ArgTraits<OutTmpArg<N, RegisterClassType, UsageType>> {
176 class ArgTraits<InOutArg<N, M, RegisterClassType, UsageType>> {
185 class ArgTraits<InOutTmpArg<N, M, RegisterClassType, UsageType>> {
194 class ArgTraits<InTmpArg<N, RegisterClassType, UsageType>> {
203 class ArgTraits<ImmArg<N, ImmType, ImmediateClassType>> {
211 class ArgTraits<TmpArg<RegisterClassType, UsageType>> {
279 const ArgInfo arguments[] = {ArgTraits<Args>::arg_info...}; in IsCompatible()
/frameworks/libs/binary_translation/heavy_optimizer/riscv64/
Dinline_intrinsic.h377 auto /*MakeTuplefromBindingsClient*/ operator()(ArgTraits<ArgBinding>, AsmCallInfo) { in operator()
378 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in operator()
389 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in ProcessArgInput()
390 using RegisterClass = typename ArgTraits<ArgBinding>::RegisterClass; in ProcessArgInput()
391 using Usage = typename ArgTraits<ArgBinding>::Usage; in ProcessArgInput()
412 static_assert(kDependentTypeFalse<ArgTraits<ArgBinding>>); in ProcessArgInput()
433 static_assert(kDependentTypeFalse<ArgTraits<ArgBinding>>); in ProcessArgInput()
452 static_assert(kDependentTypeFalse<ArgTraits<ArgBinding>>); in ProcessArgInput()
543 if constexpr (ArgTraits<ArgBinding>::Class::kIsImmediate) { in ProcessBindingResult()
546 using RegisterClass = typename ArgTraits<ArgBinding>::RegisterClass; in ProcessBindingResult()
[all …]
/frameworks/libs/binary_translation/lite_translator/riscv64_to_x86_64/
Dinline_intrinsic.h321 auto /*MakeTuplefromBindingsClient*/ operator()(ArgTraits<ArgBinding>, AsmCallInfo) { in operator()
322 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in operator()
326 using RegisterClass = typename ArgTraits<ArgBinding>::RegisterClass; in operator()
337 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in ProcessArgInput()
341 using RegisterClass = typename ArgTraits<ArgBinding>::RegisterClass; in ProcessArgInput()
342 using Usage = typename ArgTraits<ArgBinding>::Usage; in ProcessArgInput()
/frameworks/libs/binary_translation/intrinsics/common_to_x86/include/berberis/intrinsics/common_to_x86/
Dintrinsics_bindings.h432 (callback(ArgTraits<BindingsTypes>(), std::forward<Args>(args)...), ...); in ProcessBindings()
436 return std::tuple_cat(callback(ArgTraits<BindingsTypes>(), std::forward<Args>(args)...)...); in MakeTuplefromBindings()