1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel -mattr=mips16 -relocation-model=pic -O3 < %s | FileCheck %s -check-prefix=16 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@.str = private unnamed_addr constant [6 x i8] c"hello\00", align 1 4*9880d681SAndroid Build Coastguard Worker@_ZTIPKc = external constant i8* 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i32 @main() { 7*9880d681SAndroid Build Coastguard Worker; 16-LABEL: main: 8*9880d681SAndroid Build Coastguard Worker; 16: .cfi_startproc 9*9880d681SAndroid Build Coastguard Worker; 16: save $16, $17, $ra, 32 # 16 bit inst 10*9880d681SAndroid Build Coastguard Worker; 16: .cfi_def_cfa_offset 32 11*9880d681SAndroid Build Coastguard Worker; 16: .cfi_offset 31, -4 12*9880d681SAndroid Build Coastguard Worker; 16: .cfi_offset 17, -8 13*9880d681SAndroid Build Coastguard Worker; 16: .cfi_offset 16, -12 14*9880d681SAndroid Build Coastguard Worker; 16: .cfi_endproc 15*9880d681SAndroid Build Coastguard Workerentry: 16*9880d681SAndroid Build Coastguard Worker %retval = alloca i32, align 4 17*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %retval 18*9880d681SAndroid Build Coastguard Worker %exception = call i8* @__cxa_allocate_exception(i32 4) nounwind 19*9880d681SAndroid Build Coastguard Worker %0 = bitcast i8* %exception to i8** 20*9880d681SAndroid Build Coastguard Worker store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), i8** %0 21*9880d681SAndroid Build Coastguard Worker call void @__cxa_throw(i8* %exception, i8* bitcast (i8** @_ZTIPKc to i8*), i8* null) noreturn 22*9880d681SAndroid Build Coastguard Worker unreachable 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Workerreturn: ; No predecessors! 25*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %retval 26*9880d681SAndroid Build Coastguard Worker ret i32 %1 27*9880d681SAndroid Build Coastguard Worker} 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Workerdeclare i8* @__cxa_allocate_exception(i32) 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Workerdeclare void @__cxa_throw(i8*, i8*, i8*) 32