Failed on ubuntu 18.04, with both llvm8 and llvm10. However, it works fine on my MacBook. In addition, cast from float32 to float16 is ok.
To re-produce
import tvm
import topi
from tvm import te
import numpy as np
itype = "float64"
otype = "float16"
x = te.placeholder((2, 2), name='x', dtype=itype)
y = topi.cast(x, otype)
s = te.create_schedule(y.op)
f = tvm.build(s, [x, y], "llvm")
nx = tvm.nd.array(np.random.normal(size=(2, 2)).astype(itype))
ny = tvm.nd.array(np.zeros((2, 2), otype))
f(nx, ny)
output
Segmentation fault (core dumped)