This is an archive of the discontinued LLVM Phabricator instance.

[PATCH][AArch64] Fix the bug about Load/Store a vector type and bitcast between i64 and a vector type
ClosedPublic

Authored by HaoLiu on Nov 21 2013, 2:27 AM.

Details

Reviewers
t.p.northover
Summary

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

Diff Detail

Event Timeline

HaoLiu closed this revision.May 13 2015, 7:57 PM