Tracking bug for SVE2 scalable vector todos.
LLVM crashes with scalable vectors that have minimum size of 1. Some cases that would use scalable vectors are using fixed vectors to avoid this.
Architecture specific choice about whether to use fixed or scalable vectors is hardwired into CodeGen_LLVM::get_vector_type. If this cannot be made architecture agnostic, it should be moved into the architecture specific derived class. (Currently CodeGen_LLVM::get_vector_type is not virtual and changing that should like be measured for performance first.)
Boolean vector types are implicitly represented using bytes, which makes sense for some but not all cases, Specifically bit mask operations, etc. This is partially a language thing and partially a question of whether the current implementation is good. It might be better to to this via Halide IR regularization before LLVM codegen.