< prev index next >

src/hotspot/share/opto/vectornode.hpp

Print this page




 207   SubVLNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 208   virtual int Opcode() const;
 209 };
 210 
 211 //------------------------------SubVFNode--------------------------------------
 212 // Vector subtract float
 213 class SubVFNode : public VectorNode {
 214  public:
 215   SubVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 216   virtual int Opcode() const;
 217 };
 218 
 219 //------------------------------SubVDNode--------------------------------------
 220 // Vector subtract double
 221 class SubVDNode : public VectorNode {
 222  public:
 223   SubVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 224   virtual int Opcode() const;
 225 };
 226 








 227 //------------------------------MulVSNode--------------------------------------
 228 // Vector multiply short
 229 class MulVSNode : public VectorNode {
 230  public:
 231   MulVSNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 232   virtual int Opcode() const;
 233 };
 234 
 235 //------------------------------MulVINode--------------------------------------
 236 // Vector multiply int
 237 class MulVINode : public VectorNode {
 238  public:
 239   MulVINode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 240   virtual int Opcode() const;
 241 };
 242 
 243 //------------------------------MulVLNode--------------------------------------
 244 // Vector multiply long
 245 class MulVLNode : public VectorNode {
 246 public:


 340 public:
 341   MulReductionVDNode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {}
 342   virtual int Opcode() const;
 343   virtual const Type* bottom_type() const { return Type::DOUBLE; }
 344   virtual uint ideal_reg() const { return Op_RegD; }
 345 };
 346 
 347 //------------------------------DivVFNode--------------------------------------
 348 // Vector divide float
 349 class DivVFNode : public VectorNode {
 350  public:
 351   DivVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 352   virtual int Opcode() const;
 353 };
 354 
 355 //------------------------------DivVDNode--------------------------------------
 356 // Vector Divide double
 357 class DivVDNode : public VectorNode {
 358  public:
 359   DivVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
































 360   virtual int Opcode() const;
 361 };
 362 
 363 //------------------------------AbsVFNode--------------------------------------
 364 // Vector Abs float
 365 class AbsVFNode : public VectorNode {
 366  public:
 367   AbsVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 368   virtual int Opcode() const;
 369 };
 370 
 371 //------------------------------AbsVDNode--------------------------------------
 372 // Vector Abs double
 373 class AbsVDNode : public VectorNode {
 374  public:
 375   AbsVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 376   virtual int Opcode() const;
 377 };
 378 
 379 //------------------------------NegVFNode--------------------------------------




 207   SubVLNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 208   virtual int Opcode() const;
 209 };
 210 
 211 //------------------------------SubVFNode--------------------------------------
 212 // Vector subtract float
 213 class SubVFNode : public VectorNode {
 214  public:
 215   SubVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 216   virtual int Opcode() const;
 217 };
 218 
 219 //------------------------------SubVDNode--------------------------------------
 220 // Vector subtract double
 221 class SubVDNode : public VectorNode {
 222  public:
 223   SubVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 224   virtual int Opcode() const;
 225 };
 226 
 227 //------------------------------MulVBNode--------------------------------------
 228 // Vector multiply byte
 229 class MulVBNode : public VectorNode {
 230  public:
 231   MulVBNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1, in2, vt) {}
 232   virtual int Opcode() const;
 233 };
 234 
 235 //------------------------------MulVSNode--------------------------------------
 236 // Vector multiply short
 237 class MulVSNode : public VectorNode {
 238  public:
 239   MulVSNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 240   virtual int Opcode() const;
 241 };
 242 
 243 //------------------------------MulVINode--------------------------------------
 244 // Vector multiply int
 245 class MulVINode : public VectorNode {
 246  public:
 247   MulVINode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 248   virtual int Opcode() const;
 249 };
 250 
 251 //------------------------------MulVLNode--------------------------------------
 252 // Vector multiply long
 253 class MulVLNode : public VectorNode {
 254 public:


 348 public:
 349   MulReductionVDNode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {}
 350   virtual int Opcode() const;
 351   virtual const Type* bottom_type() const { return Type::DOUBLE; }
 352   virtual uint ideal_reg() const { return Op_RegD; }
 353 };
 354 
 355 //------------------------------DivVFNode--------------------------------------
 356 // Vector divide float
 357 class DivVFNode : public VectorNode {
 358  public:
 359   DivVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 360   virtual int Opcode() const;
 361 };
 362 
 363 //------------------------------DivVDNode--------------------------------------
 364 // Vector Divide double
 365 class DivVDNode : public VectorNode {
 366  public:
 367   DivVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {}
 368   virtual int Opcode() const;
 369 };
 370 
 371 //------------------------------AbsVBNode--------------------------------------
 372 // Vector Abs byte
 373 class AbsVBNode : public VectorNode {
 374 public:
 375   AbsVBNode(Node* in, const TypeVect* vt) : VectorNode(in, vt) {}
 376   virtual int Opcode() const;
 377 };
 378 
 379 //------------------------------AbsVSNode--------------------------------------
 380 // Vector Abs short
 381 class AbsVSNode : public VectorNode {
 382 public:
 383   AbsVSNode(Node* in, const TypeVect* vt) : VectorNode(in, vt) {}
 384   virtual int Opcode() const;
 385 };
 386 
 387 //------------------------------AbsVINode--------------------------------------
 388 // Vector Abs int
 389 class AbsVINode : public VectorNode {
 390 public:
 391   AbsVINode(Node* in, const TypeVect* vt) : VectorNode(in, vt) {}
 392   virtual int Opcode() const;
 393 };
 394 
 395 //------------------------------AbsVLNode--------------------------------------
 396 // Vector Abs long
 397 class AbsVLNode : public VectorNode {
 398 public:
 399   AbsVLNode(Node* in, const TypeVect* vt) : VectorNode(in, vt) {}
 400   virtual int Opcode() const;
 401 };
 402 
 403 //------------------------------AbsVFNode--------------------------------------
 404 // Vector Abs float
 405 class AbsVFNode : public VectorNode {
 406  public:
 407   AbsVFNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 408   virtual int Opcode() const;
 409 };
 410 
 411 //------------------------------AbsVDNode--------------------------------------
 412 // Vector Abs double
 413 class AbsVDNode : public VectorNode {
 414  public:
 415   AbsVDNode(Node* in, const TypeVect* vt) : VectorNode(in,vt) {}
 416   virtual int Opcode() const;
 417 };
 418 
 419 //------------------------------NegVFNode--------------------------------------


< prev index next >