[llvm] r254176 - [X86] Merge X86VPermt2Fp and X86VPermt2Int back together by weakening them just enough. The SDTCisSameSizeAs introduced in r254138 helps here.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 26 12:02:01 PST 2015
Author: ctopper
Date: Thu Nov 26 14:02:01 2015
New Revision: 254176
URL: http://llvm.org/viewvc/llvm-project?rev=254176&view=rev
Log:
[X86] Merge X86VPermt2Fp and X86VPermt2Int back together by weakening them just enough. The SDTCisSameSizeAs introduced in r254138 helps here.
Modified:
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td
Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=254176&r1=254175&r2=254176&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Thu Nov 26 14:02:01 2015
@@ -1266,15 +1266,15 @@ multiclass avx512_perm_t_sizes_w<bits<8>
}
}
-defm VPERMT2D : avx512_perm_t_sizes<0x7E, "vpermt2d", X86VPermt2Int,
+defm VPERMT2D : avx512_perm_t_sizes<0x7E, "vpermt2d", X86VPermt2,
avx512vl_i32_info, avx512vl_i32_info>, EVEX_CD8<32, CD8VF>;
-defm VPERMT2Q : avx512_perm_t_sizes<0x7E, "vpermt2q", X86VPermt2Int,
+defm VPERMT2Q : avx512_perm_t_sizes<0x7E, "vpermt2q", X86VPermt2,
avx512vl_i64_info, avx512vl_i64_info>, VEX_W, EVEX_CD8<64, CD8VF>;
-defm VPERMT2W : avx512_perm_t_sizes_w<0x7D, "vpermt2w", X86VPermt2Int,
+defm VPERMT2W : avx512_perm_t_sizes_w<0x7D, "vpermt2w", X86VPermt2,
avx512vl_i16_info, avx512vl_i16_info>, VEX_W, EVEX_CD8<16, CD8VF>;
-defm VPERMT2PS : avx512_perm_t_sizes<0x7F, "vpermt2ps", X86VPermt2Fp,
+defm VPERMT2PS : avx512_perm_t_sizes<0x7F, "vpermt2ps", X86VPermt2,
avx512vl_f32_info, avx512vl_i32_info>, EVEX_CD8<32, CD8VF>;
-defm VPERMT2PD : avx512_perm_t_sizes<0x7F, "vpermt2pd", X86VPermt2Fp,
+defm VPERMT2PD : avx512_perm_t_sizes<0x7F, "vpermt2pd", X86VPermt2,
avx512vl_f64_info, avx512vl_i64_info>, VEX_W, EVEX_CD8<64, CD8VF>;
//===----------------------------------------------------------------------===//
Modified: llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td?rev=254176&r1=254175&r2=254176&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td Thu Nov 26 14:02:01 2015
@@ -378,16 +378,12 @@ def X86VPermilpv : SDNode<"X86ISD::VPER
def X86VPermilpi : SDNode<"X86ISD::VPERMILPI", SDTShuff2OpI>;
def X86VPermv : SDNode<"X86ISD::VPERMV", SDTShuff2Op>;
def X86VPermi : SDNode<"X86ISD::VPERMI", SDTShuff2OpI>;
-def X86VPermt2Fp : SDNode<"X86ISD::VPERMV3",
- SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisFP<0>,
+def X86VPermt2 : SDNode<"X86ISD::VPERMV3",
+ SDTypeProfile<1, 3, [SDTCisVec<0>,
SDTCisSameAs<0,1>, SDTCisInt<2>,
SDTCisVec<2>, SDTCisSameNumEltsAs<0, 2>,
SDTCisSameSizeAs<0,2>,
SDTCisSameAs<0,3>]>, []>;
-def X86VPermt2Int : SDNode<"X86ISD::VPERMV3",
- SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisInt<0>,
- SDTCisSameAs<0,1>, SDTCisSameAs<0,2>,
- SDTCisSameAs<0,3>]>, []>;
def X86VPermi2X : SDNode<"X86ISD::VPERMIV3", SDTShuff3Op>;
def X86vpternlog : SDNode<"X86ISD::VPTERNLOG", SDTTernlog>;
More information about the llvm-commits
mailing list