Closed stellaraccident closed 2 weeks ago
Note that if using a triple of turing-unknown-windows
(or similar), it compiles successfully. I expect some kind of f16 assumption that is wrong.
If given on explicit target environment or triple, we are using the unknown-unknown-unkown
one, which has an absolute minimal set of widely applicable features to make sure the code generated is runnable everywhere. That means being very conservative. Float16 unfortunately is not something we can comfortably relying on under such circumstances:
Without it the CodeGen would try to emulate float16 with float32, and it causes issues when vector.cast
from vector<2xf32>
to vector<4xf16>
. I created https://reviews.llvm.org/D140437 to fail such cases to make the error better.
Though we can use 16bit storage capabilities, which allows storing float16 (not computing):
Created #11625 to enable the above.
closing as obsolete -- no actions planned now
If not compiling with any Vulkan target-triple, the VAE model used by shark.sd fails to compile with:
Repro: