How to use fp16 in metal?

I declare some var with “half”, after cross compiling, the “half” are all translated to “float” in metal shader. Any idea?