{
switch (isa)
{
- case InstructionSet_SSE:
case InstructionSet_SSE2:
case InstructionSet_SSE3:
case InstructionSet_SSSE3:
case InstructionSet_PCLMULQDQ:
return false;
+ case InstructionSet_SSE:
case InstructionSet_LZCNT:
case InstructionSet_POPCNT:
return true;
{
if (!varTypeIsSIMD(retType))
{
- baseType = getBaseTypeOfSIMDType(info.compCompHnd->getArgClass(sig, sig->args));
+ if (retType != TYP_VOID)
+ {
+ baseType = getBaseTypeOfSIMDType(info.compCompHnd->getArgClass(sig, sig->args));
+ }
+ else
+ {
+ assert(category == HW_Category_MemoryStore);
+ baseType =
+ getBaseTypeOfSIMDType(info.compCompHnd->getArgClass(sig, info.compCompHnd->getArgNext(sig->args)));
+ }
+
assert(baseType != TYP_UNKNOWN);
}