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.