diff options
| author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2016-03-29 06:33:41 +0000 |
|---|---|---|
| committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2016-03-29 06:33:41 +0000 |
| commit | 95629caaa9b467f4469f7bf35b688cfc31c50bcc (patch) | |
| tree | 97d72773424f9cd702762d30278a5cd546491926 /llvm/lib | |
| parent | 14fa1c6b603b3ce54b23f8a287e0f3a4801f3063 (diff) | |
| download | bcm5719-llvm-95629caaa9b467f4469f7bf35b688cfc31c50bcc.tar.gz bcm5719-llvm-95629caaa9b467f4469f7bf35b688cfc31c50bcc.zip | |
AVX-512: fixed a bug in fp_to_uint pattern on KNL
Fixed fp_to_uint instruction selection on KNL.
One pattern was missing for <4 x double> to <4 x i32>
Differential Revision: http://reviews.llvm.org/D18512
llvm-svn: 264701
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index 306d0e3e895..67338778fe5 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -5553,6 +5553,10 @@ def : Pat<(v4i32 (fp_to_uint (v4f32 VR128X:$src1))), (EXTRACT_SUBREG (v16i32 (VCVTTPS2UDQZrr (v16f32 (SUBREG_TO_REG (i32 0), VR128X:$src1, sub_xmm)))), sub_xmm)>; +def : Pat<(v4i32 (fp_to_uint (v4f64 VR256X:$src1))), + (EXTRACT_SUBREG (v8i32 (VCVTTPD2UDQZrr + (v8f64 (SUBREG_TO_REG (i32 0), VR256X:$src1, sub_ymm)))), sub_xmm)>; + def : Pat<(v8f32 (uint_to_fp (v8i32 VR256X:$src1))), (EXTRACT_SUBREG (v16f32 (VCVTUDQ2PSZrr (v16i32 (SUBREG_TO_REG (i32 0), VR256X:$src1, sub_ymm)))), sub_ymm)>; |

