[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / ARM / rbit.ll
blobc8badfb32370c09f164098c8061ee6d628c36feb
1 ; RUN: llc -mtriple=armv8-eabi %s -o - | FileCheck %s
3 ; CHECK-LABEL: rbit
4 ; CHECK: rbit r0, r0
5 define i32 @rbit(i32 %t) {
6 entry:
7   %rbit = call i32 @llvm.arm.rbit(i32 %t)
8   ret i32 %rbit
11 ; CHECK-LABEL: rbit_constant
12 ; CHECK: mov r0, #0
13 ; CHECK-NOT: rbit
14 ; CHECK: bx lr
15 define i32 @rbit_constant() {
16 entry:
17   %rbit.i = call i32 @llvm.arm.rbit(i32 0)
18   ret i32 %rbit.i
21 declare i32 @llvm.arm.rbit(i32)
23 declare i32 @llvm.bitreverse.i32(i32) readnone
25 ; CHECK-LABEL: rbit_generic
26 ; CHECK: rbit r0, r0
27 define i32 @rbit_generic(i32 %t) {
28 entry:
29   %rbit = call i32 @llvm.bitreverse.i32(i32 %t)
30   ret i32 %rbit