HomePhabricator

PPC: Don't select lxv/stxv for insufficiently aligned stack slots.

Description

PPC: Don't select lxv/stxv for insufficiently aligned stack slots.

The lxv/stxv instructions require an offset that is 0 % 16. Previously we were
selecting lxv/stxv for loads and stores to the stack where the offset from the
slot was a multiple of 16, but the stack slot was not 16 or more byte aligned.
When the frame gets lowered these transform to r(1|31) + slot + offset.
If slot is not aligned, slot + offset may not be 0 % 16.
Now we require 16 byte or more alignment for select lxv/stxv to stack slots.

Includes a testcase that shows both sufficiently and insufficiently aligned
stack slots.

Details

Committed
iterateeSep 8 2017, 5:37 PM
Parents
rL312842: Catch more cases with -Wenum-compare
Branches
Unknown
Tags
Unknown