public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch, ARM] require 64-bit hw-int for all arm targets
@ 2013-07-30 16:16 Richard Earnshaw
  2013-08-07  0:26 ` Joseph S. Myers
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Earnshaw @ 2013-07-30 16:16 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 452 bytes --]

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.

[-- Attachment #2: config.patch --]
[-- Type: text/plain, Size: 1722 bytes --]

--- 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"

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [patch, ARM] require 64-bit hw-int for all arm targets
  2013-07-30 16:16 [patch, ARM] require 64-bit hw-int for all arm targets Richard Earnshaw
@ 2013-08-07  0:26 ` Joseph S. Myers
  2013-08-07 13:52   ` Richard Earnshaw
  0 siblings, 1 reply; 3+ messages in thread
From: Joseph S. Myers @ 2013-08-07  0:26 UTC (permalink / raw)
  To: Richard Earnshaw; +Cc: gcc-patches

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
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [patch, ARM] require 64-bit hw-int for all arm targets
  2013-08-07  0:26 ` Joseph S. Myers
@ 2013-08-07 13:52   ` Richard Earnshaw
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Earnshaw @ 2013-08-07 13:52 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 897 bytes --]

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  <rearnsha@arm.com>

	* configure.ac: Set need_64bit_hwint for all arm targets.
	* configure: Regenerated.


[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 569 bytes --]

--- 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*-*-* | \

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-08-07 13:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-30 16:16 [patch, ARM] require 64-bit hw-int for all arm targets Richard Earnshaw
2013-08-07  0:26 ` Joseph S. Myers
2013-08-07 13:52   ` Richard Earnshaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).