https://github.com/DanilaZhebryakov updated https://github.com/llvm/llvm-project/pull/154773
>From 542f85b55be08712622fd84c5b40de4fe24bcefb Mon Sep 17 00:00:00 2001 From: Danila Zhebryakov <d.zhebrya...@yandex.ru> Date: Fri, 8 Aug 2025 14:16:30 +0300 Subject: [PATCH] [PowerPC] fix float ABI selection on ppcle --- clang/lib/CodeGen/CodeGenModule.cpp | 3 ++- clang/test/CodeGen/PowerPC/ppc-sfvarargs.c | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 677d8bc82cb0a..8b85b93b5d568 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -188,7 +188,8 @@ createTargetCodeGenInfo(CodeGenModule &CGM) { return createPPC32TargetCodeGenInfo(CGM, IsSoftFloat); } case llvm::Triple::ppcle: { - bool IsSoftFloat = CodeGenOpts.FloatABI == "soft"; + bool IsSoftFloat = + CodeGenOpts.FloatABI == "soft" || Target.hasFeature("spe"); return createPPC32TargetCodeGenInfo(CGM, IsSoftFloat); } case llvm::Triple::ppc64: diff --git a/clang/test/CodeGen/PowerPC/ppc-sfvarargs.c b/clang/test/CodeGen/PowerPC/ppc-sfvarargs.c index 850acf8f0317e..125f2ae4680ef 100644 --- a/clang/test/CodeGen/PowerPC/ppc-sfvarargs.c +++ b/clang/test/CodeGen/PowerPC/ppc-sfvarargs.c @@ -1,4 +1,7 @@ // RUN: %clang -O0 --target=powerpc-unknown-linux-gnu -EB -msoft-float -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang -O0 --target=powerpcle-unknown-linux-gnu -EL -msoft-float -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang -O0 --target=powerpcle-unknown-unknown -mcpu=e500 -mhard-float -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang -O0 --target=powerpc-unknown-unknown -mcpu=e500 -mhard-float -S -emit-llvm %s -o - | FileCheck %s #include <stdarg.h> void test(char *fmt, ...) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits