; RUN: llvm-upgrade < %s | llvm-as | llc

sbyte %test1(double %X) {
	%tmp.1 = cast double %X to sbyte
	ret sbyte %tmp.1
}
short %test2(double %X) {
	%tmp.1 = cast double %X to short
	ret short %tmp.1
}
int %test3(double %X) {
	%tmp.1 = cast double %X to int
	ret int %tmp.1
}
long %test4(double %X) {
	%tmp.1 = cast double %X to long
	ret long %tmp.1
}
ubyte %test1u(double %X) {
	%tmp.1 = cast double %X to ubyte
	ret ubyte %tmp.1
}
ushort %test2u(double %X) {
	%tmp.1 = cast double %X to ushort
	ret ushort %tmp.1
}
uint %test3u(double %X) {
	%tmp.1 = cast double %X to uint
	ret uint %tmp.1
}
ulong %test4u(double %X) {
	%tmp.1 = cast double %X to ulong
	ret ulong %tmp.1
}

sbyte %test1f(float %X) {
	%tmp.1 = cast float %X to sbyte
	ret sbyte %tmp.1
}
short %test2f(float %X) {
	%tmp.1 = cast float %X to short
	ret short %tmp.1
}
int %test3f(float %X) {
	%tmp.1 = cast float %X to int
	ret int %tmp.1
}
long %test4f(float %X) {
	%tmp.1 = cast float %X to long
	ret long %tmp.1
}
ubyte %test1uf(float %X) {
	%tmp.1 = cast float %X to ubyte
	ret ubyte %tmp.1
}
ushort %test2uf(float %X) {
	%tmp.1 = cast float %X to ushort
	ret ushort %tmp.1
}
uint %test3uf(float %X) {
	%tmp.1 = cast float %X to uint
	ret uint %tmp.1
}
ulong %test4uf(float %X) {
	%tmp.1 = cast float %X to ulong
	ret ulong %tmp.1
}
