https://github.com/broxigarchen updated https://github.com/llvm/llvm-project/pull/133298
>From bd6300963b53ad8c5a4037e89e041fe1adfd3fe6 Mon Sep 17 00:00:00 2001 From: guochen2 <guoch...@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..f46f0251cadfc 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 -mreal-true16 %s 2>&1 | FileCheck --check-prefix=REAL16 %s +// RUN: %clang -### -target amdgcn -mcpu=gfx1100 -mno-real-true16 %s 2>&1 | FileCheck --check-prefix=NO-REAL16 %s +// REAL16: "-target-feature" "+real-true16" +// NO-REAL16-NOT: {{".*real-true16"}} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits