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

Reply via email to