[PATCH][AArch64] Fix insn types

Evandro Menezes e.menezes@samsung.com
Tue Oct 20 16:14:00 GMT 2015


Kyrill,

Indeed, the correct log would be:

     The type assigned to some insn definitions was not correct.

     gcc/
         * config/aarch64/aarch64.md
         (*movhf_aarch64): Change the type of "mov %0.h[0], %1.h[0] to 
"neon_move".
         (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
         (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to 
"mov_imm".
         (*cmovsi_insn_uxtw): Likewise.

Thank you,

-- 
Evandro Menezes

On 10/20/2015 05:59 AM, Kyrill Tkachov wrote:
> Hi Evandro,
>
> On 19/10/15 22:05, Evandro Menezes wrote:
>> The type assigned to some insn definitions was seemingly not correct:
>>
>>  * "movi %d0, %1" was of type "fmov"
>>  * "fmov %s0, wzr" was of type "fconstd"
>>  * "mov %<w>0, {-1,1}" were of type "csel"
>>
>> This patch changes their types to:
>>
>>  * "movi %d0, %1" to type "neon_move"
>>  * "fmov %s0, wzr" to type "f_mcr"
>>  * "mov %<w>0, {-1,1}" to type "mov_imm"
>>
>> Please, commit if it's alright.
>>
>> Thank you,
>>
>
> Looking at your ChangeLog...
>
> gcc/
>     * config/aarch64/aarch64.md
>     (*movdi_aarch64): Change the type of "movi %d0, %1" to "neon_move".
>     (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
>     (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to 
> "mov_imm".
>     (*cmovsi_insn_uxtw): Idem
>
> The preferred form is "Likewise" rather than "Idem" AFAIK. Also, full 
> stop at the end.
>
> --- a/gcc/config/aarch64/aarch64.md
> +++ b/gcc/config/aarch64/aarch64.md
> @@ -1130,7 +1130,7 @@
>     ldrh\\t%w0, %1
>     strh\\t%w1, %0
>     mov\\t%w0, %w1"
> -  [(set_attr "type" "neon_from_gp,neon_to_gp,fmov,\
> +  [(set_attr "type" "neon_from_gp,neon_to_gp,neon_move,\
>                       f_loads,f_stores,load1,store1,mov_reg")
>     (set_attr "simd" "yes,yes,yes,*,*,*,*,*")
>     (set_attr "fp"   "*,*,*,yes,yes,*,*,*")]
>
>
> I don't think this matches up with your changelog entry.
> This isn't the *movdi_aarch64 pattern. From what I can see the 
> *movdi_aarch64 pattern
> already has the type neon_move on the movi\\t%d0, %1 alternative (the 
> last one).
>
> In fact, if I apply your patch using "patch -p1" I see it being 
> applied to the *movhf_aarch64 pattern.
> Is that what you intended?
>
> Thanks,
> Kyrill
>
>



More information about the Gcc-patches mailing list