diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/test/Transforms/InstCombine/icmp-sub.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/icmp-sub.ll b/llvm/test/Transforms/InstCombine/icmp-sub.ll index 3e7cb4edc1d..0486263ff53 100644 --- a/llvm/test/Transforms/InstCombine/icmp-sub.ll +++ b/llvm/test/Transforms/InstCombine/icmp-sub.ll @@ -124,3 +124,22 @@ define i1 @test_sub_127_Y_eq_127(i8 %y) { %z = icmp eq i8 %s, 127 ret i1 %z } + +define i1 @test_sub_255_Y_eq_255(i8 %y) { +; CHECK-LABEL: @test_sub_255_Y_eq_255( +; CHECK-NEXT: [[Z:%.*]] = icmp eq i8 [[Y:%.*]], 0 +; CHECK-NEXT: ret i1 [[Z]] +; + %s = sub i8 255, %y + %z = icmp eq i8 %s, 255 + ret i1 %z +} +define <2 x i1> @test_sub_255_Y_eq_255_vec(<2 x i8> %y) { +; CHECK-LABEL: @test_sub_255_Y_eq_255_vec( +; CHECK-NEXT: [[Z:%.*]] = icmp eq <2 x i8> [[Y:%.*]], zeroinitializer +; CHECK-NEXT: ret <2 x i1> [[Z]] +; + %s = sub <2 x i8> <i8 255, i8 255>, %y + %z = icmp eq <2 x i8> %s, <i8 255, i8 255> + ret <2 x i1> %z +} |