On 21 May 2015 at 17:44, Jiong Wang <jiong.w...@arm.com> wrote:
>
> This patch add -mtls-size option for AArch64. This option let user to do
> finer control on code generation for various TLS model on AArch64.
>
> For example, for TLS LE, user can specify smaller tls-size, for example
> 4K which is quite usual, to let AArch64 backend generate more efficient
> instruction sequences.
>
> Currently, -mtls-size accept all integer, then will translate it into
> 12(4K), 24(16M), 32(4G), 48(256TB) based on the value.
>
> no functional change.
>
> ok for trunk?
>
> 2015-05-20  Jiong Wang  <jiong.w...@arm.com>
>
> gcc/
>   * config/aarch64/aarch64.opt (mtls-size): New entry.
>   * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
>   * doc/invoke.texi (AArch64 Options): Document -mtls-size.

+mtls-size=
+Target RejectNegative Joined UInteger Var(aarch64_tls_size) Init(24)
+Specifies size of the TLS data area, default size is 16M. Accept any
integer, but the value
+will be transformed into 12(4K), 24(16M), 32(4G), 48(256TB)
+

Can we follow the mechanism used by rs6000 and limit the accepted
values here using an Enum to just the valid values: 12, 24, 32, 48?

+@item -mtls-size=@var{size}
+@opindex mtls-size
+Specify the size of TLS area. You can specify smaller value to get better code
+generation for TLS variable access. Currently, we accept any integer, but will
+turn them into 12(4K), 24(16M), 32(4G), 48(256TB) according to the integer
+value.
+

How about:
"Specify bit size of immediate TLS offsets.  Valid values are 12, 24, 32, 48."

Thanks
/Marcus

Reply via email to