On Fri, Oct 23, 2015 at 01:36:25PM -0400, Michael Meissner wrote:
> This patch allows SUBREG's for the reg_or_indexed_operand, which is used when
> you have an integral value in a float/vector register, and you want to move
> the
> value (either via direct move on power8, or via store).
>
> I have built the compiler with this patch and the previous subpatches (1-3).
> I
> have bootstrapped the compiler with all 16 subpatches installed, and there
> were
> no regressions. Is it ok to install in the trunk?
>
> 2015-10-22 Michael Meissner <[email protected]>
>
> * config/rs6000/predicates.md (reg_or_indexed_operand): Allow
> SUBREGs.
I forgot to attach the patch.
--
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: [email protected], phone: +1 (978) 899-4797
Index: gcc/config/rs6000/predicates.md
===================================================================
--- gcc/config/rs6000/predicates.md (revision 229188)
+++ gcc/config/rs6000/predicates.md (revision 229189)
@@ -684,7 +684,7 @@ (define_predicate "indexed_or_indirect_o
;; Like indexed_or_indirect_operand, but also allow a GPR register if direct
;; moves are supported.
(define_predicate "reg_or_indexed_operand"
- (match_code "mem,reg")
+ (match_code "mem,reg,subreg")
{
if (MEM_P (op))
return indexed_or_indirect_operand (op, mode);