[clang] [compiler-rt] [llvm] [SystemZ] Add support for half (fp16) (PR #109164)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 17 05:31:38 PST 2025
================
@@ -179,20 +179,31 @@ bool SystemZABIInfo::isVectorArgumentType(QualType Ty) const {
getContext().getTypeSize(Ty) <= 128);
}
-bool SystemZABIInfo::isFPArgumentType(QualType Ty) const {
+// The Size argument will in case of af an overaligned single element struct
+// reflect the overalignment value. In such a case the argument will be
+// passed using the type matching Size.
+llvm::Type *SystemZABIInfo::getFPArgumentType(QualType Ty,
+ uint64_t Size) const {
if (IsSoftFloatABI)
- return false;
+ return nullptr;
if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
switch (BT->getKind()) {
+ case BuiltinType::Float16:
+ if (Size == 16)
----------------
arsenm wrote:
I don't understand why a size check is necessary; Float16 implies the size?
https://github.com/llvm/llvm-project/pull/109164
More information about the llvm-commits
mailing list