gcc/ChangeLog:
* config/loongarch/loongarch.cc (loongarch_can_inline_p):
Do not inline when callee is versioned but caller is not.
---
gcc/config/loongarch/loongarch.cc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gcc/config/loongarch/loongarch.cc
b/gcc/config/loongarch/loongarch.cc
index 2f68957caf5..3ccc75cc978 100644
--- a/gcc/config/loongarch/loongarch.cc
+++ b/gcc/config/loongarch/loongarch.cc
@@ -11211,6 +11211,10 @@ loongarch_compute_pressure_classes (reg_class *classes)
static bool
loongarch_can_inline_p (tree caller, tree callee)
{
+ /* Do not inline when callee is versioned but caller is not. */
+ if (DECL_FUNCTION_VERSIONED (callee) && ! DECL_FUNCTION_VERSIONED (caller))
+ return false;
+
tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee);
tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller);
--
2.34.1