codegen: work with padded const-length vectors

Variable length vectors are impossible to generate using LLVM. Work with
const-length vectors padded with undefs instead.