summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZISelLowering.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZISelLowering.h')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZISelLowering.h36
1 files changed, 26 insertions, 10 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZISelLowering.h b/llvm/lib/Target/SystemZ/SystemZISelLowering.h
index 0ac07a12ab7..defcaa6eb6e 100644
--- a/llvm/lib/Target/SystemZ/SystemZISelLowering.h
+++ b/llvm/lib/Target/SystemZ/SystemZISelLowering.h
@@ -58,8 +58,7 @@ enum NodeType : unsigned {
ICMP,
// Floating-point comparisons. The two operands are the values to compare.
- // Regular and strict (quiet and signaling) versions.
- FCMP, STRICT_FCMP, STRICT_FCMPS,
+ FCMP,
// Test under mask. The first operand is ANDed with the second operand
// and the condition codes are set on the result. The third operand is
@@ -249,10 +248,9 @@ enum NodeType : unsigned {
// Compare floating-point vector operands 0 and 1 to produce the usual 0/-1
// vector result. VFCMPE is for "ordered and equal", VFCMPH for "ordered and
// greater than" and VFCMPHE for "ordered and greater than or equal to".
- // Regular and strict (quiet and signaling) versions.
- VFCMPE, STRICT_VFCMPE, STRICT_VFCMPES,
- VFCMPH, STRICT_VFCMPH, STRICT_VFCMPHS,
- VFCMPHE, STRICT_VFCMPHE, STRICT_VFCMPHES,
+ VFCMPE,
+ VFCMPH,
+ VFCMPHE,
// Likewise, but also set the condition codes on the result.
VFCMPES,
@@ -263,12 +261,12 @@ enum NodeType : unsigned {
VFTCI,
// Extend the even f32 elements of vector operand 0 to produce a vector
- // of f64 elements. Regular and strict versions.
- VEXTEND, STRICT_VEXTEND,
+ // of f64 elements.
+ VEXTEND,
// Round the f64 elements of vector operand 0 to f32s and store them in the
- // even elements of the result. Regular and strict versions.
- VROUND, STRICT_VROUND,
+ // even elements of the result.
+ VROUND,
// AND the two vector operands together and set CC based on the result.
VTM,
@@ -292,6 +290,24 @@ enum NodeType : unsigned {
// Operand 1: the bit mask
TDC,
+ // Strict variants of scalar floating-point comparisons.
+ // Quiet and signaling versions.
+ STRICT_FCMP = ISD::FIRST_TARGET_STRICTFP_OPCODE,
+ STRICT_FCMPS,
+
+ // Strict variants of vector floating-point comparisons.
+ // Quiet and signaling versions.
+ STRICT_VFCMPE,
+ STRICT_VFCMPH,
+ STRICT_VFCMPHE,
+ STRICT_VFCMPES,
+ STRICT_VFCMPHS,
+ STRICT_VFCMPHES,
+
+ // Strict variants of VEXTEND and VROUND.
+ STRICT_VEXTEND,
+ STRICT_VROUND,
+
// Wrappers around the inner loop of an 8- or 16-bit ATOMIC_SWAP or
// ATOMIC_LOAD_<op>.
//
OpenPOWER on IntegriCloud