; Test 64-bit equality comparisons that are really between a memory halfword
; and a constant.
;
; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s

; Check the low end of the 16-bit unsigned range, with zero extension.
define double @f1(double %a, double %b, i16 *%ptr) {
; CHECK: f1:
; CHECK: clhhsi 0(%r2), 0
; CHECK-NEXT: j{{g?}}e
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = zext i16 %val to i64
  %cond = icmp eq i64 %ext, 0
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the high end of the 16-bit unsigned range, with zero extension.
define double @f2(double %a, double %b, i16 *%ptr) {
; CHECK: f2:
; CHECK: clhhsi 0(%r2), 65535
; CHECK-NEXT: j{{g?}}e
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = zext i16 %val to i64
  %cond = icmp eq i64 %ext, 65535
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the next value up, with zero extension.  The condition is always false.
define double @f3(double %a, double %b, i16 *%ptr) {
; CHECK: f3:
; CHECK-NOT: clhhsi
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = zext i16 %val to i64
  %cond = icmp eq i64 %ext, 65536
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check comparisons with -1, with zero extension.
; This condition is also always false.
define double @f4(double %a, double %b, i16 *%ptr) {
; CHECK: f4:
; CHECK-NOT: clhhsi
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = zext i16 %val to i64
  %cond = icmp eq i64 %ext, -1
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check comparisons with 0, using sign extension.
define double @f5(double %a, double %b, i16 *%ptr) {
; CHECK: f5:
; CHECK: clhhsi 0(%r2), 0
; CHECK-NEXT: j{{g?}}e
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = sext i16 %val to i64
  %cond = icmp eq i64 %ext, 0
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the high end of the signed 16-bit range, using sign extension.
define double @f6(double %a, double %b, i16 *%ptr) {
; CHECK: f6:
; CHECK: clhhsi 0(%r2), 32767
; CHECK-NEXT: j{{g?}}e
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = sext i16 %val to i64
  %cond = icmp eq i64 %ext, 32767
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the next value up, using sign extension.
; The condition is always false.
define double @f7(double %a, double %b, i16 *%ptr) {
; CHECK: f7:
; CHECK-NOT: clhhsi
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = sext i16 %val to i64
  %cond = icmp eq i64 %ext, 32768
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check comparisons with -1, using sign extension.
define double @f8(double %a, double %b, i16 *%ptr) {
; CHECK: f8:
; CHECK: clhhsi 0(%r2), 65535
; CHECK-NEXT: j{{g?}}e
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = sext i16 %val to i64
  %cond = icmp eq i64 %ext, -1
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the low end of the signed 16-bit range, using sign extension.
define double @f9(double %a, double %b, i16 *%ptr) {
; CHECK: f9:
; CHECK: clhhsi 0(%r2), 32768
; CHECK-NEXT: j{{g?}}e
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = sext i16 %val to i64
  %cond = icmp eq i64 %ext, -32768
  %res = select i1 %cond, double %a, double %b
  ret double %res
}

; Check the next value down, using sign extension.
; The condition is always false.
define double @f10(double %a, double %b, i16 *%ptr) {
; CHECK: f10:
; CHECK-NOT: clhhsi
; CHECK: br %r14
  %val = load i16 *%ptr
  %ext = sext i16 %val to i64
  %cond = icmp eq i64 %ext, -32769
  %res = select i1 %cond, double %a, double %b
  ret double %res
}
