Hi Tim and reviewers,
The attached patch fixes two problems:
(1) Load/Store a vector type can’t be selected. This patch implements such patterns to matche them into corresponding LD1/ST1 instructions.
(2) The bitcast between i64 and vector types are not fully supported. For example, a bitcast from i64 to a v8i8 can’t be selected. This patch implements such patterns to match them to FMOV instructions.
Review, please.
As the load/store IR and such bitcast IR is very commonly generated with “–O0”, I think this patch is important for AArch64 backend on the 3.4 branch. If the code review is passed, could we also commit it to the 3.4 branch?
Thanks,
-Hao