; RUN: llc < %s -march=avr | FileCheck %s
; RUN: llc < %s -mtriple=avr -mcpu=attiny10 | FileCheck --check-prefix=TINY %s

declare void @f1(i8)
declare void @f2(i8)
define void @cmp8(i8 %a, i8 %b) {
; CHECK-LABEL: cmp8:
; CHECK: cp
; CHECK-NOT: cpc
  %cmp = icmp eq i8 %a, %b
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f1(i8 %a)
  br label %if.end
if.else:
  tail call void @f2(i8 %b)
  br label %if.end
if.end:
  ret void
}

declare void @f3(i16)
declare void @f4(i16)
define void @cmp16(i16 %a, i16 %b) {
; CHECK-LABEL: cmp16:
; CHECK: cp
; CHECK-NEXT: cpc
  %cmp = icmp eq i16 %a, %b
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f3(i16 %a)
  br label %if.end
if.else:
  tail call void @f4(i16 %b)
  br label %if.end
if.end:
  ret void
}

define void @cmpimm16(i16 %a) {
; CHECK-LABEL: cmpimm16:
; CHECK: cpi
; CHECK-NEXT: cpc
  %cmp = icmp eq i16 %a, 4567
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f3(i16 %a)
  br label %if.end
if.else:
  tail call void @f4(i16 %a)
  br label %if.end
if.end:
  ret void
}

declare void @f5(i32)
declare void @f6(i32)
define void @cmp32(i32 %a, i32 %b) {
; CHECK-LABEL: cmp32:
; CHECK: cp
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
  %cmp = icmp eq i32 %a, %b
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f5(i32 %a)
  br label %if.end
if.else:
  tail call void @f6(i32 %b)
  br label %if.end
if.end:
  ret void
}

define void @cmpimm32(i32 %a) {
; CHECK-LABEL: cmpimm32:
; CHECK: cpi
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
  %cmp = icmp eq i32 %a, 6789343
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f5(i32 %a)
  br label %if.end
if.else:
  tail call void @f6(i32 %a)
  br label %if.end
if.end:
  ret void
}

declare void @f7(i64)
declare void @f8(i64)
define void @cmp64(i64 %a, i64 %b) {
; CHECK-LABEL: cmp64:
; CHECK: cp
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
  %cmp = icmp eq i64 %a, %b
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f7(i64 %a)
  br label %if.end
if.else:
  tail call void @f8(i64 %b)
  br label %if.end
if.end:
  ret void
}

define void @cmpimm64(i64 %a) {
; CHECK-LABEL: cmpimm64:
; CHECK: cpi
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
; CHECK-NEXT: cpc
  %cmp = icmp eq i64 %a, 234566452
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f7(i64 %a)
  br label %if.end
if.else:
  tail call void @f8(i64 %a)
  br label %if.end
if.end:
  ret void
}

declare void @f9()
declare void @f10()

define void @tst8(i8 %a) {
; CHECK-LABEL: tst8:
; CHECK: tst r24
; CHECK-NEXT: brmi
  %cmp = icmp sgt i8 %a, -1
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f9()
  br label %if.end
if.else:
  tail call void @f10()
  br label %if.end
if.end:
  ret void
}

define void @tst16(i16 %a) {
; CHECK-LABEL: tst16:
; CHECK: tst r25
; CHECK-NEXT: brmi
  %cmp = icmp sgt i16 %a, -1
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f9()
  br label %if.end
if.else:
  tail call void @f10()
  br label %if.end
if.end:
  ret void
}

define void @tst32(i32 %a) {
; CHECK-LABEL: tst32:
; CHECK: tst r25
; CHECK-NEXT: brmi
  %cmp = icmp sgt i32 %a, -1
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f9()
  br label %if.end
if.else:
  tail call void @f10()
  br label %if.end
if.end:
  ret void
}

define void @tst64(i64 %a) {
; CHECK-LABEL: tst64:
; CHECK: tst r25
; CHECK-NEXT: brmi
  %cmp = icmp sgt i64 %a, -1
  br i1 %cmp, label %if.then, label %if.else
if.then:
  tail call void @f9()
  br label %if.end
if.else:
  tail call void @f10()
  br label %if.end
if.end:
  ret void
}

define i16 @cmp_i16_gt_0(i16 %0) {
; CHECK-LABEL: cmp_i16_gt_0:
; CHECK:       ; %bb.0:
; CHECK-NEXT:    ldi r18, 1
; CHECK-NEXT:    cp r1, r24
; CHECK-NEXT:    cpc r1, r25
; CHECK-NEXT:    brlt .LBB11_2
; CHECK-NEXT:  ; %bb.1:
; CHECK-NEXT:    mov r18, r1
; CHECK-NEXT:  .LBB11_2:
; CHECK-NEXT:    mov r24, r18
; CHECK-NEXT:    clr r25
; CHECK-NEXT:    ret
;
; TINY-LABEL: cmp_i16_gt_0:
; TINY:       ; %bb.0:
; TINY-NEXT:    ldi r20, 1
; TINY-NEXT:    cp r17, r24
; TINY-NEXT:    cpc r17, r25
; TINY-NEXT:    brlt .LBB11_2
; TINY-NEXT:  ; %bb.1:
; TINY-NEXT:    mov r20, r17
; TINY-NEXT:  .LBB11_2:
; TINY-NEXT:    mov r24, r20
; TINY-NEXT:    clr r25
; TINY-NEXT:    ret
  %2 = icmp sgt i16 %0, 0
  %3 = zext i1 %2 to i16
  ret i16 %3
}

define i16 @cmp_i16_gt_126(i16 %0) {
; CHECK-LABEL: cmp_i16_gt_126:
; CHECK:       ; %bb.0:
; CHECK-NEXT:    ldi r18, 1
; CHECK-NEXT:    cpi r24, 127
; CHECK-NEXT:    cpc r25, r1
; CHECK-NEXT:    brge .LBB12_2
; CHECK-NEXT:  ; %bb.1:
; CHECK-NEXT:    mov r18, r1
; CHECK-NEXT:  .LBB12_2:
; CHECK-NEXT:    mov r24, r18
; CHECK-NEXT:    clr r25
; CHECK-NEXT:    ret
;
; TINY-LABEL: cmp_i16_gt_126:
; TINY:       ; %bb.0:
; TINY-NEXT:    ldi r20, 1
; TINY-NEXT:    cpi r24, 127
; TINY-NEXT:    cpc r25, r17
; TINY-NEXT:    brge .LBB12_2
; TINY-NEXT:  ; %bb.1:
; TINY-NEXT:    mov r20, r17
; TINY-NEXT:  .LBB12_2:
; TINY-NEXT:    mov r24, r20
; TINY-NEXT:    clr r25
; TINY-NEXT:    ret
  %2 = icmp sgt i16 %0, 126
  %3 = zext i1 %2 to i16
  ret i16 %3
}

define i16 @cmp_i16_gt_1023(i16 %0) {
; CHECK-LABEL: cmp_i16_gt_1023:
; CHECK:       ; %bb.0:
; CHECK-NEXT:    ldi r19, 4
; CHECK-NEXT:    ldi r18, 1
; CHECK-NEXT:    cp r24, r1
; CHECK-NEXT:    cpc r25, r19
; CHECK-NEXT:    brge .LBB13_2
; CHECK-NEXT:  ; %bb.1:
; CHECK-NEXT:    mov r18, r1
; CHECK-NEXT:  .LBB13_2:
; CHECK-NEXT:    mov r24, r18
; CHECK-NEXT:    clr r25
; CHECK-NEXT:    ret
;
; TINY-LABEL: cmp_i16_gt_1023:
; TINY:       ; %bb.0:
; TINY-NEXT:    ldi r21, 4
; TINY-NEXT:    ldi r20, 1
; TINY-NEXT:    cp r24, r17
; TINY-NEXT:    cpc r25, r21
; TINY-NEXT:    brge .LBB13_2
; TINY-NEXT:  ; %bb.1:
; TINY-NEXT:    mov r20, r17
; TINY-NEXT:  .LBB13_2:
; TINY-NEXT:    mov r24, r20
; TINY-NEXT:    clr r25
; TINY-NEXT:    ret
  %2 = icmp sgt i16 %0, 1023
  %3 = zext i1 %2 to i16
  ret i16 %3
}
