[libclc] Optimize ceil/fabs/floor/rint/trunc (#119596)
[llvm-project.git] / llvm / test / Transforms / InstCombine / 2007-03-21-SignedRangeTest.ll
blob397cb2af55c2c8c06bb11637a855cf9ddc99f5d0
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt < %s -passes=instcombine -S | FileCheck %s
4 ; For PR1248
6 define i1 @test(i32 %tmp6) {
7 ; CHECK-LABEL: @test(
8 ; CHECK-NEXT:    [[TMP1:%.*]] = add i32 [[TMP6:%.*]], 71
9 ; CHECK-NEXT:    [[TMP2:%.*]] = icmp ult i32 [[TMP1]], -12
10 ; CHECK-NEXT:    ret i1 [[TMP2]]
12   %tmp7 = sdiv i32 %tmp6, 12
13   icmp ne i32 %tmp7, -6
14   ret i1 %1
17 define <2 x i1> @test_vec(<2 x i32> %tmp6) {
18 ; CHECK-LABEL: @test_vec(
19 ; CHECK-NEXT:    [[TMP1:%.*]] = add <2 x i32> [[TMP6:%.*]], splat (i32 71)
20 ; CHECK-NEXT:    [[TMP2:%.*]] = icmp ult <2 x i32> [[TMP1]], splat (i32 -12)
21 ; CHECK-NEXT:    ret <2 x i1> [[TMP2]]
23   %tmp7 = sdiv <2 x i32> %tmp6, <i32 12, i32 12>
24   icmp ne <2 x i32> %tmp7, <i32 -6, i32 -6>
25   ret <2 x i1> %1