[InstCombine] Don't assume m_Mul gives back an Instruction
[oota-llvm.git] / test / Transforms / InstCombine / icmp.ll
index 5d97411625ebf6a8d587ac5e58d9780ef53fa01a..e351c81b15a5b01e151b67e6164707dda65c62f6 100644 (file)
@@ -1623,3 +1623,12 @@ define i1 @f9(i32 %val, i32 %lim) {
   %r = icmp ult i32 %val.and, %lim
   ret i1 %r
 }
+
+; CHECK: @f10(
+; CHECK: [[CMP:%.*]] = icmp uge i16 %p, mul (i16 zext (i8 ptrtoint (i1 (i16)* @f10 to i8) to i16), i16 zext (i8 ptrtoint (i1 (i16)* @f10 to i8) to i16))
+; CHECK-NEXT: ret i1 [[CMP]]
+define i1 @f10(i16 %p) {
+entry:
+  %cmp580 = icmp ule i16 mul (i16 zext (i8 ptrtoint (i1 (i16)* @f10 to i8) to i16), i16 zext (i8 ptrtoint (i1 (i16)* @f10 to i8) to i16)), %p
+  ret i1 %cmp580
+}