< prev index next >

src/hotspot/share/opto/vectornode.hpp

Print this page
rev 47825 : Support vectorization of sqrt for float


 356   AbsVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 357   virtual int Opcode() const;
 358 };
 359 
 360 //------------------------------NegVFNode--------------------------------------
 361 // Vector Neg float
 362 class NegVFNode : public VectorNode {
 363  public:
 364   NegVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 365   virtual int Opcode() const;
 366 };
 367 
 368 //------------------------------NegVDNode--------------------------------------
 369 // Vector Neg double
 370 class NegVDNode : public VectorNode {
 371  public:
 372   NegVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 373   virtual int Opcode() const;
 374 };
 375 








 376 //------------------------------SqrtVDNode--------------------------------------
 377 // Vector Sqrt double
 378 class SqrtVDNode : public VectorNode {
 379  public:
 380   SqrtVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 381   virtual int Opcode() const;
 382 };
 383 
 384 //------------------------------LShiftVBNode-----------------------------------
 385 // Vector left shift bytes
 386 class LShiftVBNode : public VectorNode {
 387  public:
 388   LShiftVBNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 389   virtual int Opcode() const;
 390 };
 391 
 392 //------------------------------LShiftVSNode-----------------------------------
 393 // Vector left shift shorts
 394 class LShiftVSNode : public VectorNode {
 395  public:




 356   AbsVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 357   virtual int Opcode() const;
 358 };
 359 
 360 //------------------------------NegVFNode--------------------------------------
 361 // Vector Neg float
 362 class NegVFNode : public VectorNode {
 363  public:
 364   NegVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 365   virtual int Opcode() const;
 366 };
 367 
 368 //------------------------------NegVDNode--------------------------------------
 369 // Vector Neg double
 370 class NegVDNode : public VectorNode {
 371  public:
 372   NegVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 373   virtual int Opcode() const;
 374 };
 375 
 376 //------------------------------SqrtVFNode--------------------------------------
 377 // Vector Sqrt float
 378 class SqrtVFNode : public VectorNode {
 379  public:
 380   SqrtVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 381   virtual int Opcode() const;
 382 };
 383 
 384 //------------------------------SqrtVDNode--------------------------------------
 385 // Vector Sqrt double
 386 class SqrtVDNode : public VectorNode {
 387  public:
 388   SqrtVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 389   virtual int Opcode() const;
 390 };
 391 
 392 //------------------------------LShiftVBNode-----------------------------------
 393 // Vector left shift bytes
 394 class LShiftVBNode : public VectorNode {
 395  public:
 396   LShiftVBNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 397   virtual int Opcode() const;
 398 };
 399 
 400 //------------------------------LShiftVSNode-----------------------------------
 401 // Vector left shift shorts
 402 class LShiftVSNode : public VectorNode {
 403  public:


< prev index next >