diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrSSE.td')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSSE.td | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index 23aea3ea908..2d4dc46d41b 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -5772,96 +5772,6 @@ let Predicates = [UseAVX, OptForSize] in { (VROUNDSDm (f64 (IMPLICIT_DEF)), addr:$src, (i32 0xB))>; } -let Predicates = [HasAVX, NoVLX] in { - def : Pat<(v4f32 (ffloor VR128:$src)), - (VROUNDPSr VR128:$src, (i32 0x9))>; - def : Pat<(v4f32 (fnearbyint VR128:$src)), - (VROUNDPSr VR128:$src, (i32 0xC))>; - def : Pat<(v4f32 (fceil VR128:$src)), - (VROUNDPSr VR128:$src, (i32 0xA))>; - def : Pat<(v4f32 (frint VR128:$src)), - (VROUNDPSr VR128:$src, (i32 0x4))>; - def : Pat<(v4f32 (ftrunc VR128:$src)), - (VROUNDPSr VR128:$src, (i32 0xB))>; - - def : Pat<(v4f32 (ffloor (loadv4f32 addr:$src))), - (VROUNDPSm addr:$src, (i32 0x9))>; - def : Pat<(v4f32 (fnearbyint (loadv4f32 addr:$src))), - (VROUNDPSm addr:$src, (i32 0xC))>; - def : Pat<(v4f32 (fceil (loadv4f32 addr:$src))), - (VROUNDPSm addr:$src, (i32 0xA))>; - def : Pat<(v4f32 (frint (loadv4f32 addr:$src))), - (VROUNDPSm addr:$src, (i32 0x4))>; - def : Pat<(v4f32 (ftrunc (loadv4f32 addr:$src))), - (VROUNDPSm addr:$src, (i32 0xB))>; - - def : Pat<(v2f64 (ffloor VR128:$src)), - (VROUNDPDr VR128:$src, (i32 0x9))>; - def : Pat<(v2f64 (fnearbyint VR128:$src)), - (VROUNDPDr VR128:$src, (i32 0xC))>; - def : Pat<(v2f64 (fceil VR128:$src)), - (VROUNDPDr VR128:$src, (i32 0xA))>; - def : Pat<(v2f64 (frint VR128:$src)), - (VROUNDPDr VR128:$src, (i32 0x4))>; - def : Pat<(v2f64 (ftrunc VR128:$src)), - (VROUNDPDr VR128:$src, (i32 0xB))>; - - def : Pat<(v2f64 (ffloor (loadv2f64 addr:$src))), - (VROUNDPDm addr:$src, (i32 0x9))>; - def : Pat<(v2f64 (fnearbyint (loadv2f64 addr:$src))), - (VROUNDPDm addr:$src, (i32 0xC))>; - def : Pat<(v2f64 (fceil (loadv2f64 addr:$src))), - (VROUNDPDm addr:$src, (i32 0xA))>; - def : Pat<(v2f64 (frint (loadv2f64 addr:$src))), - (VROUNDPDm addr:$src, (i32 0x4))>; - def : Pat<(v2f64 (ftrunc (loadv2f64 addr:$src))), - (VROUNDPDm addr:$src, (i32 0xB))>; - - def : Pat<(v8f32 (ffloor VR256:$src)), - (VROUNDPSYr VR256:$src, (i32 0x9))>; - def : Pat<(v8f32 (fnearbyint VR256:$src)), - (VROUNDPSYr VR256:$src, (i32 0xC))>; - def : Pat<(v8f32 (fceil VR256:$src)), - (VROUNDPSYr VR256:$src, (i32 0xA))>; - def : Pat<(v8f32 (frint VR256:$src)), - (VROUNDPSYr VR256:$src, (i32 0x4))>; - def : Pat<(v8f32 (ftrunc VR256:$src)), - (VROUNDPSYr VR256:$src, (i32 0xB))>; - - def : Pat<(v8f32 (ffloor (loadv8f32 addr:$src))), - (VROUNDPSYm addr:$src, (i32 0x9))>; - def : Pat<(v8f32 (fnearbyint (loadv8f32 addr:$src))), - (VROUNDPSYm addr:$src, (i32 0xC))>; - def : Pat<(v8f32 (fceil (loadv8f32 addr:$src))), - (VROUNDPSYm addr:$src, (i32 0xA))>; - def : Pat<(v8f32 (frint (loadv8f32 addr:$src))), - (VROUNDPSYm addr:$src, (i32 0x4))>; - def : Pat<(v8f32 (ftrunc (loadv8f32 addr:$src))), - (VROUNDPSYm addr:$src, (i32 0xB))>; - - def : Pat<(v4f64 (ffloor VR256:$src)), - (VROUNDPDYr VR256:$src, (i32 0x9))>; - def : Pat<(v4f64 (fnearbyint VR256:$src)), - (VROUNDPDYr VR256:$src, (i32 0xC))>; - def : Pat<(v4f64 (fceil VR256:$src)), - (VROUNDPDYr VR256:$src, (i32 0xA))>; - def : Pat<(v4f64 (frint VR256:$src)), - (VROUNDPDYr VR256:$src, (i32 0x4))>; - def : Pat<(v4f64 (ftrunc VR256:$src)), - (VROUNDPDYr VR256:$src, (i32 0xB))>; - - def : Pat<(v4f64 (ffloor (loadv4f64 addr:$src))), - (VROUNDPDYm addr:$src, (i32 0x9))>; - def : Pat<(v4f64 (fnearbyint (loadv4f64 addr:$src))), - (VROUNDPDYm addr:$src, (i32 0xC))>; - def : Pat<(v4f64 (fceil (loadv4f64 addr:$src))), - (VROUNDPDYm addr:$src, (i32 0xA))>; - def : Pat<(v4f64 (frint (loadv4f64 addr:$src))), - (VROUNDPDYm addr:$src, (i32 0x4))>; - def : Pat<(v4f64 (ftrunc (loadv4f64 addr:$src))), - (VROUNDPDYm addr:$src, (i32 0xB))>; -} - let ExeDomain = SSEPackedSingle in defm ROUNDPS : sse41_fp_unop_p<0x08, "roundps", f128mem, VR128, v4f32, memopv4f32, X86VRndScale, SchedWriteFRnd.XMM>; @@ -5923,52 +5833,6 @@ let Predicates = [UseSSE41, OptForSize] in { (ROUNDSDm addr:$src, (i32 0xB))>; } -let Predicates = [UseSSE41] in { - def : Pat<(v4f32 (ffloor VR128:$src)), - (ROUNDPSr VR128:$src, (i32 0x9))>; - def : Pat<(v4f32 (fnearbyint VR128:$src)), - (ROUNDPSr VR128:$src, (i32 0xC))>; - def : Pat<(v4f32 (fceil VR128:$src)), - (ROUNDPSr VR128:$src, (i32 0xA))>; - def : Pat<(v4f32 (frint VR128:$src)), - (ROUNDPSr VR128:$src, (i32 0x4))>; - def : Pat<(v4f32 (ftrunc VR128:$src)), - (ROUNDPSr VR128:$src, (i32 0xB))>; - - def : Pat<(v4f32 (ffloor (memopv4f32 addr:$src))), - (ROUNDPSm addr:$src, (i32 0x9))>; - def : Pat<(v4f32 (fnearbyint (memopv4f32 addr:$src))), - (ROUNDPSm addr:$src, (i32 0xC))>; - def : Pat<(v4f32 (fceil (memopv4f32 addr:$src))), - (ROUNDPSm addr:$src, (i32 0xA))>; - def : Pat<(v4f32 (frint (memopv4f32 addr:$src))), - (ROUNDPSm addr:$src, (i32 0x4))>; - def : Pat<(v4f32 (ftrunc (memopv4f32 addr:$src))), - (ROUNDPSm addr:$src, (i32 0xB))>; - - def : Pat<(v2f64 (ffloor VR128:$src)), - (ROUNDPDr VR128:$src, (i32 0x9))>; - def : Pat<(v2f64 (fnearbyint VR128:$src)), - (ROUNDPDr VR128:$src, (i32 0xC))>; - def : Pat<(v2f64 (fceil VR128:$src)), - (ROUNDPDr VR128:$src, (i32 0xA))>; - def : Pat<(v2f64 (frint VR128:$src)), - (ROUNDPDr VR128:$src, (i32 0x4))>; - def : Pat<(v2f64 (ftrunc VR128:$src)), - (ROUNDPDr VR128:$src, (i32 0xB))>; - - def : Pat<(v2f64 (ffloor (memopv2f64 addr:$src))), - (ROUNDPDm addr:$src, (i32 0x9))>; - def : Pat<(v2f64 (fnearbyint (memopv2f64 addr:$src))), - (ROUNDPDm addr:$src, (i32 0xC))>; - def : Pat<(v2f64 (fceil (memopv2f64 addr:$src))), - (ROUNDPDm addr:$src, (i32 0xA))>; - def : Pat<(v2f64 (frint (memopv2f64 addr:$src))), - (ROUNDPDm addr:$src, (i32 0x4))>; - def : Pat<(v2f64 (ftrunc (memopv2f64 addr:$src))), - (ROUNDPDm addr:$src, (i32 0xB))>; -} - //===----------------------------------------------------------------------===// // SSE4.1 - Packed Bit Test //===----------------------------------------------------------------------===// |

