[flang-commits] [flang] [flang] Add aarch64 processor defines (PR #142606)

David Truby via flang-commits flang-commits at lists.llvm.org
Wed Jun 4 02:19:14 PDT 2025


https://github.com/DavidTruby updated https://github.com/llvm/llvm-project/pull/142606

>From 1cb0714ea621a576681324407d8ac6efc9503a13 Mon Sep 17 00:00:00 2001
From: David Truby <david at truby.dev>
Date: Tue, 3 Jun 2025 14:28:04 +0100
Subject: [PATCH 1/2] [flang] Add aarch64 processor defines

This patch adds aarch64 specific processor defines when targeting
aarch64, similar to the ones for ppc64 and x86_64
---
 flang/lib/Frontend/CompilerInvocation.cpp       |  4 ++++
 flang/test/Driver/predefined-macros-aarch64.f90 | 16 ++++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 flang/test/Driver/predefined-macros-aarch64.f90

diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index 90a002929eff0..89aaee9f13853 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -1656,6 +1656,10 @@ void CompilerInvocation::setDefaultPredefinitions() {
       fortranOptions.predefinitions.emplace_back("__64BIT__", "1");
     }
     break;
+  case llvm::Triple::ArchType::aarch64:
+    fortranOptions.predefinitions.emplace_back("__aarch64__", "1");
+    fortranOptions.predefinitions.emplace_back("__aarch64", "1");
+    break;
   }
 }
 
diff --git a/flang/test/Driver/predefined-macros-aarch64.f90 b/flang/test/Driver/predefined-macros-aarch64.f90
new file mode 100644
index 0000000000000..ff49c7e0cb85a
--- /dev/null
+++ b/flang/test/Driver/predefined-macros-aarch64.f90
@@ -0,0 +1,16 @@
+! Test predefined macro for 64 bit X86 architecture
+
+! REQUIRES: aarch64-registered-target
+
+! RUN: %flang_fc1 -triple aarch64-unknown-linux-gnu -cpp -E %s | FileCheck %s
+
+! CHECK: integer :: var1 = 1
+! CHECK: integer :: var2 = 1
+
+#if __aarch64__
+  integer :: var1 = __aarch64__
+#endif
+#if __aarch64
+  integer :: var2 = __aarch64
+#endif
+end program

>From 5c5e48388a1aa0e6b93de8cc116075ed0fcf37a8 Mon Sep 17 00:00:00 2001
From: David Truby <david.truby at arm.com>
Date: Wed, 4 Jun 2025 10:19:05 +0100
Subject: [PATCH 2/2] Correct comment in test

---
 flang/test/Driver/predefined-macros-aarch64.f90 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/flang/test/Driver/predefined-macros-aarch64.f90 b/flang/test/Driver/predefined-macros-aarch64.f90
index ff49c7e0cb85a..dabbd19771032 100644
--- a/flang/test/Driver/predefined-macros-aarch64.f90
+++ b/flang/test/Driver/predefined-macros-aarch64.f90
@@ -1,4 +1,4 @@
-! Test predefined macro for 64 bit X86 architecture
+! Test predefined macro for AArch64
 
 ! REQUIRES: aarch64-registered-target
 



More information about the flang-commits mailing list