Add missing HasAVX512 predicate.
authorAndrew Trick <atrick@apple.com>
Wed, 9 Oct 2013 05:11:10 +0000 (05:11 +0000)
committerAndrew Trick <atrick@apple.com>
Wed, 9 Oct 2013 05:11:10 +0000 (05:11 +0000)
This was only working because AVX had cheaper rules in all cases.
I'm sure there are other places in this file where predicates are missing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192276 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrAVX512.td

index a09160061f39a54f65bef0647861aed864eb8252..47480b3a148e86a2042d0844e4f3f6e4dfd78250 100644 (file)
@@ -2224,7 +2224,7 @@ let neverHasSideEffects = 1 in {
               EVEX_4V;
 } // neverHasSideEffects = 1
 }
-
+let Predicates = [HasAVX512] in {
 defm VCVTSI2SSZ   : avx512_vcvtsi<0x2A, GR32, FR32X, i32mem, "cvtsi2ss{l}{z}">,
                                   XS, VEX_LIG, EVEX_CD8<32, CD8VT1>;
 defm VCVTSI642SSZ : avx512_vcvtsi<0x2A, GR64, FR32X, i64mem, "cvtsi2ss{q}{z}">,
@@ -2278,7 +2278,7 @@ def : Pat<(f64 (uint_to_fp GR32:$src)),
           (VCVTUSI2SDZrr (f64 (IMPLICIT_DEF)), GR32:$src)>;
 def : Pat<(f64 (uint_to_fp GR64:$src)),
           (VCVTUSI642SDZrr (f64 (IMPLICIT_DEF)), GR64:$src)>;
-
+}
 
 //===----------------------------------------------------------------------===//
 // AVX-512  Scalar convert from float/double to integer