RFC: PATCH: Require and use int64 for x86 options
Joseph S. Myers
joseph@codesourcery.com
Wed Jul 27 21:37:00 GMT 2011
On Wed, 27 Jul 2011, H.J. Lu wrote:
> ; Maximum number of mask bits in a variable.
> MaxMaskBits
> ix86_isa_flags = 64
>
> It mark ix86_isa_flags as 64bit. Any comments?
The patch won't work as is. set_option, for example, casts a pointer to
(int *), and stores a mask that came from option->var_value, which is an
int, so this won't work with option fields not of type int or values that
don't fit in int; you'd need to check all uses of CLVC_BIT_CLEAR and
CLVC_BIT_SET in the source tree to adapt things for the possibility of
wider mask fields, and track the type of each such field.
Independently, I approve of setting need_64bit_hwint for all x86 targets,
but your patch doesn't achieve the expected simplification. In
config.gcc, there are settings for various individual targets that should
be removed once it's set in one place for all x86 targets. In
libcpp/configure.ac, similarly the cases for i[34567]86-*-darwin*
i[34567]86-*-solaris2.1[0-9]* x86_64-*-solaris2.1[0-9]*
i[34567]86-w64-mingw* i[34567]86-*-linux* (the last only if
--enable-targets=all) should all be removed as obsolete once
i[34567]86-*-* is there along with x86_64-*-*.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc
mailing list