[SubZero] Implement Fcmp, ICmp, Cast and Select for vector type The patch scalarizes Fcmp, ICmp, Cast and Select for operands of vector type. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2412053002 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h index 82ee5c7..b8bfff0 100644 --- a/src/IceTargetLowering.h +++ b/src/IceTargetLowering.h
@@ -511,8 +511,11 @@ Variable *T = Func->makeVariable(DestTy); if (auto *VarVecOn32 = llvm::dyn_cast<VariableVecOn32>(T)) { VarVecOn32->initVecElement(Func); + auto *Undef = ConstantUndef::create(Ctx, DestTy); + Context.insert<InstAssign>(T, Undef); + } else { + Context.insert<InstFakeDef>(T); } - Context.insert<InstFakeDef>(T); for (SizeT I = 0; I < NumElements; ++I) { auto *Index = Ctx->getConstantInt32(I);