[AArch64][SVE] Handle register-register pred_movs
pred_mov<mode> is defined for predicated loads and stores, where exactly one of the operands is a register. However, the instruction condition only checked for "one" rather than "exactly one", and Prathamesh found a case in which combine could fold a predicated pattern to an all-register pred_mov<mode>. The constraints would then force one of the registers to memory. This patch splits all-register forms into a normal move as soon as possible, but also adds an all-register alternative in case the instruction doesn't get split before RA (or in case the RA can use inheritance to avoid a reload). The testcase for this will be added to aarch64/sve-acle-branch. 2018-01-25 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-sve.md (*pred_mov<mode>) (pred_mov<mode>): Handle all-register forms using both a new alternative and a split. From-SVN: r268263
Showing
Please
register
or
sign in
to comment