[clang] [WIP] clang driver: enable fast unaligned access for Android on RISCV64 (PR #85704)

via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 18 14:31:17 PDT 2024


https://github.com/hiraditya created https://github.com/llvm/llvm-project/pull/85704

Android CTS test already requires fast unaligned access https://android-review.googlesource.com/c/platform/cts/+/2675633

Pending testcase

>From e9a5140853eb4a76765189f38fa31ee21be827ef Mon Sep 17 00:00:00 2001
From: AdityaK <1894981+hiraditya at users.noreply.github.com>
Date: Mon, 18 Mar 2024 14:09:13 -0700
Subject: [PATCH] clang driver: enable fast unaligned access for Android on
 RISCV64

Android CTS test already requires fast unaligned access
https://android-review.googlesource.com/c/platform/cts/+/2675633
---
 clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
index 5165bccc6d7e30..b1dd7c4372d475 100644
--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
@@ -167,6 +167,10 @@ void riscv::getRISCVTargetFeatures(const Driver &D, const llvm::Triple &Triple,
     Features.push_back("-relax");
   }
 
+  // Android requires fast unaligned access on RISCV64.
+  if (Triple.isAndroid())
+    Features.push_back("+fast-unaligned-access");
+
   // -mstrict-align is default, unless -mno-strict-align is specified.
   AddTargetFeature(Args, Features, options::OPT_mno_strict_align,
                    options::OPT_mstrict_align, "fast-unaligned-access");



More information about the cfe-commits mailing list