1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=bpfel | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine i16 @am1(i16* %a) nounwind { 4*9880d681SAndroid Build Coastguard Worker %1 = load i16, i16* %a 5*9880d681SAndroid Build Coastguard Worker ret i16 %1 6*9880d681SAndroid Build Coastguard Worker} 7*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: am1: 8*9880d681SAndroid Build Coastguard Worker; CHECK: ldh r0, 0(r1) 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker@foo = external global i16 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine i16 @am2() nounwind { 13*9880d681SAndroid Build Coastguard Worker %1 = load i16, i16* @foo 14*9880d681SAndroid Build Coastguard Worker ret i16 %1 15*9880d681SAndroid Build Coastguard Worker} 16*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: am2: 17*9880d681SAndroid Build Coastguard Worker; CHECK: ldh r0, 0(r1) 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerdefine i16 @am4() nounwind { 20*9880d681SAndroid Build Coastguard Worker %1 = load volatile i16, i16* inttoptr(i16 32 to i16*) 21*9880d681SAndroid Build Coastguard Worker ret i16 %1 22*9880d681SAndroid Build Coastguard Worker} 23*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: am4: 24*9880d681SAndroid Build Coastguard Worker; CHECK: mov r1, 32 25*9880d681SAndroid Build Coastguard Worker; CHECK: ldh r0, 0(r1) 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerdefine i16 @am5(i16* %a) nounwind { 28*9880d681SAndroid Build Coastguard Worker %1 = getelementptr i16, i16* %a, i16 2 29*9880d681SAndroid Build Coastguard Worker %2 = load i16, i16* %1 30*9880d681SAndroid Build Coastguard Worker ret i16 %2 31*9880d681SAndroid Build Coastguard Worker} 32*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: am5: 33*9880d681SAndroid Build Coastguard Worker; CHECK: ldh r0, 4(r1) 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker%S = type { i16, i16 } 36*9880d681SAndroid Build Coastguard Worker@baz = common global %S zeroinitializer, align 1 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workerdefine i16 @am6() nounwind { 39*9880d681SAndroid Build Coastguard Worker %1 = load i16, i16* getelementptr (%S, %S* @baz, i32 0, i32 1) 40*9880d681SAndroid Build Coastguard Worker ret i16 %1 41*9880d681SAndroid Build Coastguard Worker} 42*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: am6: 43*9880d681SAndroid Build Coastguard Worker; CHECK: ldh r0, 2(r1) 44