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.w...@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.


Reply via email to