[clang] [AMDGPU][True16][Driver] support true16 feature option in clang driver (PR #133298)
Brox Chen via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 27 11:53:22 PDT 2025
https://github.com/broxigarchen updated https://github.com/llvm/llvm-project/pull/133298
>From 4285b82cd89ad6c036c27bc392fb59474d15db0b Mon Sep 17 00:00:00 2001
From: guochen2 <guochen2 at amd.com>
Date: Thu, 27 Mar 2025 14:41:40 -0400
Subject: [PATCH] add true16 feature in clang driver
---
clang/include/clang/Driver/Options.td | 3 +++
clang/lib/Driver/ToolChains/AMDGPU.cpp | 4 ++++
clang/test/Driver/amdgpu-features.c | 5 +++++
3 files changed, 12 insertions(+)
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index a7fcb160d3867..68179d7835440 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -5182,6 +5182,9 @@ defm wavefrontsize64 : SimpleMFlag<"wavefrontsize64",
defm amdgpu_precise_memory_op
: SimpleMFlag<"amdgpu-precise-memory-op", "Enable", "Disable",
" precise memory mode (AMDGPU only)">;
+defm real_true16: SimpleMFlag<"real-true16",
+ "enable real-true16 in GFX11Plus", "enable real-true16 mode",
+ " real-true16 mode (AMDGPU only)">;
def munsafe_fp_atomics : Flag<["-"], "munsafe-fp-atomics">,
Visibility<[ClangOption, CC1Option]>, Alias<fatomic_ignore_denormal_mode>;
diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp
index 1c5bb08568801..ce0cba5aa536a 100644
--- a/clang/lib/Driver/ToolChains/AMDGPU.cpp
+++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp
@@ -707,6 +707,10 @@ void amdgpu::getAMDGPUTargetFeatures(const Driver &D,
options::OPT_mno_amdgpu_precise_memory_op, false))
Features.push_back("+precise-memory");
+ if (Args.hasFlag(options::OPT_mreal_true16, options::OPT_mno_real_true16,
+ false))
+ Features.push_back("+real-true16");
+
handleTargetFeaturesGroup(D, Triple, Args, Features,
options::OPT_m_amdgpu_Features_Group);
}
diff --git a/clang/test/Driver/amdgpu-features.c b/clang/test/Driver/amdgpu-features.c
index 864744db203e9..999e4e7240cdd 100644
--- a/clang/test/Driver/amdgpu-features.c
+++ b/clang/test/Driver/amdgpu-features.c
@@ -38,3 +38,8 @@
// RUN: %clang -### -target amdgcn -mcpu=gfx1010 -mno-amdgpu-precise-memory-op %s 2>&1 | FileCheck --check-prefix=NO-PREC-MEM %s
// NO-PREC-MEM-NOT: {{".*precise-memory"}}
+
+// RUN: %clang -### -target amdgcn -mcpu=gfx1100 -mrealtrue16 %s 2>&1 | FileCheck --check-prefix=REAL16 %s
+// RUN: %clang -### -target amdgcn -mcpu=gfx1100 -mno-realtrue16 %s 2>&1 | FileCheck --check-prefix=FAKE16 %s
+// REAL16: "-target-feature" "+real-true16"
+// FAKE16: {{".*real-true16"}}
More information about the cfe-commits
mailing list