summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
diff options
context:
space:
mode:
authorLiu, Chen3 <chen3.liu@intel.com>2019-12-31 11:38:17 +0800
committerLiu, Chen3 <chen3.liu@intel.com>2020-01-01 20:42:12 +0800
commit8af492ade1bc5367ae529e451b9c9cd9e3d55e53 (patch)
treebc8f8c6cd50bedeab5ab326c656c11fe6f09f654 /llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
parentd2bb8c16e711602481c8b33d0e2ccc9994eb6641 (diff)
downloadbcm5719-llvm-8af492ade1bc5367ae529e451b9c9cd9e3d55e53.tar.gz
bcm5719-llvm-8af492ade1bc5367ae529e451b9c9cd9e3d55e53.zip
add strict float for round operation
Differential Revision: https://reviews.llvm.org/D72026
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrFragmentsSIMD.td')
-rw-r--r--llvm/lib/Target/X86/X86InstrFragmentsSIMD.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
index 37cba895c37..a9902013dfe 100644
--- a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
+++ b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
@@ -466,6 +466,12 @@ def X86VRangeSAE : SDNode<"X86ISD::VRANGE_SAE", SDTFPBinOpImm>;
def X86VReduce : SDNode<"X86ISD::VREDUCE", SDTFPUnaryOpImm>;
def X86VReduceSAE : SDNode<"X86ISD::VREDUCE_SAE", SDTFPUnaryOpImm>;
def X86VRndScale : SDNode<"X86ISD::VRNDSCALE", SDTFPUnaryOpImm>;
+def X86strict_VRndScale : SDNode<"X86ISD::STRICT_VRNDSCALE", SDTFPUnaryOpImm,
+ [SDNPHasChain]>;
+def X86any_VRndScale : PatFrags<(ops node:$src1, node:$src2),
+ [(X86strict_VRndScale node:$src1, node:$src2),
+ (X86VRndScale node:$src1, node:$src2)]>;
+
def X86VRndScaleSAE: SDNode<"X86ISD::VRNDSCALE_SAE", SDTFPUnaryOpImm>;
def X86VGetMant : SDNode<"X86ISD::VGETMANT", SDTFPUnaryOpImm>;
def X86VGetMantSAE : SDNode<"X86ISD::VGETMANT_SAE", SDTFPUnaryOpImm>;
OpenPOWER on IntegriCloud