; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs < %s \
; RUN:   | FileCheck %s -check-prefixes=RV32ZBKB
; RUN: llc -mtriple=riscv64 -mattr=+zbkb -verify-machineinstrs < %s \
; RUN:   | FileCheck %s -check-prefixes=RV64ZBKB

; TODO: These tests can be optimised
;       fold (bitreverse(srl (bitreverse c), x)) -> (shl c, x)
;       fold (bitreverse(shl (bitreverse c), x)) -> (srl c, x)

declare i8 @llvm.bitreverse.i8(i8)
declare i16 @llvm.bitreverse.i16(i16)
declare i32 @llvm.bitreverse.i32(i32)
declare i64 @llvm.bitreverse.i64(i64)

define i8 @test_bitreverse_srli_bitreverse_i8(i8 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_srli_bitreverse_i8:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 27
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 24
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_srli_bitreverse_i8:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 59
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 56
; RV64ZBKB-NEXT:    ret
    %1 = call i8 @llvm.bitreverse.i8(i8 %a)
    %2 = lshr i8 %1, 3
    %3 = call i8 @llvm.bitreverse.i8(i8 %2)
    ret i8 %3
}

define i16 @test_bitreverse_srli_bitreverse_i16(i16 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_srli_bitreverse_i16:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 23
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 16
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_srli_bitreverse_i16:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 55
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 48
; RV64ZBKB-NEXT:    ret
    %1 = call i16 @llvm.bitreverse.i16(i16 %a)
    %2 = lshr i16 %1, 7
    %3 = call i16 @llvm.bitreverse.i16(i16 %2)
    ret i16 %3
}

define i32 @test_bitreverse_srli_bitreverse_i32(i32 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_srli_bitreverse_i32:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 15
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_srli_bitreverse_i32:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 47
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 32
; RV64ZBKB-NEXT:    ret
    %1 = call i32 @llvm.bitreverse.i32(i32 %a)
    %2 = lshr i32 %1, 15
    %3 = call i32 @llvm.bitreverse.i32(i32 %2)
    ret i32 %3
}

define i64 @test_bitreverse_srli_bitreverse_i64(i64 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_srli_bitreverse_i64:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 1
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a1, a0
; RV32ZBKB-NEXT:    li a0, 0
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_srli_bitreverse_i64:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 33
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    ret
    %1 = call i64 @llvm.bitreverse.i64(i64 %a)
    %2 = lshr i64 %1, 33
    %3 = call i64 @llvm.bitreverse.i64(i64 %2)
    ret i64 %3
}

define i8 @test_bitreverse_shli_bitreverse_i8(i8 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_shli_bitreverse_i8:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 24
; RV32ZBKB-NEXT:    slli a0, a0, 3
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 24
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_shli_bitreverse_i8:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 56
; RV64ZBKB-NEXT:    slli a0, a0, 3
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 56
; RV64ZBKB-NEXT:    ret
    %1 = call i8 @llvm.bitreverse.i8(i8 %a)
    %2 = shl i8 %1, 3
    %3 = call i8 @llvm.bitreverse.i8(i8 %2)
    ret i8 %3
}

define i16 @test_bitreverse_shli_bitreverse_i16(i16 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_shli_bitreverse_i16:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 16
; RV32ZBKB-NEXT:    slli a0, a0, 7
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    srli a0, a0, 16
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_shli_bitreverse_i16:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 48
; RV64ZBKB-NEXT:    slli a0, a0, 7
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 48
; RV64ZBKB-NEXT:    ret
    %1 = call i16 @llvm.bitreverse.i16(i16 %a)
    %2 = shl i16 %1, 7
    %3 = call i16 @llvm.bitreverse.i16(i16 %2)
    ret i16 %3
}

define i32 @test_bitreverse_shli_bitreverse_i32(i32 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_shli_bitreverse_i32:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    slli a0, a0, 15
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_shli_bitreverse_i32:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 32
; RV64ZBKB-NEXT:    slli a0, a0, 15
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    srli a0, a0, 32
; RV64ZBKB-NEXT:    ret
    %1 = call i32 @llvm.bitreverse.i32(i32 %a)
    %2 = shl i32 %1, 15
    %3 = call i32 @llvm.bitreverse.i32(i32 %2)
    ret i32 %3
}

define i64 @test_bitreverse_shli_bitreverse_i64(i64 %a) nounwind {
; RV32ZBKB-LABEL: test_bitreverse_shli_bitreverse_i64:
; RV32ZBKB:       # %bb.0:
; RV32ZBKB-NEXT:    rev8 a0, a1
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    slli a0, a0, 1
; RV32ZBKB-NEXT:    rev8 a0, a0
; RV32ZBKB-NEXT:    brev8 a0, a0
; RV32ZBKB-NEXT:    li a1, 0
; RV32ZBKB-NEXT:    ret
;
; RV64ZBKB-LABEL: test_bitreverse_shli_bitreverse_i64:
; RV64ZBKB:       # %bb.0:
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    slli a0, a0, 33
; RV64ZBKB-NEXT:    rev8 a0, a0
; RV64ZBKB-NEXT:    brev8 a0, a0
; RV64ZBKB-NEXT:    ret
    %1 = call i64 @llvm.bitreverse.i64(i64 %a)
    %2 = shl i64 %1, 33
    %3 = call i64 @llvm.bitreverse.i64(i64 %2)
    ret i64 %3
}
