On 1/10/18 1:44 PM, Segher Boessenkool wrote:
> On Tue, Jan 09, 2018 at 12:22:38PM -0600, Peter Bergner wrote:
>>      * config/rs6000/rs6000.c (print_operand): Use
>>      VECTOR_MEM_ALTIVEC_OR_VSX_P.
> 
> (print_operand) <'y'>: ...

Will fix.



>>      * config/rs6000/vsx.md (*vsx_le_perm_load_<mode><VSX_D>): Use
>>      indexed_or_indirect_operand predicate.
> 
> It's *vsx_le_perm_load_<mode> -- <VSX_D> is not part of the name.  It
> makes sense to mention it, maybe like
>       * config/rs6000/vsx.md (*vsx_le_perm_load_<mode> for VSX_D): ...

I didn't know how to handle that, so I guessed! :-)  Will fix.



>>      (*vsx_le_perm_load_v8hi): Likewise.
>>      (*vsx_le_perm_load_v8hi): Likewise.
> 
> You duplicated this line.

Will fix.

>>      (*vsx_le_perm_store_<mode><VSX_D>): Likewise in pattern and splitters.

[snip]

>>  (define_split
>> -  [(set (match_operand:VSX_D 0 "memory_operand" "")
>> +  [(set (match_operand:VSX_D 0 "indexed_or_indirect_operand" "")
>>          (match_operand:VSX_D 1 "vsx_register_operand" ""))]
>>    "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && 
>> !reload_completed"
>>    [(set (match_dup 2)
>> @@ -570,7 +570,7 @@ (define_split
>>  ;; The post-reload split requires that we re-permute the source
>>  ;; register in case it is still live.
>>  (define_split
>> -  [(set (match_operand:VSX_D 0 "memory_operand" "")
>> +  [(set (match_operand:VSX_D 0 "indexed_or_indirect_operand" "")
>>          (match_operand:VSX_D 1 "vsx_register_operand" ""))]
>>    "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && reload_completed"
>>    [(set (match_dup 1)
> 
> You don't mention these in the changelog.

I tried to by mentioning splitters in the entry above.  How are these
unnamed splitters supposed to be mentioned?  Maybe like:

        (*vsx_le_perm_store_<mode> for <VSX_D>): Likewise/
        (*vsx_le_perm_store_<mode> for <VSX_D> splitter): Likewise.

?

Peter

Reply via email to