The convert_low and promote_low instructions can widen the lower two lanes of a
four-lane vector, but we were previously scalarizing patterns that widened lanes
besides the low two lanes. The commit adds a shuffle to move the widened lanes
into the low lane positions so the convert_low and promote_low instructions can
be used instead of scalarizing.
Depends on D108266.
clang-tidy: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'int' in initializer list [clang-diagnostic-c++11-narrowing]
not useful
clang-tidy: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'int' in initializer list [clang-diagnostic-c++11-narrowing]
not useful