This fixes a crash bug. It's also not clear if we'd want to do this
transform for vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255155
91177308-0d34-0410-b5e6-
96231b3b80d8
// integer domain.
void Float2Int::findRoots(Function &F, SmallPtrSet<Instruction*,8> &Roots) {
for (auto &I : instructions(F)) {
+ if (isa<VectorType>(I.getType()))
+ continue;
switch (I.getOpcode()) {
default: break;
case Instruction::FPToUI:
ret i32 %7
}
declare double @g(double)
+
+; CHECK-LABEL: @neg_vector
+; CHECK: %1 = uitofp <4 x i8> %a to <4 x float>
+; CHECK: %2 = fptoui <4 x float> %1 to <4 x i16>
+; CHECK: ret <4 x i16> %2
+define <4 x i16> @neg_vector(<4 x i8> %a) {
+ %1 = uitofp <4 x i8> %a to <4 x float>
+ %2 = fptoui <4 x float> %1 to <4 x i16>
+ ret <4 x i16> %2
+}