HomePhabricator

[AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors…

Authored by aemerson on Apr 11 2019, 1:32 PM.

Description

[AArch64][GlobalISel] Legalization and ISel support for load/stores of vectors of pointers.

Loads and store of values with type like <2 x p0> currently don't get imported
because SelectionDAG has no knowledge of pointer types. To leverage the existing
support for vector load/stores, we can bitcast the value to have s64 element
types instead. We do this as a custom legalization.

This patch also adds support for general loads of <2 x s64>, and relaxes some
type conditions on selecting G_BITCAST.

Differential Revision: https://reviews.llvm.org/D60534

llvm-svn: 358221