Home
last modified time | relevance | path

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

/frameworks/libs/binary_translation/lite_translator/riscv64_to_x86_64/
Dinline_intrinsic.h322 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in operator() local
323 if constexpr (arg_info.arg_type == ArgInfo::IMM_ARG) { in operator()
337 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in ProcessArgInput() local
338 if constexpr (arg_info.arg_type == ArgInfo::IMM_ARG) { in ProcessArgInput()
339 return std::tuple{std::get<arg_info.from>(input_args_)}; in ProcessArgInput()
343 if constexpr (arg_info.arg_type == ArgInfo::IN_ARG) { in ProcessArgInput()
344 using Type = std::tuple_element_t<arg_info.from, typename AsmCallInfo::InputArguments>; in ProcessArgInput()
347 Mov<typename TypeTraits<int64_t>::Float>(as_, reg, std::get<arg_info.from>(input_args_)); in ProcessArgInput()
352 return std::tuple{std::get<arg_info.from>(input_args_)}; in ProcessArgInput()
354 } else if constexpr (arg_info.arg_type == ArgInfo::IN_OUT_ARG) { in ProcessArgInput()
[all …]
/frameworks/libs/binary_translation/intrinsics/common_to_x86/
Dgen_text_asm_intrinsics.cc182 if constexpr (!HaveInput(arg.arg_info) && !HaveOutput(arg.arg_info)) { in GenerateTemporaries()
203 static_assert(!HaveInput(arg.arg_info) && !HaveOutput(arg.arg_info)); in GenerateInShadows()
207 fprintf(out, "%2$*1$suint32_t in%3$d_shadow = in%3$d;\n", indent, "", arg.arg_info.from); in GenerateInShadows()
210 fprintf(out, "%*suint32_t out%d_shadow;\n", indent, "", arg.arg_info.to); in GenerateInShadows()
213 if constexpr (HaveInput(arg.arg_info)) { in GenerateInShadows()
214 using Type = std::tuple_element_t<arg.arg_info.from, typename AsmCallInfo::InputArguments>; in GenerateInShadows()
222 out, "%2$*1$suint32_t in%3$d_expanded = in%3$d;\n", indent, "", arg.arg_info.from); in GenerateInShadows()
235 fprintf(out, "%*s%s in%d_shadow;\n", indent, "", xmm_type_name, arg.arg_info.from); in GenerateInShadows()
249 arg.arg_info.from, in GenerateInShadows()
253 if constexpr (HaveOutput(arg.arg_info)) { in GenerateInShadows()
[all …]
/frameworks/libs/binary_translation/heavy_optimizer/riscv64/
Dinline_intrinsic.h378 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in operator() local
379 if constexpr (arg_info.arg_type == ArgInfo::IMM_ARG) { in operator()
380 auto imm = std::get<arg_info.from>(input_args_); in operator()
389 static constexpr const auto& arg_info = ArgTraits<ArgBinding>::arg_info; in ProcessArgInput() local
394 if constexpr (arg_info.arg_type == ArgInfo::IN_ARG) { in ProcessArgInput()
398 std::is_same_v<std::tuple_element_t<arg_info.from, std::tuple<ArgType...>>, in ProcessArgInput()
401 MovFromInput<RegisterClass>(builder_, xmm_reg, std::get<arg_info.from>(input_args_)); in ProcessArgInput()
404 return std::tuple{std::get<arg_info.from>(input_args_)}; in ProcessArgInput()
406 } else if constexpr (arg_info.arg_type == ArgInfo::IN_OUT_ARG) { in ProcessArgInput()
417 builder_, xmm_result_reg_, std::get<arg_info.from>(input_args_)); in ProcessArgInput()
[all …]
/frameworks/libs/binary_translation/intrinsics/include/berberis/intrinsics/
Dintrinsics_args.h154 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::IN_ARG, .from = N};
163 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::OUT_ARG, .to = N};
172 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::OUT_TMP_ARG, .to = N};
181 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::IN_OUT_ARG, .from = N, .to = M};
190 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::IN_OUT_TMP_ARG, .from = N, .to = M};
199 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::IN_TMP_ARG, .from = N};
207 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::IMM_ARG, .from = N};
216 static constexpr ArgInfo arg_info{.arg_type = ArgInfo::TMP_ARG};
279 const ArgInfo arguments[] = {ArgTraits<Args>::arg_info...}; in IsCompatible()
/frameworks/libs/binary_translation/backend/include/berberis/backend/x86_64/
Dmachine_insn_intrinsics.h178 static_assert(ArgTraits<B>::arg_info.arg_type == ArgInfo::TMP_ARG);
185 static_assert(ArgTraits<B>::arg_info.arg_type == ArgInfo::TMP_ARG);