; Test 8-bit unsigned comparisons between memory and constants.
;
; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s

; Check ordered comparisons near the low end of the unsigned 8-bit range.
define double @f1(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f1:
; CHECK: cli 0(%r2), 1
; CHECK-NEXT: bhr %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp ugt i8 %val, 1
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check ordered comparisons near the high end of the unsigned 8-bit range.
define double @f2(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f2:
; CHECK: cli 0(%r2), 254
; CHECK-NEXT: blr %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 254
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check tests for negative bytes.
define double @f3(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f3:
; CHECK: cli 0(%r2), 127
; CHECK-NEXT: bhr %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp slt i8 %val, 0
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; ...and an alternative form.
define double @f4(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f4:
; CHECK: cli 0(%r2), 127
; CHECK-NEXT: bhr %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp sle i8 %val, -1
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check tests for non-negative bytes.
define double @f5(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f5:
; CHECK: cli 0(%r2), 128
; CHECK-NEXT: blr %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp sge i8 %val, 0
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; ...and an alternative form.
define double @f6(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f6:
; CHECK: cli 0(%r2), 128
; CHECK-NEXT: blr %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp sgt i8 %val, -1
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check equality comparisons at the low end of the signed 8-bit range.
define double @f7(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f7:
; CHECK: cli 0(%r2), 128
; CHECK-NEXT: ber %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp eq i8 %val, -128
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check equality comparisons at the low end of the unsigned 8-bit range.
define double @f8(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f8:
; CHECK: cli 0(%r2), 0
; CHECK-NEXT: ber %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp eq i8 %val, 0
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check equality comparisons at the high end of the signed 8-bit range.
define double @f9(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f9:
; CHECK: cli 0(%r2), 127
; CHECK-NEXT: ber %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp eq i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check equality comparisons at the high end of the unsigned 8-bit range.
define double @f10(double %a, double %b, ptr %ptr) {
; CHECK-LABEL: f10:
; CHECK: cli 0(%r2), 255
; CHECK-NEXT: ber %r14
; CHECK: br %r14
  %val = load i8, ptr %ptr
  %cond = icmp eq i8 %val, 255
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the high end of the CLI range.
define double @f11(double %a, double %b, ptr %src) {
; CHECK-LABEL: f11:
; CHECK: cli 4095(%r2), 127
; CHECK: br %r14
  %ptr = getelementptr i8, ptr %src, i64 4095
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the next byte up, which should use CLIY instead of CLI.
define double @f12(double %a, double %b, ptr %src) {
; CHECK-LABEL: f12:
; CHECK: cliy 4096(%r2), 127
; CHECK: br %r14
  %ptr = getelementptr i8, ptr %src, i64 4096
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the high end of the CLIY range.
define double @f13(double %a, double %b, ptr %src) {
; CHECK-LABEL: f13:
; CHECK: cliy 524287(%r2), 127
; CHECK: br %r14
  %ptr = getelementptr i8, ptr %src, i64 524287
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the next byte up, which needs separate address logic.
; Other sequences besides this one would be OK.
define double @f14(double %a, double %b, ptr %src) {
; CHECK-LABEL: f14:
; CHECK: agfi %r2, 524288
; CHECK: cli 0(%r2), 127
; CHECK: br %r14
  %ptr = getelementptr i8, ptr %src, i64 524288
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the high end of the negative CLIY range.
define double @f15(double %a, double %b, ptr %src) {
; CHECK-LABEL: f15:
; CHECK: cliy -1(%r2), 127
; CHECK: br %r14
  %ptr = getelementptr i8, ptr %src, i64 -1
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the low end of the CLIY range.
define double @f16(double %a, double %b, ptr %src) {
; CHECK-LABEL: f16:
; CHECK: cliy -524288(%r2), 127
; CHECK: br %r14
  %ptr = getelementptr i8, ptr %src, i64 -524288
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the next byte down, which needs separate address logic.
; Other sequences besides this one would be OK.
define double @f17(double %a, double %b, ptr %src) {
; CHECK-LABEL: f17:
; CHECK: agfi %r2, -524289
; CHECK: cli 0(%r2), 127
; CHECK: br %r14
  %ptr = getelementptr i8, ptr %src, i64 -524289
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check that CLI does not allow an index
define double @f18(double %a, double %b, i64 %base, i64 %index) {
; CHECK-LABEL: f18:
; CHECK: agr %r2, %r3
; CHECK: cli 4095(%r2), 127
; CHECK: br %r14
  %add1 = add i64 %base, %index
  %add2 = add i64 %add1, 4095
  %ptr = inttoptr i64 %add2 to ptr
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check that CLIY does not allow an index
define double @f19(double %a, double %b, i64 %base, i64 %index) {
; CHECK-LABEL: f19:
; CHECK: agr %r2, %r3
; CHECK: cliy 4096(%r2), 127
; CHECK: br %r14
  %add1 = add i64 %base, %index
  %add2 = add i64 %add1, 4096
  %ptr = inttoptr i64 %add2 to ptr
  %val = load i8, ptr %ptr
  %cond = icmp ult i8 %val, 127
  %res = select i1 %cond, double %a, double %b
  ret double %res
}
