|  | ; RUN: llvm-as %s -o /dev/null | 
|  |  | 
|  | ; Should assemble without error. | 
|  |  | 
|  | declare void @similar_param_ptrty_callee(ptr) | 
|  | define void @similar_param_ptrty(ptr) { | 
|  | musttail call void @similar_param_ptrty_callee(ptr null) | 
|  | ret void | 
|  | } | 
|  |  | 
|  | declare ptr @similar_ret_ptrty_callee() | 
|  | define ptr @similar_ret_ptrty() { | 
|  | %v = musttail call ptr @similar_ret_ptrty_callee() | 
|  | ret ptr %v | 
|  | } | 
|  |  | 
|  | declare x86_thiscallcc void @varargs_thiscall(ptr, ...) | 
|  | define x86_thiscallcc void @varargs_thiscall_thunk(ptr %this, ...) { | 
|  | musttail call x86_thiscallcc void (ptr, ...) @varargs_thiscall(ptr %this, ...) | 
|  | ret void | 
|  | } | 
|  |  | 
|  | declare x86_fastcallcc void @varargs_fastcall(ptr, ...) | 
|  | define x86_fastcallcc void @varargs_fastcall_thunk(ptr %this, ...) { | 
|  | musttail call x86_fastcallcc void (ptr, ...) @varargs_fastcall(ptr %this, ...) | 
|  | ret void | 
|  | } | 
|  |  | 
|  | define x86_thiscallcc void @varargs_thiscall_unreachable(ptr %this, ...) { | 
|  | unreachable | 
|  | } | 
|  |  | 
|  | define x86_thiscallcc void @varargs_thiscall_ret_unreachable(ptr %this, ...) { | 
|  | musttail call x86_thiscallcc void (ptr, ...) @varargs_thiscall(ptr %this, ...) | 
|  | ret void | 
|  | bb1: | 
|  | ret void | 
|  | } |