aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86InstrAVX512.td
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2013-10-25 18:04:12 +0000
committerQuentin Colombet <qcolombet@apple.com>2013-10-25 18:04:12 +0000
commited400c710890313116aeea9a070dce7956da44d1 (patch)
tree12e417a0a6a8c3dde29e1bcc459fddfa993a7b68 /lib/Target/X86/X86InstrAVX512.td
parent52d4822f71a76ef113be24afdce4e8ccfba2c3c1 (diff)
downloadexternal_llvm-ed400c710890313116aeea9a070dce7956da44d1.zip
external_llvm-ed400c710890313116aeea9a070dce7956da44d1.tar.gz
external_llvm-ed400c710890313116aeea9a070dce7956da44d1.tar.bz2
[X86][AVX512] Add patterns that match the AVX512 floating point register vbroadcast intrinsics.
Patch by Cameron McInally <cameron.mcinally@nyu.edu> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193422 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrAVX512.td')
-rw-r--r--lib/Target/X86/X86InstrAVX512.td5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td
index 79b9ae8..ed90a4b 100644
--- a/lib/Target/X86/X86InstrAVX512.td
+++ b/lib/Target/X86/X86InstrAVX512.td
@@ -465,6 +465,11 @@ def : Pat<(v16f32 (X86VBroadcast (v4f32 VR128X:$src))),
(VBROADCASTSSZrr VR128X:$src)>;
def : Pat<(v8f64 (X86VBroadcast (v2f64 VR128X:$src))),
(VBROADCASTSDZrr VR128X:$src)>;
+
+def : Pat<(v16f32 (int_x86_avx512_vbroadcast_ss_ps_512 (v4f32 VR128X:$src))),
+ (VBROADCASTSSZrr VR128X:$src)>;
+def : Pat<(v8f64 (int_x86_avx512_vbroadcast_sd_pd_512 (v2f64 VR128X:$src))),
+ (VBROADCASTSDZrr VR128X:$src)>;
// Provide fallback in case the load node that is used in the patterns above
// is used by additional users, which prevents the pattern selection.