diff options
-rw-r--r-- | lib/Target/X86/X86InstrSSE.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index 2983187274..986e428b9e 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -935,6 +935,10 @@ def : Pat<(v4f32 (sint_to_fp (v4i32 VR128:$src))), def : Pat<(v4i32 (fp_to_sint (v4f32 VR128:$src))), (CVTTPS2DQrr VR128:$src)>, Requires<[HasSSE2]>; +def : Pat<(v4f32 (sint_to_fp (v4i32 VR128:$src))), + (Int_VCVTDQ2PSrr VR128:$src)>, Requires<[HasAVX]>; +def : Pat<(v4i32 (fp_to_sint (v4f32 VR128:$src))), + (VCVTTPS2DQrr VR128:$src)>, Requires<[HasAVX]>; def : Pat<(v8f32 (sint_to_fp (v8i32 VR256:$src))), (VCVTDQ2PSYrr VR256:$src)>, Requires<[HasAVX]>; def : Pat<(v8i32 (fp_to_sint (v8f32 VR256:$src))), |