< prev index next >

src/hotspot/share/opto/vectornode.hpp

Print this page
rev 49190 : Add support for vector popcount


 364   AbsVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 365   virtual int Opcode() const;
 366 };
 367 
 368 //------------------------------NegVFNode--------------------------------------
 369 // Vector Neg float
 370 class NegVFNode : public VectorNode {
 371  public:
 372   NegVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 373   virtual int Opcode() const;
 374 };
 375 
 376 //------------------------------NegVDNode--------------------------------------
 377 // Vector Neg double
 378 class NegVDNode : public VectorNode {
 379  public:
 380   NegVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 381   virtual int Opcode() const;
 382 };
 383 








 384 //------------------------------SqrtVFNode--------------------------------------
 385 // Vector Sqrt float
 386 class SqrtVFNode : public VectorNode {
 387  public:
 388   SqrtVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 389   virtual int Opcode() const;
 390 };
 391 
 392 //------------------------------SqrtVDNode--------------------------------------
 393 // Vector Sqrt double
 394 class SqrtVDNode : public VectorNode {
 395  public:
 396   SqrtVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 397   virtual int Opcode() const;
 398 };
 399 
 400 //------------------------------LShiftVBNode-----------------------------------
 401 // Vector left shift bytes
 402 class LShiftVBNode : public VectorNode {
 403  public:




 364   AbsVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 365   virtual int Opcode() const;
 366 };
 367 
 368 //------------------------------NegVFNode--------------------------------------
 369 // Vector Neg float
 370 class NegVFNode : public VectorNode {
 371  public:
 372   NegVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 373   virtual int Opcode() const;
 374 };
 375 
 376 //------------------------------NegVDNode--------------------------------------
 377 // Vector Neg double
 378 class NegVDNode : public VectorNode {
 379  public:
 380   NegVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 381   virtual int Opcode() const;
 382 };
 383 
 384 //------------------------------PopCountVINode---------------------------------
 385 // Vector popcount integer bits
 386 class PopCountVINode : public VectorNode {
 387  public:
 388   PopCountVINode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 389   virtual int Opcode() const;
 390 };
 391 
 392 //------------------------------SqrtVFNode--------------------------------------
 393 // Vector Sqrt float
 394 class SqrtVFNode : public VectorNode {
 395  public:
 396   SqrtVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 397   virtual int Opcode() const;
 398 };
 399 
 400 //------------------------------SqrtVDNode--------------------------------------
 401 // Vector Sqrt double
 402 class SqrtVDNode : public VectorNode {
 403  public:
 404   SqrtVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 405   virtual int Opcode() const;
 406 };
 407 
 408 //------------------------------LShiftVBNode-----------------------------------
 409 // Vector left shift bytes
 410 class LShiftVBNode : public VectorNode {
 411  public:


< prev index next >