1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=ppc64 %s -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; These tests just check that the plumbing is in place for @llvm.bitreverse. The 4*9880d681SAndroid Build Coastguard Worker; actual output is massive at the moment as llvm.bitreverse is not yet legal. 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdeclare <2 x i16> @llvm.bitreverse.v2i16(<2 x i16>) readnone 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @f(<2 x i16> %a) { 9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f: 10*9880d681SAndroid Build Coastguard Worker; CHECK: rlwinm 11*9880d681SAndroid Build Coastguard Worker %b = call <2 x i16> @llvm.bitreverse.v2i16(<2 x i16> %a) 12*9880d681SAndroid Build Coastguard Worker ret <2 x i16> %b 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdeclare i8 @llvm.bitreverse.i8(i8) readnone 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerdefine i8 @g(i8 %a) { 18*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: g: 19*9880d681SAndroid Build Coastguard Worker; CHECK: rlwinm 20*9880d681SAndroid Build Coastguard Worker; CHECK: rlwimi 21*9880d681SAndroid Build Coastguard Worker %b = call i8 @llvm.bitreverse.i8(i8 %a) 22*9880d681SAndroid Build Coastguard Worker ret i8 %b 23*9880d681SAndroid Build Coastguard Worker} 24