From 070ac768ff4ddeb372ec5d91d570ddc545fceede Mon Sep 17 00:00:00 2001 From: Amara Emerson Date: Wed, 15 Aug 2018 17:46:22 +0000 Subject: [InstCombine] Fix IC trying to create a xor of pointer types. rdar://42473741 Differential Revision: https://reviews.llvm.org/D50775 llvm-svn: 339796 --- llvm/test/Transforms/InstCombine/xor-icmps.ll | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'llvm/test') diff --git a/llvm/test/Transforms/InstCombine/xor-icmps.ll b/llvm/test/Transforms/InstCombine/xor-icmps.ll index e19a061c7cc..7f0a8d8cd2a 100644 --- a/llvm/test/Transforms/InstCombine/xor-icmps.ll +++ b/llvm/test/Transforms/InstCombine/xor-icmps.ll @@ -158,3 +158,16 @@ define i1 @test14(i8 %A, i8 %B) { ret i1 %E } +define i1 @xor_icmp_ptr(i8* %c, i8* %d) { +; CHECK-LABEL: @xor_icmp_ptr( +; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8* [[C:%.*]], null +; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i8* [[D:%.*]], null +; CHECK-NEXT: [[XOR:%.*]] = xor i1 [[CMP]], [[CMP1]] +; CHECK-NEXT: ret i1 [[XOR]] +; + %cmp = icmp slt i8* %c, null + %cmp1 = icmp slt i8* %d, null + %xor = xor i1 %cmp, %cmp1 + ret i1 %xor +} + -- cgit v1.2.3