1; RUN: llc -mtriple=armv8-eabi %s -o - | FileCheck %s 2 3; CHECK-LABEL: rbit 4; CHECK: rbit r0, r0 5define i32 @rbit(i32 %t) { 6entry: 7 %rbit = call i32 @llvm.arm.rbit(i32 %t) 8 ret i32 %rbit 9} 10 11; CHECK-LABEL: rbit_constant 12; CHECK: mov r0, #0 13; CHECK-NOT: rbit 14; CHECK: bx lr 15define i32 @rbit_constant() { 16entry: 17 %rbit.i = call i32 @llvm.arm.rbit(i32 0) 18 ret i32 %rbit.i 19} 20 21declare i32 @llvm.arm.rbit(i32) 22 23declare i32 @llvm.bitreverse.i32(i32) readnone 24 25; CHECK-LABEL: rbit_generic 26; CHECK: rbit r0, r0 27define i32 @rbit_generic(i32 %t) { 28entry: 29 %rbit = call i32 @llvm.bitreverse.i32(i32 %t) 30 ret i32 %rbit 31} 32 33