< prev index next >
src/hotspot/share/opto/intrinsicnode.hpp
Print this page
rev 52948 : 8213754: PPC64: Add Intrinsics for isDigit/isLowerCase/isUpperCase/isWhitespace
Reviewed-by: kvn, rriggs, mdoerr, gromero
*** 1,7 ****
/*
! * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 178,183 ****
--- 178,219 ----
virtual uint ideal_reg() const { return Op_RegI; }
virtual Node* Ideal(PhaseGVN* phase, bool can_reshape);
virtual const Type* Value(PhaseGVN* phase) const;
};
+ //-------------------------------DigitNode----------------------------------------
+ class DigitNode : public Node {
+ public:
+ DigitNode(Node* control, Node *in1) : Node(control, in1) {}
+ virtual int Opcode() const;
+ const Type* bottom_type() const { return TypeInt::BOOL; }
+ virtual uint ideal_reg() const { return Op_RegI; }
+ };
+
+ //------------------------------LowerCaseNode------------------------------------
+ class LowerCaseNode : public Node {
+ public:
+ LowerCaseNode(Node* control, Node *in1) : Node(control, in1) {}
+ virtual int Opcode() const;
+ const Type* bottom_type() const { return TypeInt::BOOL; }
+ virtual uint ideal_reg() const { return Op_RegI; }
+ };
+
+ //------------------------------UpperCaseNode------------------------------------
+ class UpperCaseNode : public Node {
+ public:
+ UpperCaseNode(Node* control, Node *in1) : Node(control, in1) {}
+ virtual int Opcode() const;
+ const Type* bottom_type() const { return TypeInt::BOOL; }
+ virtual uint ideal_reg() const { return Op_RegI; }
+ };
+
+ //------------------------------WhitespaceCode-----------------------------------
+ class WhitespaceNode : public Node {
+ public:
+ WhitespaceNode(Node* control, Node *in1) : Node(control, in1) {}
+ virtual int Opcode() const;
+ const Type* bottom_type() const { return TypeInt::BOOL; }
+ virtual uint ideal_reg() const { return Op_RegI; }
+ };
+
#endif // SHARE_VM_OPTO_INTRINSICNODE_HPP
< prev index next >