; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=arm-eabi -mattr=+v6 %s -o - | FileCheck %s


target triple = "nvptx64-nvidia-cuda"

define i32 @test_simple_rotl(i32 %x) {
; CHECK-LABEL: test_simple_rotl:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    ror r0, r0, #25
; CHECK-NEXT:    bx lr
  %shl = shl i32 %x, 7
  %shr = lshr i32 %x, 25
  %add = add i32 %shl, %shr
  ret i32 %add
}

define i32 @test_simple_rotr(i32 %x) {
; CHECK-LABEL: test_simple_rotr:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    ror r0, r0, #7
; CHECK-NEXT:    bx lr
  %shr = lshr i32 %x, 7
  %shl = shl i32 %x, 25
  %add = add i32 %shr, %shl
  ret i32 %add
}

define i32 @test_rotl_var(i32 %x, i32 %y) {
; CHECK-LABEL: test_rotl_var:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    rsb r1, r1, #0
; CHECK-NEXT:    ror r0, r0, r1
; CHECK-NEXT:    bx lr
  %shl = shl i32 %x, %y
  %sub = sub i32 32, %y
  %shr = lshr i32 %x, %sub
  %add = add i32 %shl, %shr
  ret i32 %add
}

define i32 @test_rotr_var(i32 %x, i32 %y) {
; CHECK-LABEL: test_rotr_var:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    ror r0, r0, r1
; CHECK-NEXT:    bx lr
  %shr = lshr i32 %x, %y
  %sub = sub i32 32, %y
  %shl = shl i32 %x, %sub
  %add = add i32 %shr, %shl
  ret i32 %add
}

define i32 @test_invalid_rotl_var_and(i32 %x, i32 %y) {
; CHECK-LABEL: test_invalid_rotl_var_and:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    rsb r2, r1, #0
; CHECK-NEXT:    and r2, r2, #31
; CHECK-NEXT:    lsr r2, r0, r2
; CHECK-NEXT:    add r0, r2, r0, lsl r1
; CHECK-NEXT:    bx lr
  %shr = shl i32 %x, %y
  %sub = sub nsw i32 0, %y
  %and = and i32 %sub, 31
  %shl = lshr i32 %x, %and
  %add = add i32 %shl, %shr
  ret i32 %add
}

define i32 @test_invalid_rotr_var_and(i32 %x, i32 %y) {
; CHECK-LABEL: test_invalid_rotr_var_and:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    lsr r2, r0, r1
; CHECK-NEXT:    rsb r1, r1, #0
; CHECK-NEXT:    and r1, r1, #31
; CHECK-NEXT:    add r0, r2, r0, lsl r1
; CHECK-NEXT:    bx lr
  %shr = lshr i32 %x, %y
  %sub = sub nsw i32 0, %y
  %and = and i32 %sub, 31
  %shl = shl i32 %x, %and
  %add = add i32 %shr, %shl
  ret i32 %add
}

define i32 @test_fshl_special_case(i32 %x0, i32 %x1, i32 %y) {
; CHECK-LABEL: test_fshl_special_case:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    lsl r0, r0, r2
; CHECK-NEXT:    eor r2, r2, #31
; CHECK-NEXT:    lsr r1, r1, #1
; CHECK-NEXT:    add r0, r0, r1, lsr r2
; CHECK-NEXT:    bx lr
  %shl = shl i32 %x0, %y
  %srli = lshr i32 %x1, 1
  %x = xor i32 %y, 31
  %srlo = lshr i32 %srli, %x
  %o = add i32 %shl, %srlo
  ret i32 %o
}

define i32 @test_fshr_special_case(i32 %x0, i32 %x1, i32 %y) {
; CHECK-LABEL: test_fshr_special_case:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    lsr r1, r1, r2
; CHECK-NEXT:    eor r2, r2, #31
; CHECK-NEXT:    lsl r0, r0, #1
; CHECK-NEXT:    add r0, r1, r0, lsl r2
; CHECK-NEXT:    bx lr
  %shl = lshr i32 %x1, %y
  %srli = shl i32 %x0, 1
  %x = xor i32 %y, 31
  %srlo = shl i32 %srli, %x
  %o = add i32 %shl, %srlo
  ret i32 %o
}

define i64 @test_rotl_udiv_special_case(i64 %i) {
; CHECK-LABEL: test_rotl_udiv_special_case:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    .save {r11, lr}
; CHECK-NEXT:    push {r11, lr}
; CHECK-NEXT:    adds r2, r0, r1
; CHECK-NEXT:    ldr r12, .LCPI8_0
; CHECK-NEXT:    adc lr, r2, #0
; CHECK-NEXT:    umull r3, r2, lr, r12
; CHECK-NEXT:    bic r3, r2, #1
; CHECK-NEXT:    add r2, r3, r2, lsr #1
; CHECK-NEXT:    ldr r3, .LCPI8_1
; CHECK-NEXT:    sub r2, lr, r2
; CHECK-NEXT:    subs r0, r0, r2
; CHECK-NEXT:    sbc r1, r1, #0
; CHECK-NEXT:    umull r2, lr, r0, r12
; CHECK-NEXT:    mla r0, r0, r3, lr
; CHECK-NEXT:    mla r0, r1, r12, r0
; CHECK-NEXT:    lsl r1, r2, #28
; CHECK-NEXT:    orr r1, r1, r0, lsr #4
; CHECK-NEXT:    lsl r0, r0, #28
; CHECK-NEXT:    orr r0, r0, r2, lsr #4
; CHECK-NEXT:    pop {r11, pc}
; CHECK-NEXT:    .p2align 2
; CHECK-NEXT:  @ %bb.1:
; CHECK-NEXT:  .LCPI8_0:
; CHECK-NEXT:    .long 2863311531 @ 0xaaaaaaab
; CHECK-NEXT:  .LCPI8_1:
; CHECK-NEXT:    .long 2863311530 @ 0xaaaaaaaa
  %lhs_div = udiv i64 %i, 3
  %rhs_div = udiv i64 %i, 48
  %lhs_shift = shl i64 %lhs_div, 60
  %out = add i64 %lhs_shift, %rhs_div
  ret i64 %out
}

define i32 @test_rotl_mul_special_case(i32 %i) {
; CHECK-LABEL: test_rotl_mul_special_case:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    add r0, r0, r0, lsl #3
; CHECK-NEXT:    ror r0, r0, #25
; CHECK-NEXT:    bx lr
  %lhs_mul = mul i32 %i, 9
  %rhs_mul = mul i32 %i, 1152
  %lhs_shift = lshr i32 %lhs_mul, 25
  %out = add i32 %lhs_shift, %rhs_mul
  ret i32 %out
}

define i64 @test_rotl_mul_with_mask_special_case(i64 %i) {
; CHECK-LABEL: test_rotl_mul_with_mask_special_case:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    mov r2, #9
; CHECK-NEXT:    add r1, r1, r1, lsl #3
; CHECK-NEXT:    umull r2, r3, r0, r2
; CHECK-NEXT:    and r0, r0, #1
; CHECK-NEXT:    lsl r0, r0, #7
; CHECK-NEXT:    add r1, r3, r1
; CHECK-NEXT:    orr r0, r0, r1, lsr #25
; CHECK-NEXT:    mov r1, #0
; CHECK-NEXT:    bx lr
  %lhs_mul = mul i64 %i, 1152
  %rhs_mul = mul i64 %i, 9
  %lhs_and = and i64 %lhs_mul, 160
  %rhs_shift = lshr i64 %rhs_mul, 57
  %out = add i64 %lhs_and, %rhs_shift
  ret i64 %out
}

define i32 @test_fshl_with_mask_special_case(i32 %x) {
; CHECK-LABEL: test_fshl_with_mask_special_case:
; CHECK:       @ %bb.0:
; CHECK-NEXT:    mov r1, #32
; CHECK-NEXT:    orr r0, r1, r0, ror #27
; CHECK-NEXT:    bic r0, r0, #30
; CHECK-NEXT:    bx lr
  %or1 = or i32 %x, 1
  %sh1 = shl i32 %or1, 5
  %sh2 = lshr i32 %x, 27
  %1 = and i32 %sh2, 1
  %r = add i32 %sh1, %1
  ret i32 %r
}
