[PATCH][ARM][1/7] Convert FP mnemonics to UAL | mov patterns

Christophe Lyon christophe.lyon@linaro.org
Wed Sep 10 08:41:00 GMT 2014


Hi,


On 9 September 2014 13:02, Ramana Radhakrishnan
<ramana.gcc@googlemail.com> wrote:
> On Tue, Aug 19, 2014 at 4:22 PM, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
>> Hi all,
>>
>> In this patch the move patterns are updated.
>> For the fconst case where the constant is encoded in a decimal
>> representation before going into the immediate field of the assembly
>> instruction UAL syntax allows for the real operand to be output directly
>> and leaves the assembler to do the encoding.
>> This simplifies the logic in arm_print_operand a bit.
>>
>> fp_immediate_constant is deleted and it seems that the function was not
>> meant to be used anyway (it returned "0" for all inputs!)
>>
>> Ok for trunk?
>
> Ok.
>
> Ramana
>

I've noticed that your patch makes
gcc.target/arm/memset-inline-5.c
fail when the compiler generates code for a57 + crypto-neon-fp-armv8.

Passed now fails          [PASS => FAIL]:
  gcc.target/arm/memset-inline-5.c scan-assembler-not vstr

You can have a look at:
http://cbuild.validation.linaro.org/build/cross-validation/gcc/trunk/215050/report-build-info.html
(search for the a57 lines)

(The other lines marked as regressions can be ignored: they are caused
by your changes in the tests output, I not yet able to associate the
new pass with the new fail)

Thanks,

Christophe.

>>
>> Thanks,
>> Kyrill
>>
>> 2014-08-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>>
>>      * config/arm/arm.c (output_move_vfp): Use UAL syntax for load/store
>>      multiple.
>>      (arm_print_operand): Don't convert real values to decimal
>>      representation in default case.
>>      (fp_immediate_constant): Delete.
>>      * config/arm/arm-protos.h (fp_immediate_constant): Likewise.
>>      * config/arm/vfp.md (*arm_movsi_vfp): Convert to VFP moves to UAL
>>      syntax.
>>      (*thumb2_movsi_vfp): Likewise.
>>      (*movdi_vfp): Likewise.
>>      (*movdi_vfp_cortexa8): Likewise.
>>      (*movhf_vfp_neon): Likewise.
>>      (*movhf_vfp): Likewise.
>>      (*movsf_vfp): Likewise.
>>      (*thumb2_movsf_vfp): Likewise.
>>      (*movdf_vfp): Likewise.
>>      (*thumb2_movdf_vfp): Likewise.
>>      (*movsfcc_vfp): Likewise.
>>      (*thumb2_movsfcc_vfp): Likewise.
>>      (*movdfcc_vfp): Likewise.
>>      (*thumb2_movdfcc_vfp): Likewise.
>>
>> 2014-08-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>>
>>      * gcc.target/arm/pr51835.c: Update expected assembly.
>>      * gcc.target/arm/vfp-1.c: Likewise.
>>      * gcc.target/arm/vfp-ldmdbd.c: Likewise.
>>      * gcc.target/arm/vfp-ldmdbs.c: Likewise.
>>      * gcc.target/arm/vfp-ldmiad.c: Likewise.
>>      * gcc.target/arm/vfp-ldmias.c: Likewise.
>>      * gcc.target/arm/vfp-stmdbd.c: Likewise.
>>      * gcc.target/arm/vfp-stmdbs.c: Likewise.
>>      * gcc.target/arm/vfp-stmiad.c: Likewise.
>>      * gcc.target/arm/vfp-stmias.c: Likewise.



More information about the Gcc-patches mailing list