summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrAVX512.td
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2014-01-06 08:45:54 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2014-01-06 08:45:54 +0000
commit3629b4aa0eb7bf295ac105f59f62296d27723e6b (patch)
tree20e19f91a2c06e3fc969aeb9618bcf96707c24eb /llvm/lib/Target/X86/X86InstrAVX512.td
parent2bab98bbaeac075d67d6a846ca616641a05e15eb (diff)
downloadbcm5719-llvm-3629b4aa0eb7bf295ac105f59f62296d27723e6b.tar.gz
bcm5719-llvm-3629b4aa0eb7bf295ac105f59f62296d27723e6b.zip
AVX-512: added intrinsic vcvtpd2ps (with rounding mode and without)
llvm-svn: 198593
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrAVX512.td')
-rw-r--r--llvm/lib/Target/X86/X86InstrAVX512.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index 3b7264ae64e..58d720c80e4 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -2799,6 +2799,14 @@ defm VCVTPS2PDZ : avx512_vcvt_fp<0x5A, "vcvtps2pd", VR256X, VR512, fextend,
SSEPackedDouble>, EVEX_V512, EVEX_CD8<32, CD8VH>;
def : Pat<(v8f64 (extloadv8f32 addr:$src)),
(VCVTPS2PDZrm addr:$src)>;
+
+def : Pat<(v8f32 (int_x86_avx512_mask_cvtpd2ps_512 (v8f64 VR512:$src),
+ (bc_v8f32(v8i32 immAllZerosV)), (i8 -1), (i32 FROUND_CURRENT))),
+ (VCVTPD2PSZrr VR512:$src)>;
+
+def : Pat<(v8f32 (int_x86_avx512_mask_cvtpd2ps_512 (v8f64 VR512:$src),
+ (bc_v8f32(v8i32 immAllZerosV)), (i8 -1), imm:$rc)),
+ (VCVTPD2PSZrrb VR512:$src, imm:$rc)>;
//===----------------------------------------------------------------------===//
// AVX-512 Vector convert from sign integer to float/double
OpenPOWER on IntegriCloud