; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -instsimplify -S | FileCheck %s

define i1 @test1(i1 %a) {
; CHECK-LABEL: @test1(
; CHECK-NEXT:    ret i1 true
;
  %b = xor i1 %a, true
  %res = sub i1 %a, %b
  ret i1 %res
}

define <2 x i1> @test2(<2 x i1> %a) {
; CHECK-LABEL: @test2(
; CHECK-NEXT:    ret <2 x i1> <i1 true, i1 true>
;
  %b = xor <2 x i1> %a, <i1 true, i1 true>
  %res = sub <2 x i1> %a, %b
  ret <2 x i1> %res
}

define i1 @test5(i1 %a) {
; CHECK-LABEL: @test5(
; CHECK-NEXT:    ret i1 false
;
  %res = add i1 %a, %a
  ret i1 %res
}

define <2 x i1> @test6(<2 x i1> %a) {
; CHECK-LABEL: @test6(
; CHECK-NEXT:    ret <2 x i1> zeroinitializer
;
  %res = add <2 x i1> %a, %a
  ret <2 x i1> %res
}

define i1 @test7(i1 %a) {
; CHECK-LABEL: @test7(
; CHECK-NEXT:    ret i1 [[A:%.*]]
;
  %c = xor i1 %a, true
  %res = add i1 %c, true
  ret i1 %res
}

; TODO: simplify this to %a
define i1 @test8(i1 %a) {
; CHECK-LABEL: @test8(
; CHECK-NEXT:    [[C:%.*]] = add i1 [[A:%.*]], true
; CHECK-NEXT:    [[RES:%.*]] = xor i1 [[C]], true
; CHECK-NEXT:    ret i1 [[RES]]
;
  %c = add i1 %a, true
  %res = xor i1 %c, true
  ret i1 %res
}

define i1 @test9(i1 %a) {
; CHECK-LABEL: @test9(
; CHECK-NEXT:    ret i1 [[A:%.*]]
;
  %c = xor i1 %a, true
  %res = sub i1 %c, true
  ret i1 %res
}

; TODO: simplify this to %a
define i1 @test10(i1 %a) {
; CHECK-LABEL: @test10(
; CHECK-NEXT:    [[C:%.*]] = sub i1 [[A:%.*]], true
; CHECK-NEXT:    [[RES:%.*]] = xor i1 [[C]], true
; CHECK-NEXT:    ret i1 [[RES]]
;
  %c = sub i1 %a, true
  %res = xor i1 %c, true
  ret i1 %res
}
