[clang] [X86] Clear EVEX512 feature for 128-bit and 256-bit FMA intrinsics (PR #156472)

Chaitanya Koparkar via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 2 08:15:53 PDT 2025


https://github.com/ckoparkar updated https://github.com/llvm/llvm-project/pull/156472

>From 05309782ab87eb3b81db1ac0e6dda02b0dac6a7d Mon Sep 17 00:00:00 2001
From: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: Tue, 2 Sep 2025 11:03:17 -0400
Subject: [PATCH] [X86] Clear EVEX512 feature for 128-bit and 256-bit FMA
 intrinsics

This matches the corresponding features defined in avx512vlintrin.h.
---
 clang/lib/Headers/fmaintrin.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/fmaintrin.h b/clang/lib/Headers/fmaintrin.h
index d8ea489022b8f..a1c117e5f9d89 100644
--- a/clang/lib/Headers/fmaintrin.h
+++ b/clang/lib/Headers/fmaintrin.h
@@ -15,8 +15,12 @@
 #define __FMAINTRIN_H
 
 /* Define the default attributes for the functions in this file. */
-#define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(128)))
-#define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(256)))
+#define __DEFAULT_FN_ATTRS128                                                  \
+  __attribute__((__always_inline__, __nodebug__, __target__("fma,no-evex512"), \
+                 __min_vector_width__(128)))
+#define __DEFAULT_FN_ATTRS256                                                  \
+  __attribute__((__always_inline__, __nodebug__, __target__("fma,no-evex512"), \
+                 __min_vector_width__(256)))
 
 #if defined(__cplusplus) && (__cplusplus >= 201103L)
 #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr



More information about the cfe-commits mailing list