; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -verify-machineinstrs -csky-no-aliases -mattr=+e2 -mattr=+2e3 < %s -mtriple=csky | FileCheck %s
; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky | FileCheck %s --check-prefix=GENERIC

define i32 @addRR(i32 %x, i32 %y) {
; CHECK-LABEL: addRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: addRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i32 %y, %x
  ret i32 %add
}

define i32 @addRI(i32 %x) {
; CHECK-LABEL: addRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addi16 a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: addRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 a0, 10
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i32 %x, 10
  ret i32 %add
}

define i32 @addRI_256(i32 %x) {
; CHECK-LABEL: addRI_256:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addi16 a0, 256
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: addRI_256:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 a0, 256
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i32 %x, 256
  ret i32 %add
}

define i32 @addRI_4096(i32 %x) {
; CHECK-LABEL: addRI_4096:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addi32 a0, a0, 4096
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: addRI_4096:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a3, a1, 16
; GENERIC-NEXT:    or16 a3, a2
; GENERIC-NEXT:    movi16 a2, 16
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a3
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    addu16 a0, a0, a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i32 %x, 4096
  ret i32 %add
}

define i32 @addRI_X(i32 %x) {
; CHECK-LABEL: addRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi32 a1, 4097
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: addRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 16
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    addu16 a0, a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i32 %x, 4097
  ret i32 %add
}

define i64 @ADD_LONG(i64 %x, i64 %y) {
; CHECK-LABEL: ADD_LONG:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    clrc32
; CHECK-NEXT:    addc32 a0, a2, a0
; CHECK-NEXT:    addc32 a1, a3, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ADD_LONG:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    clrc16
; GENERIC-NEXT:    addc16 a0, a2
; GENERIC-NEXT:    addc16 a1, a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i64 %y, %x
  ret i64 %add
}

define i64 @ADD_LONG_I(i64 %x) {
; CHECK-LABEL: ADD_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    clrc32
; CHECK-NEXT:    movi16 a2, 1
; CHECK-NEXT:    addc16 a0, a2
; CHECK-NEXT:    movi16 a2, 0
; CHECK-NEXT:    addc16 a1, a2
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ADD_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    clrc16
; GENERIC-NEXT:    movi16 a2, 1
; GENERIC-NEXT:    addc16 a0, a2
; GENERIC-NEXT:    movi16 a2, 0
; GENERIC-NEXT:    addc16 a1, a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i64 %x, 1
  ret i64 %add
}

define i16 @ADD_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: ADD_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ADD_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i16 %y, %x
  ret i16 %add
}

define i16 @ADD_SHORT_I(i16 %x) {
; CHECK-LABEL: ADD_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addi16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ADD_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i16 %x, 1
  ret i16 %add
}

define i8 @ADD_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: ADD_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ADD_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i8 %y, %x
  ret i8 %add
}

define i8 @ADD_CHAR_I(i8 %x) {
; CHECK-LABEL: ADD_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    addi16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ADD_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %add = add nsw i8 %x, 1
  ret i8 %add
}


define i32 @subRR(i32 %x, i32 %y) {
; CHECK-LABEL: subRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subu16 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: subRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    subu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i32 %y, %x
  ret i32 %sub
}

define i32 @subRI(i32 %x) {
; CHECK-LABEL: subRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subi16 a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: subRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    subi16 a0, 10
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i32 %x, 10
  ret i32 %sub
}

define i32 @subRI_256(i32 %x) {
; CHECK-LABEL: subRI_256:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subi16 a0, 256
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: subRI_256:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    subi16 a0, 256
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i32 %x, 256
  ret i32 %sub
}

define i32 @subRI_4096(i32 %x) {
; CHECK-LABEL: subRI_4096:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subi32 a0, a0, 4096
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: subRI_4096:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 255
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 240
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    addu16 a0, a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i32 %x, 4096
  ret i32 %sub
}

define i32 @subRI_X(i32 %x) {
; CHECK-LABEL: subRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movih32 a1, 65535
; CHECK-NEXT:    ori32 a1, a1, 61439
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: subRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 255
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a3, a1, 16
; GENERIC-NEXT:    or16 a3, a2
; GENERIC-NEXT:    movi16 a2, 239
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a3
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    addu16 a0, a0, a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i32 %x, 4097
  ret i32 %sub
}

define i64 @SUB_LONG(i64 %x, i64 %y) {
; CHECK-LABEL: SUB_LONG:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    setc32
; CHECK-NEXT:    subc32 a0, a2, a0
; CHECK-NEXT:    mvcv16 a2
; CHECK-NEXT:    btsti16 a2, 0
; CHECK-NEXT:    mvcv16 a2
; CHECK-NEXT:    btsti16 a2, 0
; CHECK-NEXT:    subc32 a1, a3, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SUB_LONG:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    setc16
; GENERIC-NEXT:    subc16 a2, a0
; GENERIC-NEXT:    mvcv16 a0
; GENERIC-NEXT:    btsti16 a0, 0
; GENERIC-NEXT:    mvcv16 a0
; GENERIC-NEXT:    btsti16 a0, 0
; GENERIC-NEXT:    subc16 a3, a1
; GENERIC-NEXT:    mov16 a0, a2
; GENERIC-NEXT:    mov16 a1, a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i64 %y, %x
  ret i64 %sub
}

define i64 @SUB_LONG_I(i64 %x) {
; CHECK-LABEL: SUB_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    clrc32
; CHECK-NEXT:    movih32 a2, 65535
; CHECK-NEXT:    ori32 a2, a2, 65535
; CHECK-NEXT:    addc16 a0, a2
; CHECK-NEXT:    addc16 a1, a2
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SUB_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st16.w l0, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset l0, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    clrc16
; GENERIC-NEXT:    movi16 a2, 255
; GENERIC-NEXT:    lsli16 a3, a2, 24
; GENERIC-NEXT:    lsli16 l0, a2, 16
; GENERIC-NEXT:    or16 l0, a3
; GENERIC-NEXT:    lsli16 a3, a2, 8
; GENERIC-NEXT:    or16 a3, l0
; GENERIC-NEXT:    or16 a3, a2
; GENERIC-NEXT:    addc16 a0, a3
; GENERIC-NEXT:    addc16 a1, a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld16.w l0, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i64 %x, 1
  ret i64 %sub
}

define i16 @SUB_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: SUB_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subu16 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SUB_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    subu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i16 %y, %x
  ret i16 %sub
}

define i16 @SUB_SHORT_I(i16 %x) {
; CHECK-LABEL: SUB_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subi16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SUB_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    subi16 a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i16 %x, 1
  ret i16 %sub
}

define i8 @SUB_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: SUB_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subu16 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SUB_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    subu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i8 %y, %x
  ret i8 %sub
}

define i8 @SUB_CHAR_I(i8 %x) {
; CHECK-LABEL: SUB_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    subi16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SUB_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    subi16 a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sub = sub nsw i8 %x, 1
  ret i8 %sub
}

define i32 @mulRR(i32 %x, i32 %y) {
; CHECK-LABEL: mulRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    mult16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: mulRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    mult16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %mul = mul nsw i32 %y, %x
  ret i32 %mul
}

define i32 @mulRI(i32 %x) {
; CHECK-LABEL: mulRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi16 a1, 10
; CHECK-NEXT:    mult16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: mulRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 10
; GENERIC-NEXT:    mult16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %mul = mul nsw i32 %x, 10
  ret i32 %mul
}

define i32 @mulRI_X(i32 %x) {
; CHECK-LABEL: mulRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsli16 a1, a0, 12
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: mulRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a1, a0, 12
; GENERIC-NEXT:    addu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %mul = mul nsw i32 %x, 4097
  ret i32 %mul
}

define i16 @MUL_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: MUL_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    mult16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: MUL_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    mult16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %mul = mul nsw i16 %y, %x
  ret i16 %mul
}

define i16 @MUL_SHORT_I(i16 %x) {
; CHECK-LABEL: MUL_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    ixh32 a0, a0, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: MUL_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a1, a0, 1
; GENERIC-NEXT:    addu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %mul = mul nsw i16 %x, 3
  ret i16 %mul
}

define i8 @MUL_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: MUL_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    mult16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: MUL_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    mult16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %mul = mul nsw i8 %y, %x
  ret i8 %mul
}

define i8 @MUL_CHAR_I(i8 %x) {
; CHECK-LABEL: MUL_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    ixh32 a0, a0, a0
; CHECK-NEXT:    movi16 a1, 0
; CHECK-NEXT:    subu16 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: MUL_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a1, a0, 1
; GENERIC-NEXT:    addu16 a0, a1, a0
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    subu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %mul = mul nsw i8 %x, -3
  ret i8 %mul
}

define i32 @udivRR(i32 %x, i32 %y) {
; CHECK-LABEL: udivRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    divu32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: udivRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    mov16 a2, a0
; GENERIC-NEXT:    lrw32 a3, [.LCPI29_0]
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    mov16 a1, a2
; GENERIC-NEXT:    jsr16 a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI29_0:
; GENERIC-NEXT:    .long __udivsi3
entry:
  %udiv = udiv  i32 %y, %x
  ret i32 %udiv
}

define i32 @udivRI(i32 %x) {
; CHECK-LABEL: udivRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi16 a1, 10
; CHECK-NEXT:    divu32 a0, a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: udivRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    lrw32 a2, [.LCPI30_0]
; GENERIC-NEXT:    movi16 a1, 10
; GENERIC-NEXT:    jsr16 a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI30_0:
; GENERIC-NEXT:    .long __udivsi3
entry:
  %udiv = udiv  i32 %x, 10
  ret i32 %udiv
}

define i32 @udivRI_X(i32 %x) {
; CHECK-LABEL: udivRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi32 a1, 4097
; CHECK-NEXT:    divu32 a0, a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: udivRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 16
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    lrw32 a2, [.LCPI31_0]
; GENERIC-NEXT:    jsr16 a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI31_0:
; GENERIC-NEXT:    .long __udivsi3
entry:
  %udiv = udiv  i32 %x, 4097
  ret i32 %udiv
}

define i16 @UDIV_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: UDIV_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zexth16 a0, a0
; CHECK-NEXT:    zexth16 a1, a1
; CHECK-NEXT:    divu32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: UDIV_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 8
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    st16.w l0, (sp, 4) # 4-byte Folded Spill
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset l0, -4
; GENERIC-NEXT:    .cfi_offset lr, -8
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 12
; GENERIC-NEXT:    mov16 a2, a1
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a3, a1, 24
; GENERIC-NEXT:    lsli16 l0, a1, 16
; GENERIC-NEXT:    or16 l0, a3
; GENERIC-NEXT:    movi16 a3, 255
; GENERIC-NEXT:    lsli16 a1, a3, 8
; GENERIC-NEXT:    or16 a1, l0
; GENERIC-NEXT:    or16 a1, a3
; GENERIC-NEXT:    and16 a2, a1
; GENERIC-NEXT:    and16 a1, a0
; GENERIC-NEXT:    lrw32 a3, [.LCPI32_0]
; GENERIC-NEXT:    mov16 a0, a2
; GENERIC-NEXT:    jsr16 a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    ld16.w l0, (sp, 4) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 8
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI32_0:
; GENERIC-NEXT:    .long __udivsi3
entry:
  %udiv = udiv  i16 %y, %x
  ret i16 %udiv
}

define i16 @UDIV_SHORT_I(i16 %x) {
; CHECK-LABEL: UDIV_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zexth16 a0, a0
; CHECK-NEXT:    movi32 a1, 43691
; CHECK-NEXT:    mult16 a0, a1
; CHECK-NEXT:    lsri16 a0, a0, 17
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: UDIV_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 255
; GENERIC-NEXT:    lsli16 a3, a2, 8
; GENERIC-NEXT:    or16 a3, a1
; GENERIC-NEXT:    or16 a3, a2
; GENERIC-NEXT:    and16 a3, a0
; GENERIC-NEXT:    movi16 a0, 170
; GENERIC-NEXT:    lsli16 a0, a0, 8
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    movi16 a1, 171
; GENERIC-NEXT:    or16 a1, a0
; GENERIC-NEXT:    mult16 a1, a3
; GENERIC-NEXT:    lsri16 a0, a1, 17
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %udiv = udiv  i16 %x, 3
  ret i16 %udiv
}

define i8 @UDIV_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: UDIV_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zextb16 a0, a0
; CHECK-NEXT:    zextb16 a1, a1
; CHECK-NEXT:    divu32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: UDIV_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    mov16 a2, a1
; GENERIC-NEXT:    movi16 a1, 255
; GENERIC-NEXT:    and16 a2, a1
; GENERIC-NEXT:    and16 a1, a0
; GENERIC-NEXT:    lrw32 a3, [.LCPI34_0]
; GENERIC-NEXT:    mov16 a0, a2
; GENERIC-NEXT:    jsr16 a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI34_0:
; GENERIC-NEXT:    .long __udivsi3
entry:
  %udiv = udiv  i8 %y, %x
  ret i8 %udiv
}

define i8 @UDIV_CHAR_I(i8 %x) {
; CHECK-LABEL: UDIV_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zextb16 a0, a0
; CHECK-NEXT:    movi16 a1, 171
; CHECK-NEXT:    mult16 a0, a1
; CHECK-NEXT:    lsri16 a0, a0, 9
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: UDIV_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 255
; GENERIC-NEXT:    and16 a1, a0
; GENERIC-NEXT:    movi16 a0, 171
; GENERIC-NEXT:    mult16 a0, a1
; GENERIC-NEXT:    lsri16 a0, a0, 9
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %udiv = udiv  i8 %x, 3
  ret i8 %udiv
}

define i32 @sdivRR(i32 %x, i32 %y) {
; CHECK-LABEL: sdivRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    divs32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: sdivRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    mov16 a2, a0
; GENERIC-NEXT:    lrw32 a3, [.LCPI36_0]
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    mov16 a1, a2
; GENERIC-NEXT:    jsr16 a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI36_0:
; GENERIC-NEXT:    .long __divsi3
entry:
  %sdiv = sdiv  i32 %y, %x
  ret i32 %sdiv
}

define i32 @sdivRI(i32 %x) {
; CHECK-LABEL: sdivRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi16 a1, 10
; CHECK-NEXT:    divs32 a0, a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: sdivRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    lrw32 a2, [.LCPI37_0]
; GENERIC-NEXT:    movi16 a1, 10
; GENERIC-NEXT:    jsr16 a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI37_0:
; GENERIC-NEXT:    .long __divsi3
entry:
  %sdiv = sdiv  i32 %x, 10
  ret i32 %sdiv
}

define i32 @sdivRI_X(i32 %x) {
; CHECK-LABEL: sdivRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi32 a1, 4097
; CHECK-NEXT:    divs32 a0, a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: sdivRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 16
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    lrw32 a2, [.LCPI38_0]
; GENERIC-NEXT:    jsr16 a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI38_0:
; GENERIC-NEXT:    .long __divsi3
entry:
  %sdiv = sdiv  i32 %x, 4097
  ret i32 %sdiv
}

define i16 @SDIV_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: SDIV_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sexth16 a0, a0
; CHECK-NEXT:    sexth16 a1, a1
; CHECK-NEXT:    divs32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SDIV_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    sexth16 a2, a1
; GENERIC-NEXT:    sexth16 a1, a0
; GENERIC-NEXT:    lrw32 a3, [.LCPI39_0]
; GENERIC-NEXT:    mov16 a0, a2
; GENERIC-NEXT:    jsr16 a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI39_0:
; GENERIC-NEXT:    .long __divsi3
entry:
  %sdiv = sdiv  i16 %y, %x
  ret i16 %sdiv
}

define i16 @SDIV_SHORT_I(i16 %x) {
; CHECK-LABEL: SDIV_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sexth16 a0, a0
; CHECK-NEXT:    movi32 a1, 21846
; CHECK-NEXT:    mult16 a0, a1
; CHECK-NEXT:    lsri16 a1, a0, 31
; CHECK-NEXT:    lsri16 a0, a0, 16
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SDIV_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    sexth16 a0, a0
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 85
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 86
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    mult16 a1, a0
; GENERIC-NEXT:    lsri16 a0, a1, 31
; GENERIC-NEXT:    lsri16 a1, a1, 16
; GENERIC-NEXT:    addu16 a0, a1, a0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sdiv = sdiv  i16 %x, 3
  ret i16 %sdiv
}

define i8 @SDIV_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: SDIV_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sextb16 a0, a0
; CHECK-NEXT:    sextb16 a1, a1
; CHECK-NEXT:    divs32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SDIV_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset lr, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    sextb16 a2, a1
; GENERIC-NEXT:    sextb16 a1, a0
; GENERIC-NEXT:    lrw32 a3, [.LCPI41_0]
; GENERIC-NEXT:    mov16 a0, a2
; GENERIC-NEXT:    jsr16 a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
; GENERIC-NEXT:    .p2align 1
; GENERIC-NEXT:  # %bb.1:
; GENERIC-NEXT:    .p2align 2, 0x0
; GENERIC-NEXT:  .LCPI41_0:
; GENERIC-NEXT:    .long __divsi3
entry:
  %sdiv = sdiv  i8 %y, %x
  ret i8 %sdiv
}

define i8 @SDIV_CHAR_I(i8 %x) {
; CHECK-LABEL: SDIV_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sextb16 a1, a0
; CHECK-NEXT:    movi16 a2, 85
; CHECK-NEXT:    mult16 a1, a2
; CHECK-NEXT:    lsri16 a1, a1, 8
; CHECK-NEXT:    subu16 a0, a1, a0
; CHECK-NEXT:    andi32 a1, a0, 128
; CHECK-NEXT:    lsri16 a1, a1, 7
; CHECK-NEXT:    sextb16 a0, a0
; CHECK-NEXT:    asri16 a0, a0, 1
; CHECK-NEXT:    addu16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SDIV_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    sextb16 a1, a0
; GENERIC-NEXT:    movi16 a2, 85
; GENERIC-NEXT:    mult16 a2, a1
; GENERIC-NEXT:    lsri16 a1, a2, 8
; GENERIC-NEXT:    subu16 a0, a1, a0
; GENERIC-NEXT:    movi16 a1, 128
; GENERIC-NEXT:    and16 a1, a0
; GENERIC-NEXT:    lsri16 a1, a1, 7
; GENERIC-NEXT:    sextb16 a0, a0
; GENERIC-NEXT:    asri16 a0, a0, 1
; GENERIC-NEXT:    addu16 a0, a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %sdiv = sdiv  i8 %x, -3
  ret i8 %sdiv
}

define i32 @shlRR(i32 %x, i32 %y) {
; CHECK-LABEL: shlRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsl32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: shlRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsl16 a1, a0
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %shl = shl nsw i32 %y, %x
  ret i32 %shl
}

define i32 @shlRI(i32 %x) {
; CHECK-LABEL: shlRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsli16 a0, a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: shlRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a0, a0, 10
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %shl = shl nsw i32 %x, 10
  ret i32 %shl
}


define i64 @SHL_LONG_I(i64 %x) {
; CHECK-LABEL: SHL_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsri16 a2, a0, 25
; CHECK-NEXT:    lsli16 a1, a1, 7
; CHECK-NEXT:    or16 a1, a2
; CHECK-NEXT:    lsli16 a0, a0, 7
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SHL_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsri16 a2, a0, 25
; GENERIC-NEXT:    lsli16 a1, a1, 7
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    lsli16 a0, a0, 7
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %shl = shl nsw i64 %x, 7
  ret i64 %shl
}

define i16 @SHL_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: SHL_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zexth16 a0, a0
; CHECK-NEXT:    lsl32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SHL_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st16.w l0, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset l0, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    movi16 a2, 0
; GENERIC-NEXT:    lsli16 a3, a2, 24
; GENERIC-NEXT:    lsli16 a2, a2, 16
; GENERIC-NEXT:    or16 a2, a3
; GENERIC-NEXT:    movi16 a3, 255
; GENERIC-NEXT:    lsli16 l0, a3, 8
; GENERIC-NEXT:    or16 l0, a2
; GENERIC-NEXT:    or16 l0, a3
; GENERIC-NEXT:    and16 l0, a0
; GENERIC-NEXT:    lsl16 a1, l0
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld16.w l0, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %shl = shl nsw i16 %y, %x
  ret i16 %shl
}

define i16 @SHL_SHORT_I(i16 %x) {
; CHECK-LABEL: SHL_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsli16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SHL_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a0, a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %shl = shl nsw i16 %x, 1
  ret i16 %shl
}

define i8 @SHL_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: SHL_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zextb16 a0, a0
; CHECK-NEXT:    lsl32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SHL_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a2, 255
; GENERIC-NEXT:    and16 a2, a0
; GENERIC-NEXT:    lsl16 a1, a2
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %shl = shl nsw i8 %y, %x
  ret i8 %shl
}

define i8 @SHL_CHAR_I(i8 %x) {
; CHECK-LABEL: SHL_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsli16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: SHL_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a0, a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %shl = shl nsw i8 %x, 1
  ret i8 %shl
}

define i32 @andRR(i32 %x, i32 %y) {
; CHECK-LABEL: andRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    and16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: andRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i32 %y, %x
  ret i32 %and
}

define i32 @andRI(i32 %x) {
; CHECK-LABEL: andRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    andi32 a0, a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: andRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 10
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i32 %x, 10
  ret i32 %and
}

define i32 @andRI_X(i32 %x) {
; CHECK-LABEL: andRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi32 a1, 4097
; CHECK-NEXT:    and16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: andRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 16
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i32 %x, 4097
  ret i32 %and
}

define i64 @AND_LONG(i64 %x, i64 %y) {
; CHECK-LABEL: AND_LONG:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    and16 a0, a2
; CHECK-NEXT:    and16 a1, a3
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: AND_LONG:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    and16 a0, a2
; GENERIC-NEXT:    and16 a1, a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i64 %y, %x
  ret i64 %and
}

define i64 @AND_LONG_I(i64 %x) {
; CHECK-LABEL: AND_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    andi32 a0, a0, 1
; CHECK-NEXT:    movi16 a1, 0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: AND_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i64 %x, 1
  ret i64 %and
}

define i16 @AND_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: AND_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    and16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: AND_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i16 %y, %x
  ret i16 %and
}

define i16 @AND_SHORT_I(i16 %x) {
; CHECK-LABEL: AND_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    andi32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: AND_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i16 %x, 1
  ret i16 %and
}

define i8 @AND_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: AND_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    and16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: AND_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i8 %y, %x
  ret i8 %and
}

define i8 @AND_CHAR_I(i8 %x) {
; CHECK-LABEL: AND_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    andi32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: AND_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    and16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %and = and  i8 %x, 1
  ret i8 %and
}

define i32 @ashrRR(i32 %x, i32 %y) {
; CHECK-LABEL: ashrRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    asr32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ashrRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    asr16 a1, a0
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %ashr = ashr  i32 %y, %x
  ret i32 %ashr
}

define i32 @ashrRI(i32 %x) {
; CHECK-LABEL: ashrRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    asri16 a0, a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ashrRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    asri16 a0, a0, 10
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %ashr = ashr  i32 %x, 10
  ret i32 %ashr
}


define i64 @ASHR_LONG_I(i64 %x) {
; CHECK-LABEL: ASHR_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsli16 a2, a1, 25
; CHECK-NEXT:    lsri16 a0, a0, 7
; CHECK-NEXT:    or16 a0, a2
; CHECK-NEXT:    asri16 a1, a1, 7
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ASHR_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a2, a1, 25
; GENERIC-NEXT:    lsri16 a0, a0, 7
; GENERIC-NEXT:    or16 a0, a2
; GENERIC-NEXT:    asri16 a1, a1, 7
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %ashr = ashr  i64 %x, 7
  ret i64 %ashr
}

define i16 @ASHR_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: ASHR_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sexth16 a1, a1
; CHECK-NEXT:    zexth16 a0, a0
; CHECK-NEXT:    asr32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ASHR_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st16.w l0, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset l0, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    sexth16 a1, a1
; GENERIC-NEXT:    movi16 a2, 0
; GENERIC-NEXT:    lsli16 a3, a2, 24
; GENERIC-NEXT:    lsli16 a2, a2, 16
; GENERIC-NEXT:    or16 a2, a3
; GENERIC-NEXT:    movi16 a3, 255
; GENERIC-NEXT:    lsli16 l0, a3, 8
; GENERIC-NEXT:    or16 l0, a2
; GENERIC-NEXT:    or16 l0, a3
; GENERIC-NEXT:    and16 l0, a0
; GENERIC-NEXT:    asr16 a1, l0
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld16.w l0, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %ashr = ashr  i16 %y, %x
  ret i16 %ashr
}

define i16 @ASHR_SHORT_I(i16 %x) {
; CHECK-LABEL: ASHR_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sexth16 a0, a0
; CHECK-NEXT:    asri16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ASHR_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    sexth16 a0, a0
; GENERIC-NEXT:    asri16 a0, a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %ashr = ashr  i16 %x, 1
  ret i16 %ashr
}

define i8 @ASHR_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: ASHR_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sextb16 a1, a1
; CHECK-NEXT:    zextb16 a0, a0
; CHECK-NEXT:    asr32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ASHR_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    sextb16 a1, a1
; GENERIC-NEXT:    movi16 a2, 255
; GENERIC-NEXT:    and16 a2, a0
; GENERIC-NEXT:    asr16 a1, a2
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %ashr = ashr  i8 %y, %x
  ret i8 %ashr
}

define i8 @ASHR_CHAR_I(i8 %x) {
; CHECK-LABEL: ASHR_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    sextb16 a0, a0
; CHECK-NEXT:    asri16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: ASHR_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    sextb16 a0, a0
; GENERIC-NEXT:    asri16 a0, a0, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %ashr = ashr  i8 %x, 1
  ret i8 %ashr
}


define i32 @lshrRR(i32 %x, i32 %y) {
; CHECK-LABEL: lshrRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsr32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: lshrRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsr16 a1, a0
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i32 %y, %x
  ret i32 %lshr
}

define i32 @lshrRI(i32 %x) {
; CHECK-LABEL: lshrRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsri16 a0, a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: lshrRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsri16 a0, a0, 10
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i32 %x, 10
  ret i32 %lshr
}

define i64 @LSHR_LONG_I(i64 %x) {
; CHECK-LABEL: LSHR_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    lsli16 a2, a1, 25
; CHECK-NEXT:    lsri16 a0, a0, 7
; CHECK-NEXT:    or16 a0, a2
; CHECK-NEXT:    lsri16 a1, a1, 7
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: LSHR_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    lsli16 a2, a1, 25
; GENERIC-NEXT:    lsri16 a0, a0, 7
; GENERIC-NEXT:    or16 a0, a2
; GENERIC-NEXT:    lsri16 a1, a1, 7
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i64 %x, 7
  ret i64 %lshr
}

define i16 @LSHR_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: LSHR_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zexth16 a1, a1
; CHECK-NEXT:    zexth16 a0, a0
; CHECK-NEXT:    lsr32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: LSHR_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    st16.w l0, (sp, 0) # 4-byte Folded Spill
; GENERIC-NEXT:    .cfi_offset l0, -4
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 8
; GENERIC-NEXT:    movi16 a2, 0
; GENERIC-NEXT:    lsli16 a3, a2, 24
; GENERIC-NEXT:    lsli16 a2, a2, 16
; GENERIC-NEXT:    or16 a2, a3
; GENERIC-NEXT:    movi16 a3, 255
; GENERIC-NEXT:    lsli16 l0, a3, 8
; GENERIC-NEXT:    or16 l0, a2
; GENERIC-NEXT:    or16 l0, a3
; GENERIC-NEXT:    and16 a1, l0
; GENERIC-NEXT:    and16 l0, a0
; GENERIC-NEXT:    lsr16 a1, l0
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    ld16.w l0, (sp, 0) # 4-byte Folded Reload
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i16 %y, %x
  ret i16 %lshr
}

define i16 @LSHR_SHORT_I(i16 %x) {
; CHECK-LABEL: LSHR_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi32 a1, 65534
; CHECK-NEXT:    and16 a0, a1
; CHECK-NEXT:    lsri16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: LSHR_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 255
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 254
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    and16 a1, a0
; GENERIC-NEXT:    lsri16 a0, a1, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i16 %x, 1
  ret i16 %lshr
}

define i8 @LSHR_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: LSHR_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    zextb16 a1, a1
; CHECK-NEXT:    zextb16 a0, a0
; CHECK-NEXT:    lsr32 a0, a1, a0
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: LSHR_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a2, 255
; GENERIC-NEXT:    and16 a1, a2
; GENERIC-NEXT:    and16 a0, a2
; GENERIC-NEXT:    lsr16 a1, a0
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i8 %y, %x
  ret i8 %lshr
}

define i8 @LSHR_CHAR_I(i8 %x) {
; CHECK-LABEL: LSHR_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    andi32 a0, a0, 254
; CHECK-NEXT:    lsri16 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: LSHR_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 254
; GENERIC-NEXT:    and16 a1, a0
; GENERIC-NEXT:    lsri16 a0, a1, 1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i8 %x, 1
  ret i8 %lshr
}

define i1 @LSHR_BIT(i1 %x, i1 %y) {
; CHECK-LABEL: LSHR_BIT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    mov16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: LSHR_BIT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    mov16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i1 %y, %x
  ret i1 %lshr
}

define i1 @LSHR_BIT_I(i1 %x) {
; CHECK-LABEL: LSHR_BIT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: LSHR_BIT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %lshr = lshr  i1 %x, 1
  ret i1 %lshr
}

define i32 @orRR(i32 %x, i32 %y) {
; CHECK-LABEL: orRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    or16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: orRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i32 %y, %x
  ret i32 %or
}

define i32 @orRI(i32 %x) {
; CHECK-LABEL: orRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    ori32 a0, a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: orRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 10
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i32 %x, 10
  ret i32 %or
}

define i32 @orRI_X(i32 %x) {
; CHECK-LABEL: orRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    ori32 a0, a0, 4097
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: orRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 16
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i32 %x, 4097
  ret i32 %or
}

define i64 @OR_LONG(i64 %x, i64 %y) {
; CHECK-LABEL: OR_LONG:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    or16 a0, a2
; CHECK-NEXT:    or16 a1, a3
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: OR_LONG:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    or16 a0, a2
; GENERIC-NEXT:    or16 a1, a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i64 %y, %x
  ret i64 %or
}

define i64 @OR_LONG_I(i64 %x) {
; CHECK-LABEL: OR_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    ori32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: OR_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a2, 1
; GENERIC-NEXT:    or16 a0, a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i64 %x, 1
  ret i64 %or
}

define i16 @OR_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: OR_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    or16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: OR_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i16 %y, %x
  ret i16 %or
}

define i16 @OR_SHORT_I(i16 %x) {
; CHECK-LABEL: OR_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    ori32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: OR_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i16 %x, 1
  ret i16 %or
}

define i8 @OR_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: OR_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    or16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: OR_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i8 %y, %x
  ret i8 %or
}

define i8 @OR_CHAR_I(i8 %x) {
; CHECK-LABEL: OR_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    ori32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: OR_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %or = or  i8 %x, 1
  ret i8 %or
}


define i32 @xorRR(i32 %x, i32 %y) {
; CHECK-LABEL: xorRR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xor16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: xorRR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    xor16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i32 %y, %x
  ret i32 %xor
}

define i32 @xorRI(i32 %x) {
; CHECK-LABEL: xorRI:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xori32 a0, a0, 10
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: xorRI:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 10
; GENERIC-NEXT:    xor16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i32 %x, 10
  ret i32 %xor
}

define i32 @xorRI_X(i32 %x) {
; CHECK-LABEL: xorRI_X:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    movi32 a1, 4097
; CHECK-NEXT:    xor16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: xorRI_X:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 0
; GENERIC-NEXT:    lsli16 a2, a1, 24
; GENERIC-NEXT:    lsli16 a1, a1, 16
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    movi16 a2, 16
; GENERIC-NEXT:    lsli16 a2, a2, 8
; GENERIC-NEXT:    or16 a2, a1
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    or16 a1, a2
; GENERIC-NEXT:    xor16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i32 %x, 4097
  ret i32 %xor
}

define i64 @XOR_LONG(i64 %x, i64 %y) {
; CHECK-LABEL: XOR_LONG:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xor16 a0, a2
; CHECK-NEXT:    xor16 a1, a3
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: XOR_LONG:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    xor16 a0, a2
; GENERIC-NEXT:    xor16 a1, a3
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i64 %y, %x
  ret i64 %xor
}

define i64 @XOR_LONG_I(i64 %x) {
; CHECK-LABEL: XOR_LONG_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xori32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: XOR_LONG_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a2, 1
; GENERIC-NEXT:    xor16 a0, a2
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i64 %x, 1
  ret i64 %xor
}

define i16 @XOR_SHORT(i16 %x, i16 %y) {
; CHECK-LABEL: XOR_SHORT:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xor16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: XOR_SHORT:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    xor16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i16 %y, %x
  ret i16 %xor
}

define i16 @XOR_SHORT_I(i16 %x) {
; CHECK-LABEL: XOR_SHORT_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xori32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: XOR_SHORT_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    xor16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i16 %x, 1
  ret i16 %xor
}

define i8 @XOR_CHAR(i8 %x, i8 %y) {
; CHECK-LABEL: XOR_CHAR:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xor16 a0, a1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: XOR_CHAR:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    xor16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i8 %y, %x
  ret i8 %xor
}

define i8 @XOR_CHAR_I(i8 %x) {
; CHECK-LABEL: XOR_CHAR_I:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    xori32 a0, a0, 1
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: XOR_CHAR_I:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    movi16 a1, 1
; GENERIC-NEXT:    xor16 a0, a1
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %xor = xor  i8 %x, 1
  ret i8 %xor
}

; i64 --> i32/i16/i8/i1
define i32 @truncR_i64_0(i64 %x) {
; CHECK-LABEL: truncR_i64_0:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i64_0:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i64 %x to i32
  ret i32 %trunc
}

define i16 @truncR_i64_1(i64 %x) {
; CHECK-LABEL: truncR_i64_1:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i64_1:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i64 %x to i16
  ret i16 %trunc
}

define i8 @truncR_i64_2(i64 %x) {
; CHECK-LABEL: truncR_i64_2:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i64_2:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i64 %x to i8
  ret i8 %trunc
}

define i1 @truncR_i64_3(i64 %x) {
; CHECK-LABEL: truncR_i64_3:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i64_3:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i64 %x to i1
  ret i1 %trunc
}


; i32 --> i16/i8/i1
define i16 @truncR_i32_1(i32 %x) {
; CHECK-LABEL: truncR_i32_1:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i32_1:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i32 %x to i16
  ret i16 %trunc
}

define i8 @truncR_i32_2(i32 %x) {
; CHECK-LABEL: truncR_i32_2:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i32_2:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i32 %x to i8
  ret i8 %trunc
}

define i1 @truncR_i32_3(i32 %x) {
; CHECK-LABEL: truncR_i32_3:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i32_3:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i32 %x to i1
  ret i1 %trunc
}

; i16 --> i8/i1
define i8 @truncR_i16_2(i16 %x) {
; CHECK-LABEL: truncR_i16_2:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i16_2:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i16 %x to i8
  ret i8 %trunc
}

define i1 @truncR_i16_3(i16 %x) {
; CHECK-LABEL: truncR_i16_3:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i16_3:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i16 %x to i1
  ret i1 %trunc
}


;i8 --> i1
define i1 @truncR_i8_3(i8 %x) {
; CHECK-LABEL: truncR_i8_3:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    rts16
;
; GENERIC-LABEL: truncR_i8_3:
; GENERIC:       # %bb.0: # %entry
; GENERIC-NEXT:    .cfi_def_cfa_offset 0
; GENERIC-NEXT:    subi16 sp, sp, 4
; GENERIC-NEXT:    .cfi_def_cfa_offset 4
; GENERIC-NEXT:    addi16 sp, sp, 4
; GENERIC-NEXT:    rts16
entry:
  %trunc = trunc i8 %x to i1
  ret i1 %trunc
}
