; The CBE should not emit code that casts the function pointer.  This causes
; GCC to get testy and insert trap instructions instead of doing the right
; thing. :(
; RUN: llvm-upgrade < %s | llvm-as | llc -march=c

implementation

declare void %external(sbyte*)

int %test(int *%X) {
	%RV = call int (int*)* cast (void(sbyte*)* %external to int(int*)*)(int* %X)
	ret int %RV
}




