[clang] [clang][driver] Use rva22u64_v as the default march for Fuchsia targets (PR #131183)
Paul Kirth via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 17 11:01:38 PDT 2025
https://github.com/ilovepi updated https://github.com/llvm/llvm-project/pull/131183
>From 30a2a3bc95ff18653e3e26bc7b138bfb6ac62391 Mon Sep 17 00:00:00 2001
From: Paul Kirth <paulkirth at google.com>
Date: Thu, 13 Mar 2025 10:19:56 -0700
Subject: [PATCH] [clang][driver] Use rva22u64_v as the default march for
Fuchsia targets
---
clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 5 ++++-
clang/test/Driver/riscv-features.c | 12 ++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
index 776dc81027046..1c5b5ff5e5b40 100644
--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
@@ -325,7 +325,8 @@ std::string riscv::getRISCVArch(const llvm::opt::ArgList &Args,
if (MABI.starts_with_insensitive("lp64")) {
if (Triple.isAndroid())
return "rv64imafdcv_zba_zbb_zbs";
-
+ if (Triple.isOSFuchsia())
+ return "rva22u64_v";
return "rv64imafdc";
}
}
@@ -345,6 +346,8 @@ std::string riscv::getRISCVArch(const llvm::opt::ArgList &Args,
return "rv64imac";
if (Triple.isAndroid())
return "rv64imafdcv_zba_zbb_zbs";
+ if (Triple.isOSFuchsia())
+ return "rva22u64_v";
return "rv64imafdc";
}
diff --git a/clang/test/Driver/riscv-features.c b/clang/test/Driver/riscv-features.c
index b58ec3b523e5c..80dec2c71f985 100644
--- a/clang/test/Driver/riscv-features.c
+++ b/clang/test/Driver/riscv-features.c
@@ -73,3 +73,15 @@
// ERR-SPLIT-DWARF: error: -gsplit-dwarf{{.*}} is unsupported with RISC-V linker relaxation (-mrelax)
// SPLIT-DWARF: "-split-dwarf-file"
+
+// RUN: %clang -mabi=lp64d --target=riscv64-unknown-fuchsia -### %s -fsyntax-only 2>&1 | FileCheck %s -check-prefixes=FUCHSIA
+// FUCHSIA: "-target-feature" "+m"
+// FUCHSIA-SAME: "-target-feature" "+a"
+// FUCHSIA-SAME: "-target-feature" "+f"
+// FUCHSIA-SAME: "-target-feature" "+d"
+// FUCHSIA-SAME: "-target-feature" "+c"
+// FUCHSIA-SAME: "-target-feature" "+v"
+// FUCHSIA-SAME: "-target-feature" "+zba"
+// FUCHSIA-SAME: "-target-feature" "+zbb"
+// FUCHSIA-SAME: "-target-feature" "+zbs"
+
More information about the cfe-commits
mailing list