This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ping]Re: [AArch64] Simplify TLS pattern by hardcoding relocation modifiers into pattern




On 10/09/15 12:28, Jiong Wang wrote:
TLS instruction sequences are always with fixed format, there is no need
to use operand modifier, we can hardcode the relocation modifiers into
instruction pattern, all those redundant checks in aarch64_print_operand
can be removed.

OK for trunk?

2015-09-10  Jiong Wang  <jiong.wang@arm.com>

gcc/
   * config/aarch64/aarch64.md (ldr_got_tiny): Hardcode relocation
   modifers.
   (tlsgd_small): Likewise.
   (tlsgd_tiny): Likewise.
   (tlsie_small_<mode>): Likewise.
   (tlsie_small_sidi): Likewise.
   (tlsie_tiny_<mode>): Likewise.
   (tlsie_tiny_sidi): Likewise.
   (tlsle12_<mode>): Likewise.
   (tlsle24_<mode>): Likewise.
   (tlsdesc_small_<mode>): Likewise.
   (tlsdesc_small_pseudo_<mode>): Likewise.
   (tlsdesc_tiny_<mode>): Likewise.
   (tlsdesc_tiny_pseudo_<mode>): Likewise.
   * config/aarch64/aarch64.c (aarch64_print_operand): Delete useless
   check on 'A', 'L', 'G'.

Ping ~

There is no functional change by this patch, but just cleanup of those
unnecessary use of output modifiers.

All these instruction sequences are always with fixed format, we can just
hardcode the relocation modifiers into instruction patterns, then all those
redundant checks in aarch64_print_operand can be removed.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]