[BugCodegen] error when cast float16 to int8 using vectorize

script to reproduce when i try to cast float16 to int8 using vectorize, it fails to codegen correctly.

error: more than one conversion function from "__half" to "signed char" applies:

If i not vectorize the innermost loop, it codegen correctly as it add(int) before converting to signed char. I believe there is a bug when codegen castnode, can comeone give a guide?

By adding a line lift __half to float would fix this error.

But i still did’nt figure out why there are(int) added before converting from __half to signed char when both are scala, it seems will go through , but i can’t debug how (int)was added