[clang] [X86] Merge matching XOP Features/Attributes blocks. NFC. (PR #155999)

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 29 02:49:25 PDT 2025


https://github.com/RKSimon created https://github.com/llvm/llvm-project/pull/155999

Minor cleanup to help when I begin splitting off constexpr capable builtins

>From b6a0b20cadf78f39facfd1f83a28143dae0f8c32 Mon Sep 17 00:00:00 2001
From: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: Fri, 29 Aug 2025 10:48:50 +0100
Subject: [PATCH] [X86] Merge matching XOP Features/Attributes blocks. NFC.

Minor cleanup to help when I begin splitting off constexpr capable builtins
---
 clang/include/clang/Basic/BuiltinsX86.td | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index 0bc93d75c9724..7ef81225575d6 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -872,8 +872,7 @@ let Features = "fma|fma4", Attributes = [NoThrow, Const, RequiredVectorWidth<128
   def vfmaddsubpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Vector<2, double>)">;
 }
 
-let Features = "fma|fma4",
-    Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
+let Features = "fma|fma4", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
   def vfmaddsubps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>)">;
   def vfmaddsubpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>)">;
 }
@@ -947,21 +946,7 @@ let Features = "xop", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
   def vpcomd : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<4, int>, _Constant char)">;
   def vpcomq : X86Builtin<"_Vector<2, long long int>(_Vector<2, long long int>, _Vector<2, long long int>, _Constant char)">;
   def vpermil2pd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Vector<2, long long int>, _Constant char)">;
-}
-
-let Features = "xop", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
-  def vpermil2pd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, long long int>, _Constant char)">;
-}
-
-let Features = "xop", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
   def vpermil2ps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Vector<4, int>, _Constant char)">;
-}
-
-let Features = "xop", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
-  def vpermil2ps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, int>, _Constant char)">;
-}
-
-let Features = "xop", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
   def vfrczss : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
   def vfrczsd : X86Builtin<"_Vector<2, double>(_Vector<2, double>)">;
   def vfrczps : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
@@ -969,6 +954,8 @@ let Features = "xop", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
 }
 
 let Features = "xop", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
+  def vpermil2pd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, long long int>, _Constant char)">;
+  def vpermil2ps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, int>, _Constant char)">;
   def vfrczps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>)">;
   def vfrczpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>)">;
 }



More information about the cfe-commits mailing list