< prev index next >

src/share/vm/adlc/formssel.cpp

Print this page




4124   return false;
4125 }
4126 
4127 
4128 Form::DataType MatchRule::is_ideal_load() const {
4129   Form::DataType ideal_load = Form::none;
4130 
4131   if ( _opType && (strcmp(_opType,"Set") == 0) && _rChild ) {
4132     const char *opType = _rChild->_opType;
4133     ideal_load = is_load_from_memory(opType);
4134   }
4135 
4136   return ideal_load;
4137 }
4138 
4139 bool MatchRule::is_vector() const {
4140   static const char *vector_list[] = {
4141     "AddVB","AddVS","AddVI","AddVL","AddVF","AddVD",
4142     "SubVB","SubVS","SubVI","SubVL","SubVF","SubVD",
4143     "MulVS","MulVI","MulVL","MulVF","MulVD",

4144     "DivVF","DivVD",
4145     "AbsVF","AbsVD",
4146     "NegVF","NegVD",
4147     "SqrtVD",
4148     "AndV" ,"XorV" ,"OrV",
4149     "AddReductionVI", "AddReductionVL",
4150     "AddReductionVF", "AddReductionVD",
4151     "MulReductionVI", "MulReductionVL",
4152     "MulReductionVF", "MulReductionVD",
4153     "LShiftCntV","RShiftCntV",
4154     "LShiftVB","LShiftVS","LShiftVI","LShiftVL",
4155     "RShiftVB","RShiftVS","RShiftVI","RShiftVL",
4156     "URShiftVB","URShiftVS","URShiftVI","URShiftVL",
4157     "ReplicateB","ReplicateS","ReplicateI","ReplicateL","ReplicateF","ReplicateD",
4158     "LoadVector","StoreVector",
4159     // Next are not supported currently.
4160     "PackB","PackS","PackI","PackL","PackF","PackD","Pack2L","Pack2D",
4161     "ExtractB","ExtractUB","ExtractC","ExtractS","ExtractI","ExtractL","ExtractF","ExtractD"
4162   };
4163   int cnt = sizeof(vector_list)/sizeof(char*);




4124   return false;
4125 }
4126 
4127 
4128 Form::DataType MatchRule::is_ideal_load() const {
4129   Form::DataType ideal_load = Form::none;
4130 
4131   if ( _opType && (strcmp(_opType,"Set") == 0) && _rChild ) {
4132     const char *opType = _rChild->_opType;
4133     ideal_load = is_load_from_memory(opType);
4134   }
4135 
4136   return ideal_load;
4137 }
4138 
4139 bool MatchRule::is_vector() const {
4140   static const char *vector_list[] = {
4141     "AddVB","AddVS","AddVI","AddVL","AddVF","AddVD",
4142     "SubVB","SubVS","SubVI","SubVL","SubVF","SubVD",
4143     "MulVS","MulVI","MulVL","MulVF","MulVD",
4144     "CMoveVD",
4145     "DivVF","DivVD",
4146     "AbsVF","AbsVD",
4147     "NegVF","NegVD",
4148     "SqrtVD",
4149     "AndV" ,"XorV" ,"OrV",
4150     "AddReductionVI", "AddReductionVL",
4151     "AddReductionVF", "AddReductionVD",
4152     "MulReductionVI", "MulReductionVL",
4153     "MulReductionVF", "MulReductionVD",
4154     "LShiftCntV","RShiftCntV",
4155     "LShiftVB","LShiftVS","LShiftVI","LShiftVL",
4156     "RShiftVB","RShiftVS","RShiftVI","RShiftVL",
4157     "URShiftVB","URShiftVS","URShiftVI","URShiftVL",
4158     "ReplicateB","ReplicateS","ReplicateI","ReplicateL","ReplicateF","ReplicateD",
4159     "LoadVector","StoreVector",
4160     // Next are not supported currently.
4161     "PackB","PackS","PackI","PackL","PackF","PackD","Pack2L","Pack2D",
4162     "ExtractB","ExtractUB","ExtractC","ExtractS","ExtractI","ExtractL","ExtractF","ExtractD"
4163   };
4164   int cnt = sizeof(vector_list)/sizeof(char*);


< prev index next >