[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);