[patch, ARM] require 64-bit hw-int for all arm targets
Most arm target configs now require a 64-bit HW-int. Unfortunately a few of the older, less commonly used config targets do not. The code in arm.c now pretty much requires that a 64-bit HW-int is used, especially for vectorization to work. This patch makes 64-bit HW-int the default for all arm configs and cleans up the configure script accordingly. * config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs. R.--- gcc/config.gcc (revision 201327) +++ gcc/config.gcc (local) @@ -330,6 +330,7 @@ arm*-*-*) target_type_format_char='%' c_target_objs="arm-c.o" cxx_target_objs="arm-c.o" + need_64bit_hwint=yes extra_options="${extra_options} arm/arm-tables.opt" ;; avr-*-*) @@ -943,10 +944,6 @@ arm*-*-linux-*)# ARM GNU/Linux with E tmake_file="$tmake_file arm/t-linux-androideabi" ;; esac - # The BPABI long long divmod functions return a 128-bit value in - # registers r0-r3. Correctly modeling that requires the use of - # TImode. - need_64bit_hwint=yes # The EABI requires the use of __cxa_atexit. default_use_cxa_atexit=yes with_tls=${with_tls:-gnu} @@ -955,10 +952,6 @@ arm*-*-uclinux*eabi*) # ARM ucLinux tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h" tmake_file="arm/t-arm arm/t-arm-elf arm/t-bpabi" tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h" - # The BPABI long long divmod functions return a 128-bit value in - # registers r0-r3. Correctly modeling that requires the use of - # TImode. - need_64bit_hwint=yes # The EABI requires the use of __cxa_atexit. default_use_cxa_atexit=yes ;; @@ -967,10 +960,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm* arm*eb-*-eabi*) tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" esac - # The BPABI long long divmod functions return a 128-bit value in - # registers r0-r3. Correctly modeling that requires the use of - # TImode. - need_64bit_hwint=yes default_use_cxa_atexit=yes tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" tmake_file="arm/t-arm arm/t-arm-elf"
Re: [patch, ARM] require 64-bit hw-int for all arm targets
On Tue, 30 Jul 2013, Richard Earnshaw wrote: > Most arm target configs now require a 64-bit HW-int. Unfortunately a few of > the older, less commonly used config targets do not. The code in arm.c now > pretty much requires that a 64-bit HW-int is used, especially for > vectorization to work. > > This patch makes 64-bit HW-int the default for all arm configs and cleans up > the configure script accordingly. > > * config.gcc (arm): Require 64-bit host-wide-int for all ARM > target configs. The configuration in libcpp/configure.ac of which targets need 64-bit HOST_WIDE_INT always needs to be kept in sync with that in gcc/config.gcc. -- Joseph S. Myers jos...@codesourcery.com
Re: [patch, ARM] require 64-bit hw-int for all arm targets
On 07/08/13 01:25, Joseph S. Myers wrote: > On Tue, 30 Jul 2013, Richard Earnshaw wrote: > >> Most arm target configs now require a 64-bit HW-int. Unfortunately a few of >> the older, less commonly used config targets do not. The code in arm.c now >> pretty much requires that a 64-bit HW-int is used, especially for >> vectorization to work. >> >> This patch makes 64-bit HW-int the default for all arm configs and cleans up >> the configure script accordingly. >> >> * config.gcc (arm): Require 64-bit host-wide-int for all ARM >> target configs. > > The configuration in libcpp/configure.ac of which targets need 64-bit > HOST_WIDE_INT always needs to be kept in sync with that in gcc/config.gcc. > Oops. Fixed thusly: 2013-08-07 Richard Earnshaw * configure.ac: Set need_64bit_hwint for all arm targets. * configure: Regenerated. --- configure (revision 201547) +++ configure (local) @@ -7152,9 +7152,7 @@ fi case $target in aarch64*-*-* | \ alpha*-*-* | \ - arm*-*-*eabi* | \ - arm*-*-rtems* | \ - arm*-*-symbianelf* | \ + arm*-*-* | \ x86_64-*-* | \ ia64-*-* | \ hppa*64*-*-* | \ --- configure.ac(revision 201547) +++ configure.ac(local) @@ -184,9 +184,7 @@ m4_changequote(,) case $target in aarch64*-*-* | \ alpha*-*-* | \ - arm*-*-*eabi* | \ - arm*-*-rtems* | \ - arm*-*-symbianelf* | \ + arm*-*-* | \ x86_64-*-* | \ ia64-*-* | \ hppa*64*-*-* | \