[patch, ARM] require 64-bit hw-int for all arm targets

2013-07-30 Thread Richard Earnshaw
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

2013-08-06 Thread Joseph S. Myers
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

2013-08-07 Thread Richard Earnshaw
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*-*-* | \