< prev index next >

src/hotspot/share/adlc/formssel.cpp

Print this page




4176     "DivVF","DivVD",
4177     "MinV","MaxV",
4178     "AbsVF","AbsVD","AbsV",
4179     "NegVF","NegVD","NegVI",
4180     "SqrtVD","SqrtVF",
4181     "AndV" ,"XorV" ,"OrV", "NotV",
4182     "AddReductionVI", "AddReductionVL",
4183     "AddReductionVF", "AddReductionVD",
4184     "MulReductionVI", "MulReductionVL",
4185     "MulReductionVF", "MulReductionVD",
4186     "MinReductionV", "MaxReductionV",
4187     "AndReductionV", "OrReductionV",
4188     "XorReductionV", "SubReductionV",
4189     "LShiftCntV","RShiftCntV",
4190     "LShiftVB","LShiftVS","LShiftVI","LShiftVL",
4191     "RShiftVB","RShiftVS","RShiftVI","RShiftVL",
4192     "URShiftVB","URShiftVS","URShiftVI","URShiftVL",
4193     "ReplicateB","ReplicateS","ReplicateI","ReplicateL","ReplicateF","ReplicateD",
4194     "LoadVector","StoreVector",
4195     "VectorLoadMask", "VectorStoreMask", "VectorBlend", "VectorInsert",

4196     "VectorCastB2X", "VectorCastS2X", "VectorCastI2X",
4197     "VectorCastL2X", "VectorCastF2X", "VectorCastD2X",
4198     "VectorMaskWrapper", "VectorMaskCmp", "VectorReinterpret",
4199     "FmaVD", "FmaVF","PopCountVI",
4200     // Next are not supported currently.
4201     "PackB","PackS","PackI","PackL","PackF","PackD","Pack2L","Pack2D",
4202     "ExtractB","ExtractUB","ExtractC","ExtractS","ExtractI","ExtractL","ExtractF","ExtractD"
4203   };
4204   int cnt = sizeof(vector_list)/sizeof(char*);
4205   if (_rChild) {
4206     const char  *opType = _rChild->_opType;
4207     for (int i=0; i<cnt; i++)
4208       if (strcmp(opType,vector_list[i]) == 0)
4209         return true;
4210   }
4211   return false;
4212 }
4213 
4214 
4215 bool MatchRule::skip_antidep_check() const {




4176     "DivVF","DivVD",
4177     "MinV","MaxV",
4178     "AbsVF","AbsVD","AbsV",
4179     "NegVF","NegVD","NegVI",
4180     "SqrtVD","SqrtVF",
4181     "AndV" ,"XorV" ,"OrV", "NotV",
4182     "AddReductionVI", "AddReductionVL",
4183     "AddReductionVF", "AddReductionVD",
4184     "MulReductionVI", "MulReductionVL",
4185     "MulReductionVF", "MulReductionVD",
4186     "MinReductionV", "MaxReductionV",
4187     "AndReductionV", "OrReductionV",
4188     "XorReductionV", "SubReductionV",
4189     "LShiftCntV","RShiftCntV",
4190     "LShiftVB","LShiftVS","LShiftVI","LShiftVL",
4191     "RShiftVB","RShiftVS","RShiftVI","RShiftVL",
4192     "URShiftVB","URShiftVS","URShiftVI","URShiftVL",
4193     "ReplicateB","ReplicateS","ReplicateI","ReplicateL","ReplicateF","ReplicateD",
4194     "LoadVector","StoreVector",
4195     "VectorLoadMask", "VectorStoreMask", "VectorBlend", "VectorInsert",
4196     "VectorRearrange","VectorLoadShuffle",
4197     "VectorCastB2X", "VectorCastS2X", "VectorCastI2X",
4198     "VectorCastL2X", "VectorCastF2X", "VectorCastD2X",
4199     "VectorMaskWrapper", "VectorMaskCmp", "VectorReinterpret",
4200     "FmaVD", "FmaVF","PopCountVI",
4201     // Next are not supported currently.
4202     "PackB","PackS","PackI","PackL","PackF","PackD","Pack2L","Pack2D",
4203     "ExtractB","ExtractUB","ExtractC","ExtractS","ExtractI","ExtractL","ExtractF","ExtractD"
4204   };
4205   int cnt = sizeof(vector_list)/sizeof(char*);
4206   if (_rChild) {
4207     const char  *opType = _rChild->_opType;
4208     for (int i=0; i<cnt; i++)
4209       if (strcmp(opType,vector_list[i]) == 0)
4210         return true;
4211   }
4212   return false;
4213 }
4214 
4215 
4216 bool MatchRule::skip_antidep_check() const {


< prev index next >