comparison src/share/vm/opto/node.hpp @ 6179:8c92982cbbc4

7119644: Increase superword's vector size up to 256 bits Summary: Increase vector size up to 256-bits for YMM AVX registers on x86. Reviewed-by: never, twisti, roland
author kvn
date Fri, 15 Jun 2012 01:25:19 -0700
parents 35acf8f0a2e4
children 1d7922586cf6
comparison
equal deleted inserted replaced
6146:eba1d5bce9e8 6179:8c92982cbbc4
1 /* 1 /*
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
98 class Matcher; 98 class Matcher;
99 class MemBarNode; 99 class MemBarNode;
100 class MemBarStoreStoreNode; 100 class MemBarStoreStoreNode;
101 class MemNode; 101 class MemNode;
102 class MergeMemNode; 102 class MergeMemNode;
103 class MulNode;
103 class MultiNode; 104 class MultiNode;
104 class MultiBranchNode; 105 class MultiBranchNode;
105 class NeverBranchNode; 106 class NeverBranchNode;
106 class Node; 107 class Node;
107 class Node_Array; 108 class Node_Array;
131 class SubNode; 132 class SubNode;
132 class Type; 133 class Type;
133 class TypeNode; 134 class TypeNode;
134 class UnlockNode; 135 class UnlockNode;
135 class VectorNode; 136 class VectorNode;
136 class VectorLoadNode; 137 class LoadVectorNode;
137 class VectorStoreNode; 138 class StoreVectorNode;
138 class VectorSet; 139 class VectorSet;
139 typedef void (*NFunc)(Node&,void*); 140 typedef void (*NFunc)(Node&,void*);
140 extern "C" { 141 extern "C" {
141 typedef int (*C_sort_func_t)(const void *, const void *); 142 typedef int (*C_sort_func_t)(const void *, const void *);
142 } 143 }
607 DEFINE_CLASS_ID(Parm, Proj, 4) 608 DEFINE_CLASS_ID(Parm, Proj, 4)
608 DEFINE_CLASS_ID(MachProj, Proj, 5) 609 DEFINE_CLASS_ID(MachProj, Proj, 5)
609 610
610 DEFINE_CLASS_ID(Mem, Node, 4) 611 DEFINE_CLASS_ID(Mem, Node, 4)
611 DEFINE_CLASS_ID(Load, Mem, 0) 612 DEFINE_CLASS_ID(Load, Mem, 0)
612 DEFINE_CLASS_ID(VectorLoad, Load, 0) 613 DEFINE_CLASS_ID(LoadVector, Load, 0)
613 DEFINE_CLASS_ID(Store, Mem, 1) 614 DEFINE_CLASS_ID(Store, Mem, 1)
614 DEFINE_CLASS_ID(VectorStore, Store, 0) 615 DEFINE_CLASS_ID(StoreVector, Store, 0)
615 DEFINE_CLASS_ID(LoadStore, Mem, 2) 616 DEFINE_CLASS_ID(LoadStore, Mem, 2)
616 617
617 DEFINE_CLASS_ID(Region, Node, 5) 618 DEFINE_CLASS_ID(Region, Node, 5)
618 DEFINE_CLASS_ID(Loop, Region, 0) 619 DEFINE_CLASS_ID(Loop, Region, 0)
619 DEFINE_CLASS_ID(Root, Loop, 0) 620 DEFINE_CLASS_ID(Root, Loop, 0)
627 DEFINE_CLASS_ID(MergeMem, Node, 7) 628 DEFINE_CLASS_ID(MergeMem, Node, 7)
628 DEFINE_CLASS_ID(Bool, Node, 8) 629 DEFINE_CLASS_ID(Bool, Node, 8)
629 DEFINE_CLASS_ID(AddP, Node, 9) 630 DEFINE_CLASS_ID(AddP, Node, 9)
630 DEFINE_CLASS_ID(BoxLock, Node, 10) 631 DEFINE_CLASS_ID(BoxLock, Node, 10)
631 DEFINE_CLASS_ID(Add, Node, 11) 632 DEFINE_CLASS_ID(Add, Node, 11)
632 DEFINE_CLASS_ID(Vector, Node, 12) 633 DEFINE_CLASS_ID(Mul, Node, 12)
633 DEFINE_CLASS_ID(ClearArray, Node, 13) 634 DEFINE_CLASS_ID(Vector, Node, 13)
635 DEFINE_CLASS_ID(ClearArray, Node, 14)
634 636
635 _max_classes = ClassMask_ClearArray 637 _max_classes = ClassMask_ClearArray
636 }; 638 };
637 #undef DEFINE_CLASS_ID 639 #undef DEFINE_CLASS_ID
638 640
750 DEFINE_CLASS_QUERY(MachTemp) 752 DEFINE_CLASS_QUERY(MachTemp)
751 DEFINE_CLASS_QUERY(Mem) 753 DEFINE_CLASS_QUERY(Mem)
752 DEFINE_CLASS_QUERY(MemBar) 754 DEFINE_CLASS_QUERY(MemBar)
753 DEFINE_CLASS_QUERY(MemBarStoreStore) 755 DEFINE_CLASS_QUERY(MemBarStoreStore)
754 DEFINE_CLASS_QUERY(MergeMem) 756 DEFINE_CLASS_QUERY(MergeMem)
757 DEFINE_CLASS_QUERY(Mul)
755 DEFINE_CLASS_QUERY(Multi) 758 DEFINE_CLASS_QUERY(Multi)
756 DEFINE_CLASS_QUERY(MultiBranch) 759 DEFINE_CLASS_QUERY(MultiBranch)
757 DEFINE_CLASS_QUERY(Parm) 760 DEFINE_CLASS_QUERY(Parm)
758 DEFINE_CLASS_QUERY(PCTable) 761 DEFINE_CLASS_QUERY(PCTable)
759 DEFINE_CLASS_QUERY(Phi) 762 DEFINE_CLASS_QUERY(Phi)
765 DEFINE_CLASS_QUERY(Start) 768 DEFINE_CLASS_QUERY(Start)
766 DEFINE_CLASS_QUERY(Store) 769 DEFINE_CLASS_QUERY(Store)
767 DEFINE_CLASS_QUERY(Sub) 770 DEFINE_CLASS_QUERY(Sub)
768 DEFINE_CLASS_QUERY(Type) 771 DEFINE_CLASS_QUERY(Type)
769 DEFINE_CLASS_QUERY(Vector) 772 DEFINE_CLASS_QUERY(Vector)
770 DEFINE_CLASS_QUERY(VectorLoad) 773 DEFINE_CLASS_QUERY(LoadVector)
771 DEFINE_CLASS_QUERY(VectorStore) 774 DEFINE_CLASS_QUERY(StoreVector)
772 DEFINE_CLASS_QUERY(Unlock) 775 DEFINE_CLASS_QUERY(Unlock)
773 776
774 #undef DEFINE_CLASS_QUERY 777 #undef DEFINE_CLASS_QUERY
775 778
776 // duplicate of is_MachSpillCopy() 779 // duplicate of is_MachSpillCopy()