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

define i1 @lshrugt_01_00(i4 %x) {
; CHECK-LABEL: @lshrugt_01_00(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 0
  ret i1 %c
}

define i1 @lshrugt_01_01(i4 %x) {
; CHECK-LABEL: @lshrugt_01_01(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 3
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 1
  ret i1 %c
}

define i1 @lshrugt_01_02(i4 %x) {
; CHECK-LABEL: @lshrugt_01_02(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 5
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 2
  ret i1 %c
}

define i1 @lshrugt_01_03(i4 %x) {
; CHECK-LABEL: @lshrugt_01_03(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 3
  ret i1 %c
}

define i1 @lshrugt_01_04(i4 %x) {
; CHECK-LABEL: @lshrugt_01_04(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], -7
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 4
  ret i1 %c
}

define i1 @lshrugt_01_05(i4 %x) {
; CHECK-LABEL: @lshrugt_01_05(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], -5
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 5
  ret i1 %c
}

define i1 @lshrugt_01_06(i4 %x) {
; CHECK-LABEL: @lshrugt_01_06(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], -3
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 6
  ret i1 %c
}

define i1 @lshrugt_01_07(i4 %x) {
; CHECK-LABEL: @lshrugt_01_07(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 7
  ret i1 %c
}

define i1 @lshrugt_01_08(i4 %x) {
; CHECK-LABEL: @lshrugt_01_08(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 8
  ret i1 %c
}

define i1 @lshrugt_01_09(i4 %x) {
; CHECK-LABEL: @lshrugt_01_09(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 9
  ret i1 %c
}

define i1 @lshrugt_01_10(i4 %x) {
; CHECK-LABEL: @lshrugt_01_10(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 10
  ret i1 %c
}

define i1 @lshrugt_01_11(i4 %x) {
; CHECK-LABEL: @lshrugt_01_11(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 11
  ret i1 %c
}

define i1 @lshrugt_01_12(i4 %x) {
; CHECK-LABEL: @lshrugt_01_12(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 12
  ret i1 %c
}

define i1 @lshrugt_01_13(i4 %x) {
; CHECK-LABEL: @lshrugt_01_13(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 13
  ret i1 %c
}

define i1 @lshrugt_01_14(i4 %x) {
; CHECK-LABEL: @lshrugt_01_14(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 14
  ret i1 %c
}

define i1 @lshrugt_01_15(i4 %x) {
; CHECK-LABEL: @lshrugt_01_15(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ugt i4 %s, 15
  ret i1 %c
}

define i1 @lshrugt_02_00(i4 %x) {
; CHECK-LABEL: @lshrugt_02_00(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 3
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 0
  ret i1 %c
}

define i1 @lshrugt_02_01(i4 %x) {
; CHECK-LABEL: @lshrugt_02_01(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 1
  ret i1 %c
}

define i1 @lshrugt_02_02(i4 %x) {
; CHECK-LABEL: @lshrugt_02_02(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], -5
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 2
  ret i1 %c
}

define i1 @lshrugt_02_03(i4 %x) {
; CHECK-LABEL: @lshrugt_02_03(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 3
  ret i1 %c
}

define i1 @lshrugt_02_04(i4 %x) {
; CHECK-LABEL: @lshrugt_02_04(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 4
  ret i1 %c
}

define i1 @lshrugt_02_05(i4 %x) {
; CHECK-LABEL: @lshrugt_02_05(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 5
  ret i1 %c
}

define i1 @lshrugt_02_06(i4 %x) {
; CHECK-LABEL: @lshrugt_02_06(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 6
  ret i1 %c
}

define i1 @lshrugt_02_07(i4 %x) {
; CHECK-LABEL: @lshrugt_02_07(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 7
  ret i1 %c
}

define i1 @lshrugt_02_08(i4 %x) {
; CHECK-LABEL: @lshrugt_02_08(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 8
  ret i1 %c
}

define i1 @lshrugt_02_09(i4 %x) {
; CHECK-LABEL: @lshrugt_02_09(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 9
  ret i1 %c
}

define i1 @lshrugt_02_10(i4 %x) {
; CHECK-LABEL: @lshrugt_02_10(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 10
  ret i1 %c
}

define i1 @lshrugt_02_11(i4 %x) {
; CHECK-LABEL: @lshrugt_02_11(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 11
  ret i1 %c
}

define i1 @lshrugt_02_12(i4 %x) {
; CHECK-LABEL: @lshrugt_02_12(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 12
  ret i1 %c
}

define i1 @lshrugt_02_13(i4 %x) {
; CHECK-LABEL: @lshrugt_02_13(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 13
  ret i1 %c
}

define i1 @lshrugt_02_14(i4 %x) {
; CHECK-LABEL: @lshrugt_02_14(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 14
  ret i1 %c
}

define i1 @lshrugt_02_15(i4 %x) {
; CHECK-LABEL: @lshrugt_02_15(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ugt i4 %s, 15
  ret i1 %c
}

define i1 @lshrugt_03_00(i4 %x) {
; CHECK-LABEL: @lshrugt_03_00(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 0
  ret i1 %c
}

define i1 @lshrugt_03_01(i4 %x) {
; CHECK-LABEL: @lshrugt_03_01(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 1
  ret i1 %c
}

define i1 @lshrugt_03_02(i4 %x) {
; CHECK-LABEL: @lshrugt_03_02(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 2
  ret i1 %c
}

define i1 @lshrugt_03_03(i4 %x) {
; CHECK-LABEL: @lshrugt_03_03(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 3
  ret i1 %c
}

define i1 @lshrugt_03_04(i4 %x) {
; CHECK-LABEL: @lshrugt_03_04(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 4
  ret i1 %c
}

define i1 @lshrugt_03_05(i4 %x) {
; CHECK-LABEL: @lshrugt_03_05(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 5
  ret i1 %c
}

define i1 @lshrugt_03_06(i4 %x) {
; CHECK-LABEL: @lshrugt_03_06(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 6
  ret i1 %c
}

define i1 @lshrugt_03_07(i4 %x) {
; CHECK-LABEL: @lshrugt_03_07(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 7
  ret i1 %c
}

define i1 @lshrugt_03_08(i4 %x) {
; CHECK-LABEL: @lshrugt_03_08(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 8
  ret i1 %c
}

define i1 @lshrugt_03_09(i4 %x) {
; CHECK-LABEL: @lshrugt_03_09(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 9
  ret i1 %c
}

define i1 @lshrugt_03_10(i4 %x) {
; CHECK-LABEL: @lshrugt_03_10(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 10
  ret i1 %c
}

define i1 @lshrugt_03_11(i4 %x) {
; CHECK-LABEL: @lshrugt_03_11(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 11
  ret i1 %c
}

define i1 @lshrugt_03_12(i4 %x) {
; CHECK-LABEL: @lshrugt_03_12(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 12
  ret i1 %c
}

define i1 @lshrugt_03_13(i4 %x) {
; CHECK-LABEL: @lshrugt_03_13(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 13
  ret i1 %c
}

define i1 @lshrugt_03_14(i4 %x) {
; CHECK-LABEL: @lshrugt_03_14(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 14
  ret i1 %c
}

define i1 @lshrugt_03_15(i4 %x) {
; CHECK-LABEL: @lshrugt_03_15(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ugt i4 %s, 15
  ret i1 %c
}

define i1 @lshrult_01_00(i4 %x) {
; CHECK-LABEL: @lshrult_01_00(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 0
  ret i1 %c
}

define i1 @lshrult_01_01(i4 %x) {
; CHECK-LABEL: @lshrult_01_01(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], 2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 1
  ret i1 %c
}

define i1 @lshrult_01_02(i4 %x) {
; CHECK-LABEL: @lshrult_01_02(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 2
  ret i1 %c
}

define i1 @lshrult_01_03(i4 %x) {
; CHECK-LABEL: @lshrult_01_03(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], 6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 3
  ret i1 %c
}

define i1 @lshrult_01_04(i4 %x) {
; CHECK-LABEL: @lshrult_01_04(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 4
  ret i1 %c
}

define i1 @lshrult_01_05(i4 %x) {
; CHECK-LABEL: @lshrult_01_05(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], -6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 5
  ret i1 %c
}

define i1 @lshrult_01_06(i4 %x) {
; CHECK-LABEL: @lshrult_01_06(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 6
  ret i1 %c
}

define i1 @lshrult_01_07(i4 %x) {
; CHECK-LABEL: @lshrult_01_07(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], -2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 7
  ret i1 %c
}

define i1 @lshrult_01_08(i4 %x) {
; CHECK-LABEL: @lshrult_01_08(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 8
  ret i1 %c
}

define i1 @lshrult_01_09(i4 %x) {
; CHECK-LABEL: @lshrult_01_09(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 9
  ret i1 %c
}

define i1 @lshrult_01_10(i4 %x) {
; CHECK-LABEL: @lshrult_01_10(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 10
  ret i1 %c
}

define i1 @lshrult_01_11(i4 %x) {
; CHECK-LABEL: @lshrult_01_11(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 11
  ret i1 %c
}

define i1 @lshrult_01_12(i4 %x) {
; CHECK-LABEL: @lshrult_01_12(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 12
  ret i1 %c
}

define i1 @lshrult_01_13(i4 %x) {
; CHECK-LABEL: @lshrult_01_13(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 13
  ret i1 %c
}

define i1 @lshrult_01_14(i4 %x) {
; CHECK-LABEL: @lshrult_01_14(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 14
  ret i1 %c
}

define i1 @lshrult_01_15(i4 %x) {
; CHECK-LABEL: @lshrult_01_15(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 1
  %c = icmp ult i4 %s, 15
  ret i1 %c
}

define i1 @lshrult_02_00(i4 %x) {
; CHECK-LABEL: @lshrult_02_00(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 0
  ret i1 %c
}

define i1 @lshrult_02_01(i4 %x) {
; CHECK-LABEL: @lshrult_02_01(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 1
  ret i1 %c
}

define i1 @lshrult_02_02(i4 %x) {
; CHECK-LABEL: @lshrult_02_02(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 2
  ret i1 %c
}

define i1 @lshrult_02_03(i4 %x) {
; CHECK-LABEL: @lshrult_02_03(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 3
  ret i1 %c
}

define i1 @lshrult_02_04(i4 %x) {
; CHECK-LABEL: @lshrult_02_04(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 4
  ret i1 %c
}

define i1 @lshrult_02_05(i4 %x) {
; CHECK-LABEL: @lshrult_02_05(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 5
  ret i1 %c
}

define i1 @lshrult_02_06(i4 %x) {
; CHECK-LABEL: @lshrult_02_06(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 6
  ret i1 %c
}

define i1 @lshrult_02_07(i4 %x) {
; CHECK-LABEL: @lshrult_02_07(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 7
  ret i1 %c
}

define i1 @lshrult_02_08(i4 %x) {
; CHECK-LABEL: @lshrult_02_08(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 8
  ret i1 %c
}

define i1 @lshrult_02_09(i4 %x) {
; CHECK-LABEL: @lshrult_02_09(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 9
  ret i1 %c
}

define i1 @lshrult_02_10(i4 %x) {
; CHECK-LABEL: @lshrult_02_10(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 10
  ret i1 %c
}

define i1 @lshrult_02_11(i4 %x) {
; CHECK-LABEL: @lshrult_02_11(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 11
  ret i1 %c
}

define i1 @lshrult_02_12(i4 %x) {
; CHECK-LABEL: @lshrult_02_12(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 12
  ret i1 %c
}

define i1 @lshrult_02_13(i4 %x) {
; CHECK-LABEL: @lshrult_02_13(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 13
  ret i1 %c
}

define i1 @lshrult_02_14(i4 %x) {
; CHECK-LABEL: @lshrult_02_14(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 14
  ret i1 %c
}

define i1 @lshrult_02_15(i4 %x) {
; CHECK-LABEL: @lshrult_02_15(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 2
  %c = icmp ult i4 %s, 15
  ret i1 %c
}

define i1 @lshrult_03_00(i4 %x) {
; CHECK-LABEL: @lshrult_03_00(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 0
  ret i1 %c
}

define i1 @lshrult_03_01(i4 %x) {
; CHECK-LABEL: @lshrult_03_01(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 1
  ret i1 %c
}

define i1 @lshrult_03_02(i4 %x) {
; CHECK-LABEL: @lshrult_03_02(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 2
  ret i1 %c
}

define i1 @lshrult_03_03(i4 %x) {
; CHECK-LABEL: @lshrult_03_03(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 3
  ret i1 %c
}

define i1 @lshrult_03_04(i4 %x) {
; CHECK-LABEL: @lshrult_03_04(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 4
  ret i1 %c
}

define i1 @lshrult_03_05(i4 %x) {
; CHECK-LABEL: @lshrult_03_05(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 5
  ret i1 %c
}

define i1 @lshrult_03_06(i4 %x) {
; CHECK-LABEL: @lshrult_03_06(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 6
  ret i1 %c
}

define i1 @lshrult_03_07(i4 %x) {
; CHECK-LABEL: @lshrult_03_07(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 7
  ret i1 %c
}

define i1 @lshrult_03_08(i4 %x) {
; CHECK-LABEL: @lshrult_03_08(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 8
  ret i1 %c
}

define i1 @lshrult_03_09(i4 %x) {
; CHECK-LABEL: @lshrult_03_09(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 9
  ret i1 %c
}

define i1 @lshrult_03_10(i4 %x) {
; CHECK-LABEL: @lshrult_03_10(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 10
  ret i1 %c
}

define i1 @lshrult_03_11(i4 %x) {
; CHECK-LABEL: @lshrult_03_11(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 11
  ret i1 %c
}

define i1 @lshrult_03_12(i4 %x) {
; CHECK-LABEL: @lshrult_03_12(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 12
  ret i1 %c
}

define i1 @lshrult_03_13(i4 %x) {
; CHECK-LABEL: @lshrult_03_13(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 13
  ret i1 %c
}

define i1 @lshrult_03_14(i4 %x) {
; CHECK-LABEL: @lshrult_03_14(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 14
  ret i1 %c
}

define i1 @lshrult_03_15(i4 %x) {
; CHECK-LABEL: @lshrult_03_15(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr i4 %x, 3
  %c = icmp ult i4 %s, 15
  ret i1 %c
}

define i1 @ashrsgt_01_00(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_00(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 0
  ret i1 %c
}

define i1 @ashrsgt_01_01(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_01(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 3
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 1
  ret i1 %c
}

define i1 @ashrsgt_01_02(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_02(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 5
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 2
  ret i1 %c
}

define i1 @ashrsgt_01_03(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_03(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 3
  ret i1 %c
}

define i1 @ashrsgt_01_04(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_04(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 4
  ret i1 %c
}

define i1 @ashrsgt_01_05(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_05(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 5
  ret i1 %c
}

define i1 @ashrsgt_01_06(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_06(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 6
  ret i1 %c
}

define i1 @ashrsgt_01_07(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_07(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 7
  ret i1 %c
}

define i1 @ashrsgt_01_08(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_08(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 8
  ret i1 %c
}

define i1 @ashrsgt_01_09(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_09(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 9
  ret i1 %c
}

define i1 @ashrsgt_01_10(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_10(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 10
  ret i1 %c
}

define i1 @ashrsgt_01_11(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_11(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 11
  ret i1 %c
}

define i1 @ashrsgt_01_12(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_12(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -7
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 12
  ret i1 %c
}

define i1 @ashrsgt_01_13(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_13(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -5
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 13
  ret i1 %c
}

define i1 @ashrsgt_01_14(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_14(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -3
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 14
  ret i1 %c
}

define i1 @ashrsgt_01_15(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_15(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp sgt i4 %s, 15
  ret i1 %c
}

define i1 @ashrsgt_02_00(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_00(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 3
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 0
  ret i1 %c
}

define i1 @ashrsgt_02_01(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_01(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 1
  ret i1 %c
}

define i1 @ashrsgt_02_02(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_02(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 2
  ret i1 %c
}

define i1 @ashrsgt_02_03(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_03(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 3
  ret i1 %c
}

define i1 @ashrsgt_02_04(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_04(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 4
  ret i1 %c
}

define i1 @ashrsgt_02_05(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_05(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 5
  ret i1 %c
}

define i1 @ashrsgt_02_06(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_06(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 6
  ret i1 %c
}

define i1 @ashrsgt_02_07(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_07(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 7
  ret i1 %c
}

define i1 @ashrsgt_02_08(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_08(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 8
  ret i1 %c
}

define i1 @ashrsgt_02_09(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_09(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 9
  ret i1 %c
}

define i1 @ashrsgt_02_10(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_10(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 10
  ret i1 %c
}

define i1 @ashrsgt_02_11(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_11(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 11
  ret i1 %c
}

define i1 @ashrsgt_02_12(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_12(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 12
  ret i1 %c
}

define i1 @ashrsgt_02_13(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_13(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 13
  ret i1 %c
}

define i1 @ashrsgt_02_14(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_14(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -5
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 14
  ret i1 %c
}

define i1 @ashrsgt_02_15(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_15(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 2
  %c = icmp sgt i4 %s, 15
  ret i1 %c
}

define i1 @ashrsgt_03_00(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_00(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 0
  ret i1 %c
}

define i1 @ashrsgt_03_01(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_01(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 1
  ret i1 %c
}

define i1 @ashrsgt_03_02(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_02(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 2
  ret i1 %c
}

define i1 @ashrsgt_03_03(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_03(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 3
  ret i1 %c
}

define i1 @ashrsgt_03_04(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_04(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 4
  ret i1 %c
}

define i1 @ashrsgt_03_05(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_05(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 5
  ret i1 %c
}

define i1 @ashrsgt_03_06(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_06(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 6
  ret i1 %c
}

define i1 @ashrsgt_03_07(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_07(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 7
  ret i1 %c
}

define i1 @ashrsgt_03_08(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_08(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 8
  ret i1 %c
}

define i1 @ashrsgt_03_09(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_09(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 9
  ret i1 %c
}

define i1 @ashrsgt_03_10(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_10(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 10
  ret i1 %c
}

define i1 @ashrsgt_03_11(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_11(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 11
  ret i1 %c
}

define i1 @ashrsgt_03_12(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_12(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 12
  ret i1 %c
}

define i1 @ashrsgt_03_13(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_13(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 13
  ret i1 %c
}

define i1 @ashrsgt_03_14(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_14(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 14
  ret i1 %c
}

define i1 @ashrsgt_03_15(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_15(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 3
  %c = icmp sgt i4 %s, 15
  ret i1 %c
}

define i1 @ashrslt_01_00(i4 %x) {
; CHECK-LABEL: @ashrslt_01_00(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 0
  ret i1 %c
}

define i1 @ashrslt_01_01(i4 %x) {
; CHECK-LABEL: @ashrslt_01_01(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 1
  ret i1 %c
}

define i1 @ashrslt_01_02(i4 %x) {
; CHECK-LABEL: @ashrslt_01_02(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 2
  ret i1 %c
}

define i1 @ashrslt_01_03(i4 %x) {
; CHECK-LABEL: @ashrslt_01_03(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 3
  ret i1 %c
}

define i1 @ashrslt_01_04(i4 %x) {
; CHECK-LABEL: @ashrslt_01_04(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 4
  ret i1 %c
}

define i1 @ashrslt_01_05(i4 %x) {
; CHECK-LABEL: @ashrslt_01_05(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 5
  ret i1 %c
}

define i1 @ashrslt_01_06(i4 %x) {
; CHECK-LABEL: @ashrslt_01_06(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 6
  ret i1 %c
}

define i1 @ashrslt_01_07(i4 %x) {
; CHECK-LABEL: @ashrslt_01_07(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 7
  ret i1 %c
}

define i1 @ashrslt_01_08(i4 %x) {
; CHECK-LABEL: @ashrslt_01_08(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 8
  ret i1 %c
}

define i1 @ashrslt_01_09(i4 %x) {
; CHECK-LABEL: @ashrslt_01_09(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 9
  ret i1 %c
}

define i1 @ashrslt_01_10(i4 %x) {
; CHECK-LABEL: @ashrslt_01_10(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 10
  ret i1 %c
}

define i1 @ashrslt_01_11(i4 %x) {
; CHECK-LABEL: @ashrslt_01_11(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 11
  ret i1 %c
}

define i1 @ashrslt_01_12(i4 %x) {
; CHECK-LABEL: @ashrslt_01_12(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 12
  ret i1 %c
}

define i1 @ashrslt_01_13(i4 %x) {
; CHECK-LABEL: @ashrslt_01_13(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 13
  ret i1 %c
}

define i1 @ashrslt_01_14(i4 %x) {
; CHECK-LABEL: @ashrslt_01_14(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 14
  ret i1 %c
}

define i1 @ashrslt_01_15(i4 %x) {
; CHECK-LABEL: @ashrslt_01_15(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 1
  %c = icmp slt i4 %s, 15
  ret i1 %c
}

define i1 @ashrslt_02_00(i4 %x) {
; CHECK-LABEL: @ashrslt_02_00(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 0
  ret i1 %c
}

define i1 @ashrslt_02_01(i4 %x) {
; CHECK-LABEL: @ashrslt_02_01(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 1
  ret i1 %c
}

define i1 @ashrslt_02_02(i4 %x) {
; CHECK-LABEL: @ashrslt_02_02(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 2
  ret i1 %c
}

define i1 @ashrslt_02_03(i4 %x) {
; CHECK-LABEL: @ashrslt_02_03(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 3
  ret i1 %c
}

define i1 @ashrslt_02_04(i4 %x) {
; CHECK-LABEL: @ashrslt_02_04(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 4
  ret i1 %c
}

define i1 @ashrslt_02_05(i4 %x) {
; CHECK-LABEL: @ashrslt_02_05(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 5
  ret i1 %c
}

define i1 @ashrslt_02_06(i4 %x) {
; CHECK-LABEL: @ashrslt_02_06(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 6
  ret i1 %c
}

define i1 @ashrslt_02_07(i4 %x) {
; CHECK-LABEL: @ashrslt_02_07(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 7
  ret i1 %c
}

define i1 @ashrslt_02_08(i4 %x) {
; CHECK-LABEL: @ashrslt_02_08(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 8
  ret i1 %c
}

define i1 @ashrslt_02_09(i4 %x) {
; CHECK-LABEL: @ashrslt_02_09(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 9
  ret i1 %c
}

define i1 @ashrslt_02_10(i4 %x) {
; CHECK-LABEL: @ashrslt_02_10(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 10
  ret i1 %c
}

define i1 @ashrslt_02_11(i4 %x) {
; CHECK-LABEL: @ashrslt_02_11(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 11
  ret i1 %c
}

define i1 @ashrslt_02_12(i4 %x) {
; CHECK-LABEL: @ashrslt_02_12(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 12
  ret i1 %c
}

define i1 @ashrslt_02_13(i4 %x) {
; CHECK-LABEL: @ashrslt_02_13(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 13
  ret i1 %c
}

define i1 @ashrslt_02_14(i4 %x) {
; CHECK-LABEL: @ashrslt_02_14(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 14
  ret i1 %c
}

define i1 @ashrslt_02_15(i4 %x) {
; CHECK-LABEL: @ashrslt_02_15(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 2
  %c = icmp slt i4 %s, 15
  ret i1 %c
}

define i1 @ashrslt_03_00(i4 %x) {
; CHECK-LABEL: @ashrslt_03_00(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 0
  ret i1 %c
}

define i1 @ashrslt_03_01(i4 %x) {
; CHECK-LABEL: @ashrslt_03_01(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 1
  ret i1 %c
}

define i1 @ashrslt_03_02(i4 %x) {
; CHECK-LABEL: @ashrslt_03_02(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 2
  ret i1 %c
}

define i1 @ashrslt_03_03(i4 %x) {
; CHECK-LABEL: @ashrslt_03_03(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 3
  ret i1 %c
}

define i1 @ashrslt_03_04(i4 %x) {
; CHECK-LABEL: @ashrslt_03_04(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 4
  ret i1 %c
}

define i1 @ashrslt_03_05(i4 %x) {
; CHECK-LABEL: @ashrslt_03_05(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 5
  ret i1 %c
}

define i1 @ashrslt_03_06(i4 %x) {
; CHECK-LABEL: @ashrslt_03_06(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 6
  ret i1 %c
}

define i1 @ashrslt_03_07(i4 %x) {
; CHECK-LABEL: @ashrslt_03_07(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 7
  ret i1 %c
}

define i1 @ashrslt_03_08(i4 %x) {
; CHECK-LABEL: @ashrslt_03_08(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 8
  ret i1 %c
}

define i1 @ashrslt_03_09(i4 %x) {
; CHECK-LABEL: @ashrslt_03_09(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 9
  ret i1 %c
}

define i1 @ashrslt_03_10(i4 %x) {
; CHECK-LABEL: @ashrslt_03_10(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 10
  ret i1 %c
}

define i1 @ashrslt_03_11(i4 %x) {
; CHECK-LABEL: @ashrslt_03_11(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 11
  ret i1 %c
}

define i1 @ashrslt_03_12(i4 %x) {
; CHECK-LABEL: @ashrslt_03_12(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 12
  ret i1 %c
}

define i1 @ashrslt_03_13(i4 %x) {
; CHECK-LABEL: @ashrslt_03_13(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 13
  ret i1 %c
}

define i1 @ashrslt_03_14(i4 %x) {
; CHECK-LABEL: @ashrslt_03_14(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 14
  ret i1 %c
}

define i1 @ashrslt_03_15(i4 %x) {
; CHECK-LABEL: @ashrslt_03_15(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr i4 %x, 3
  %c = icmp slt i4 %s, 15
  ret i1 %c
}

define i1 @lshrugt_01_00_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 0
  ret i1 %c
}

define i1 @lshrugt_01_01_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 1
  ret i1 %c
}

define i1 @lshrugt_01_02_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_02_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 2
  ret i1 %c
}

define i1 @lshrugt_01_03_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_03_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 3
  ret i1 %c
}

define i1 @lshrugt_01_04_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_04_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], -8
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 4
  ret i1 %c
}

define i1 @lshrugt_01_05_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_05_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], -6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 5
  ret i1 %c
}

define i1 @lshrugt_01_06_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_06_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp eq i4 [[X:%.*]], -2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 6
  ret i1 %c
}

define i1 @lshrugt_01_07_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_07_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 7
  ret i1 %c
}

define i1 @lshrugt_01_08_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_08_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 8
  ret i1 %c
}

define i1 @lshrugt_01_09_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_09_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 9
  ret i1 %c
}

define i1 @lshrugt_01_10_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_10_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 10
  ret i1 %c
}

define i1 @lshrugt_01_11_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_11_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 11
  ret i1 %c
}

define i1 @lshrugt_01_12_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_12_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 12
  ret i1 %c
}

define i1 @lshrugt_01_13_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_13_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 13
  ret i1 %c
}

define i1 @lshrugt_01_14_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_14_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 14
  ret i1 %c
}

define i1 @lshrugt_01_15_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_01_15_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ugt i4 %s, 15
  ret i1 %c
}

define i1 @lshrugt_02_00_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 0
  ret i1 %c
}

define i1 @lshrugt_02_01_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ugt i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 1
  ret i1 %c
}

define i1 @lshrugt_02_02_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_02_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp eq i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 2
  ret i1 %c
}

define i1 @lshrugt_02_03_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_03_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 3
  ret i1 %c
}

define i1 @lshrugt_02_04_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_04_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 4
  ret i1 %c
}

define i1 @lshrugt_02_05_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_05_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 5
  ret i1 %c
}

define i1 @lshrugt_02_06_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_06_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 6
  ret i1 %c
}

define i1 @lshrugt_02_07_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_07_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 7
  ret i1 %c
}

define i1 @lshrugt_02_08_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_08_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 8
  ret i1 %c
}

define i1 @lshrugt_02_09_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_09_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 9
  ret i1 %c
}

define i1 @lshrugt_02_10_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_10_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 10
  ret i1 %c
}

define i1 @lshrugt_02_11_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_11_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 11
  ret i1 %c
}

define i1 @lshrugt_02_12_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_12_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 12
  ret i1 %c
}

define i1 @lshrugt_02_13_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_13_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 13
  ret i1 %c
}

define i1 @lshrugt_02_14_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_14_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 14
  ret i1 %c
}

define i1 @lshrugt_02_15_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_02_15_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ugt i4 %s, 15
  ret i1 %c
}

define i1 @lshrugt_03_00_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 0
  ret i1 %c
}

define i1 @lshrugt_03_01_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_01_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 1
  ret i1 %c
}

define i1 @lshrugt_03_02_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_02_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 2
  ret i1 %c
}

define i1 @lshrugt_03_03_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_03_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 3
  ret i1 %c
}

define i1 @lshrugt_03_04_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_04_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 4
  ret i1 %c
}

define i1 @lshrugt_03_05_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_05_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 5
  ret i1 %c
}

define i1 @lshrugt_03_06_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_06_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 6
  ret i1 %c
}

define i1 @lshrugt_03_07_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_07_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 7
  ret i1 %c
}

define i1 @lshrugt_03_08_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_08_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 8
  ret i1 %c
}

define i1 @lshrugt_03_09_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_09_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 9
  ret i1 %c
}

define i1 @lshrugt_03_10_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_10_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 10
  ret i1 %c
}

define i1 @lshrugt_03_11_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_11_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 11
  ret i1 %c
}

define i1 @lshrugt_03_12_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_12_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 12
  ret i1 %c
}

define i1 @lshrugt_03_13_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_13_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 13
  ret i1 %c
}

define i1 @lshrugt_03_14_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_14_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 14
  ret i1 %c
}

define i1 @lshrugt_03_15_exact(i4 %x) {
; CHECK-LABEL: @lshrugt_03_15_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ugt i4 %s, 15
  ret i1 %c
}

define i1 @lshrult_01_00_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_00_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 0
  ret i1 %c
}

define i1 @lshrult_01_01_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp eq i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 1
  ret i1 %c
}

define i1 @lshrult_01_02_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_02_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 2
  ret i1 %c
}

define i1 @lshrult_01_03_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_03_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], 6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 3
  ret i1 %c
}

define i1 @lshrult_01_04_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_04_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 4
  ret i1 %c
}

define i1 @lshrult_01_05_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_05_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], -6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 5
  ret i1 %c
}

define i1 @lshrult_01_06_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_06_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ult i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 6
  ret i1 %c
}

define i1 @lshrult_01_07_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_07_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], -2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 7
  ret i1 %c
}

define i1 @lshrult_01_08_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_08_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 8
  ret i1 %c
}

define i1 @lshrult_01_09_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_09_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 9
  ret i1 %c
}

define i1 @lshrult_01_10_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_10_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 10
  ret i1 %c
}

define i1 @lshrult_01_11_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_11_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 11
  ret i1 %c
}

define i1 @lshrult_01_12_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_12_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 12
  ret i1 %c
}

define i1 @lshrult_01_13_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_13_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 13
  ret i1 %c
}

define i1 @lshrult_01_14_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_14_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 14
  ret i1 %c
}

define i1 @lshrult_01_15_exact(i4 %x) {
; CHECK-LABEL: @lshrult_01_15_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 1
  %c = icmp ult i4 %s, 15
  ret i1 %c
}

define i1 @lshrult_02_00_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_00_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 0
  ret i1 %c
}

define i1 @lshrult_02_01_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp eq i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 1
  ret i1 %c
}

define i1 @lshrult_02_02_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_02_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 2
  ret i1 %c
}

define i1 @lshrult_02_03_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_03_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 3
  ret i1 %c
}

define i1 @lshrult_02_04_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_04_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 4
  ret i1 %c
}

define i1 @lshrult_02_05_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_05_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 5
  ret i1 %c
}

define i1 @lshrult_02_06_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_06_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 6
  ret i1 %c
}

define i1 @lshrult_02_07_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_07_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 7
  ret i1 %c
}

define i1 @lshrult_02_08_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_08_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 8
  ret i1 %c
}

define i1 @lshrult_02_09_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_09_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 9
  ret i1 %c
}

define i1 @lshrult_02_10_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_10_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 10
  ret i1 %c
}

define i1 @lshrult_02_11_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_11_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 11
  ret i1 %c
}

define i1 @lshrult_02_12_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_12_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 12
  ret i1 %c
}

define i1 @lshrult_02_13_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_13_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 13
  ret i1 %c
}

define i1 @lshrult_02_14_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_14_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 14
  ret i1 %c
}

define i1 @lshrult_02_15_exact(i4 %x) {
; CHECK-LABEL: @lshrult_02_15_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 2
  %c = icmp ult i4 %s, 15
  ret i1 %c
}

define i1 @lshrult_03_00_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_00_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 0
  ret i1 %c
}

define i1 @lshrult_03_01_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], -8
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 1
  ret i1 %c
}

define i1 @lshrult_03_02_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_02_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 2
  ret i1 %c
}

define i1 @lshrult_03_03_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_03_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 3
  ret i1 %c
}

define i1 @lshrult_03_04_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_04_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 4
  ret i1 %c
}

define i1 @lshrult_03_05_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_05_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 5
  ret i1 %c
}

define i1 @lshrult_03_06_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_06_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 6
  ret i1 %c
}

define i1 @lshrult_03_07_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_07_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 7
  ret i1 %c
}

define i1 @lshrult_03_08_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_08_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 8
  ret i1 %c
}

define i1 @lshrult_03_09_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_09_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 9
  ret i1 %c
}

define i1 @lshrult_03_10_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_10_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 10
  ret i1 %c
}

define i1 @lshrult_03_11_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_11_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 11
  ret i1 %c
}

define i1 @lshrult_03_12_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_12_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 12
  ret i1 %c
}

define i1 @lshrult_03_13_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_13_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 13
  ret i1 %c
}

define i1 @lshrult_03_14_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_14_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 14
  ret i1 %c
}

define i1 @lshrult_03_15_exact(i4 %x) {
; CHECK-LABEL: @lshrult_03_15_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = lshr exact i4 %x, 3
  %c = icmp ult i4 %s, 15
  ret i1 %c
}

define i1 @ashrsgt_01_00_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 0
  ret i1 %c
}

define i1 @ashrsgt_01_01_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 1
  ret i1 %c
}

define i1 @ashrsgt_01_02_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_02_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 2
  ret i1 %c
}

define i1 @ashrsgt_01_03_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_03_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 3
  ret i1 %c
}

define i1 @ashrsgt_01_04_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_04_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 4
  ret i1 %c
}

define i1 @ashrsgt_01_05_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_05_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 5
  ret i1 %c
}

define i1 @ashrsgt_01_06_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_06_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 6
  ret i1 %c
}

define i1 @ashrsgt_01_07_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_07_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 7
  ret i1 %c
}

define i1 @ashrsgt_01_08_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_08_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 8
  ret i1 %c
}

define i1 @ashrsgt_01_09_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_09_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 9
  ret i1 %c
}

define i1 @ashrsgt_01_10_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_10_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 10
  ret i1 %c
}

define i1 @ashrsgt_01_11_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_11_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 11
  ret i1 %c
}

define i1 @ashrsgt_01_12_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_12_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], -8
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 12
  ret i1 %c
}

define i1 @ashrsgt_01_13_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_13_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 13
  ret i1 %c
}

define i1 @ashrsgt_01_14_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_14_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 14
  ret i1 %c
}

define i1 @ashrsgt_01_15_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_01_15_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp sgt i4 %s, 15
  ret i1 %c
}

define i1 @ashrsgt_02_00_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 0
  ret i1 %c
}

define i1 @ashrsgt_02_01_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_01_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 1
  ret i1 %c
}

define i1 @ashrsgt_02_02_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_02_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 2
  ret i1 %c
}

define i1 @ashrsgt_02_03_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_03_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 3
  ret i1 %c
}

define i1 @ashrsgt_02_04_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_04_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 4
  ret i1 %c
}

define i1 @ashrsgt_02_05_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_05_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 5
  ret i1 %c
}

define i1 @ashrsgt_02_06_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_06_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 6
  ret i1 %c
}

define i1 @ashrsgt_02_07_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_07_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 7
  ret i1 %c
}

define i1 @ashrsgt_02_08_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_08_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 8
  ret i1 %c
}

define i1 @ashrsgt_02_09_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_09_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 9
  ret i1 %c
}

define i1 @ashrsgt_02_10_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_10_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 10
  ret i1 %c
}

define i1 @ashrsgt_02_11_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_11_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 11
  ret i1 %c
}

define i1 @ashrsgt_02_12_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_12_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 12
  ret i1 %c
}

define i1 @ashrsgt_02_13_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_13_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 13
  ret i1 %c
}

define i1 @ashrsgt_02_14_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_14_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp ne i4 [[X:%.*]], -8
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 14
  ret i1 %c
}

define i1 @ashrsgt_02_15_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_02_15_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 2
  %c = icmp sgt i4 %s, 15
  ret i1 %c
}

define i1 @ashrsgt_03_00_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_00_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 0
  ret i1 %c
}

define i1 @ashrsgt_03_01_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_01_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 1
  ret i1 %c
}

define i1 @ashrsgt_03_02_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_02_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 2
  ret i1 %c
}

define i1 @ashrsgt_03_03_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_03_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 3
  ret i1 %c
}

define i1 @ashrsgt_03_04_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_04_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 4
  ret i1 %c
}

define i1 @ashrsgt_03_05_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_05_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 5
  ret i1 %c
}

define i1 @ashrsgt_03_06_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_06_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 6
  ret i1 %c
}

define i1 @ashrsgt_03_07_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_07_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 7
  ret i1 %c
}

define i1 @ashrsgt_03_08_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_08_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 8
  ret i1 %c
}

define i1 @ashrsgt_03_09_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_09_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 9
  ret i1 %c
}

define i1 @ashrsgt_03_10_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_10_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 10
  ret i1 %c
}

define i1 @ashrsgt_03_11_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_11_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 11
  ret i1 %c
}

define i1 @ashrsgt_03_12_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_12_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 12
  ret i1 %c
}

define i1 @ashrsgt_03_13_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_13_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 13
  ret i1 %c
}

define i1 @ashrsgt_03_14_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_14_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 14
  ret i1 %c
}

define i1 @ashrsgt_03_15_exact(i4 %x) {
; CHECK-LABEL: @ashrsgt_03_15_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp sgt i4 [[X:%.*]], -1
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 3
  %c = icmp sgt i4 %s, 15
  ret i1 %c
}

define i1 @ashrslt_01_00_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 0
  ret i1 %c
}

define i1 @ashrslt_01_01_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 1
  ret i1 %c
}

define i1 @ashrslt_01_02_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_02_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 2
  ret i1 %c
}

define i1 @ashrslt_01_03_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_03_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 3
  ret i1 %c
}

define i1 @ashrslt_01_04_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_04_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 4
  ret i1 %c
}

define i1 @ashrslt_01_05_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_05_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 5
  ret i1 %c
}

define i1 @ashrslt_01_06_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_06_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 6
  ret i1 %c
}

define i1 @ashrslt_01_07_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_07_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 7
  ret i1 %c
}

define i1 @ashrslt_01_08_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_08_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 8
  ret i1 %c
}

define i1 @ashrslt_01_09_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_09_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 9
  ret i1 %c
}

define i1 @ashrslt_01_10_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_10_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 10
  ret i1 %c
}

define i1 @ashrslt_01_11_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_11_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 11
  ret i1 %c
}

define i1 @ashrslt_01_12_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_12_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 12
  ret i1 %c
}

define i1 @ashrslt_01_13_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_13_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -6
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 13
  ret i1 %c
}

define i1 @ashrslt_01_14_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_14_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 14
  ret i1 %c
}

define i1 @ashrslt_01_15_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_01_15_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -2
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 1
  %c = icmp slt i4 %s, 15
  ret i1 %c
}

define i1 @ashrslt_02_00_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 0
  ret i1 %c
}

define i1 @ashrslt_02_01_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_01_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 1
  ret i1 %c
}

define i1 @ashrslt_02_02_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_02_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 2
  ret i1 %c
}

define i1 @ashrslt_02_03_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_03_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 3
  ret i1 %c
}

define i1 @ashrslt_02_04_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_04_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 4
  ret i1 %c
}

define i1 @ashrslt_02_05_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_05_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 5
  ret i1 %c
}

define i1 @ashrslt_02_06_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_06_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 6
  ret i1 %c
}

define i1 @ashrslt_02_07_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_07_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 7
  ret i1 %c
}

define i1 @ashrslt_02_08_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_08_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 8
  ret i1 %c
}

define i1 @ashrslt_02_09_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_09_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 9
  ret i1 %c
}

define i1 @ashrslt_02_10_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_10_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 10
  ret i1 %c
}

define i1 @ashrslt_02_11_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_11_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 11
  ret i1 %c
}

define i1 @ashrslt_02_12_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_12_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 12
  ret i1 %c
}

define i1 @ashrslt_02_13_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_13_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 13
  ret i1 %c
}

define i1 @ashrslt_02_14_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_14_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 14
  ret i1 %c
}

define i1 @ashrslt_02_15_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_02_15_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], -4
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 2
  %c = icmp slt i4 %s, 15
  ret i1 %c
}

define i1 @ashrslt_03_00_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_00_exact(
; CHECK-NEXT:    [[C:%.*]] = icmp slt i4 [[X:%.*]], 0
; CHECK-NEXT:    ret i1 [[C]]
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 0
  ret i1 %c
}

define i1 @ashrslt_03_01_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_01_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 1
  ret i1 %c
}

define i1 @ashrslt_03_02_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_02_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 2
  ret i1 %c
}

define i1 @ashrslt_03_03_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_03_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 3
  ret i1 %c
}

define i1 @ashrslt_03_04_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_04_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 4
  ret i1 %c
}

define i1 @ashrslt_03_05_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_05_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 5
  ret i1 %c
}

define i1 @ashrslt_03_06_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_06_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 6
  ret i1 %c
}

define i1 @ashrslt_03_07_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_07_exact(
; CHECK-NEXT:    ret i1 true
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 7
  ret i1 %c
}

define i1 @ashrslt_03_08_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_08_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 8
  ret i1 %c
}

define i1 @ashrslt_03_09_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_09_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 9
  ret i1 %c
}

define i1 @ashrslt_03_10_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_10_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 10
  ret i1 %c
}

define i1 @ashrslt_03_11_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_11_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 11
  ret i1 %c
}

define i1 @ashrslt_03_12_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_12_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 12
  ret i1 %c
}

define i1 @ashrslt_03_13_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_13_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 13
  ret i1 %c
}

define i1 @ashrslt_03_14_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_14_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 14
  ret i1 %c
}

define i1 @ashrslt_03_15_exact(i4 %x) {
; CHECK-LABEL: @ashrslt_03_15_exact(
; CHECK-NEXT:    ret i1 false
;
  %s = ashr exact i4 %x, 3
  %c = icmp slt i4 %s, 15
  ret i1 %c
}

