Commit Graph

124505 Commits

Author SHA1 Message Date
Jan Hubicka
4f63dfc6ad lto-symtab.c (lto_cgraph_replace_node): Release function body.
* lto-symtab.c (lto_cgraph_replace_node): Release function body.
	* cgraph.c (cgraph_remove_node): Do not release function body
	when in cgraph streaming.
	* ipa.c (process_references, symtab_remove_unreachable_nodes): Objects
	in other partitions are not considered reachable; fix handling of clones.

From-SVN: r201242
2013-07-25 13:24:58 +00:00
Ramana Radhakrishnan
e6dcfa1832 Remove unnecessary space.
From-SVN: r201241
2013-07-25 12:50:14 +00:00
Ramana Radhakrishnan
0b93d3b685 Fix PR target/57731 PR target/57837
2013-07-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/19599
	PR target/57731
	PR target/57837
	* config/arm/arm.md ("*sibcall_value_insn): Replace use of
	Ss with US. Adjust output for v5 and v4t.
	(*sibcall_value_insn): Likewise and loosen predicate on
	operand0.
	* config/arm/constraints.md ("Ss"): Rename to US.

From-SVN: r201240
2013-07-25 09:40:11 +00:00
Janus Weil
67b1d0046b re PR fortran/57639 ([OOP] ICE with polymorphism (and illegal code))
2013-07-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/57639
	* interface.c (compare_parameter): Check for class_ok.
	* simplify.c (gfc_simplify_same_type_as): Ditto.

2013-07-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/57639
	* gfortran.dg/unlimited_polymorphic_9.f90: New.

From-SVN: r201239
2013-07-25 10:26:36 +02:00
Terry Guo
690688b3a0 arm.c (thumb1_size_rtx_costs): Assign proper cost for shift_add/shift_sub0/shift_sub1 RTXs.
gcc/ChangeLog:
2013-07-24  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm.c (thumb1_size_rtx_costs): Assign proper cost for
	shift_add/shift_sub0/shift_sub1 RTXs.

gcc/testsuite/ChangeLog:
2013-07-24  Terry Guo  <terry.guo@arm.com>

	* gcc.target/arm/thumb1-Os-mult.c: New test case.

From-SVN: r201237
2013-07-25 04:10:27 +00:00
Bill Schmidt
a4ad093b02 altivec.md (altivec_vpkpx): Handle little endian.
2013-07-24  Bill Schmidt  <wschmidt@linux.ibm.com>
	    Anton Blanchard <anton@au1.ibm.com>

	* config/rs6000/altivec.md (altivec_vpkpx): Handle little endian.
	(altivec_vpks<VI_char>ss): Likewise.
	(altivec_vpks<VI_char>us): Likewise.
	(altivec_vpku<VI_char>us): Likewise.
	(altivec_vpku<VI_char>um): Likewise.


Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>

From-SVN: r201235
2013-07-25 01:24:14 +00:00
Paolo Carlini
484b502a41 re PR libstdc++/57976 (Missing time_get<>::get() functions)
2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57976
	* doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
	time_get::do_get.

From-SVN: r201234
2013-07-25 00:46:46 +00:00
GCC Administrator
308f6084a6 Daily bump.
From-SVN: r201233
2013-07-25 00:16:50 +00:00
David Malcolm
8c5005ce36 Introduce context class.
2013-07-24  David Malcolm  <dmalcolm@redhat.com>

	Introduce context class.

	* Makefile.in (CONTEXT_H): New.
	(OBJS): Add context.o.
	(toplev.o): Add CONTEXT_H to dependencies.
	(context.o): New.

	* toplev.c (general_init): Create the singleton gcc::context
	instance.

	* context.c: New.

	* context.h: New.

From-SVN: r201230
2013-07-25 00:14:01 +00:00
Ian Lance Taylor
b0c5dc1655 runtime: Handle allocating memory in cgo/SWIG function.
A function that returns an interface type and returns a value
that requires memory allocation will try to allocate while
appearing to be in a syscall.  This patch lets that work.

From-SVN: r201226
2013-07-24 22:30:25 +00:00
Joern Rennecke
ce4a94223e re PR rtl-optimization/57968 (MODE_EXIT switches inserted too early)
PR rtl-optimization/57968
        * mode-switching.c (create_pre_exit): Allow instructions that
        don't set a return register to need a non-exit mode.

From-SVN: r201225
2013-07-24 21:12:49 +01:00
Ian Lance Taylor
f1e1872559 go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a fields...
* go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
	fields, recreate those fields with the first one with a non-zero
	size.

From-SVN: r201222
2013-07-24 18:25:51 +00:00
Ian Lance Taylor
08d22f9b41 runtime: Check _end rather than end to find end of program.
This fixes a problem on Solaris, where end is not defined in
the main program but comes from some shared library.  This
only matters for 32-bit targets.

From-SVN: r201220
2013-07-24 17:37:07 +00:00
Ian Lance Taylor
f735ce315f net: Only use GNU/Linux unix socket abstract paths on GNU/Linux.
From-SVN: r201217
2013-07-24 16:53:17 +00:00
Paolo Carlini
821f6f1b31 random.h (random_device): Avoid using the FILE type.
2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (random_device): Avoid using the FILE type.
	* include/std/random: Do not include <cstdio>.
	* src/c++11/random.cc: ... include it here.
	(random_device::_M_init, random_device::_M_fini,
	random_device::_M_getval): Cast back and forth void* and FILE*.

From-SVN: r201215
2013-07-24 15:42:06 +00:00
Tim Shen
37c74e2816 Reimplment matcher using Depth-first search(backtracking).
2013-07-24  Tim Shen  <timshen91@gmail.com>

	Reimplment matcher using Depth-first search(backtracking).
	PR libstdc++/53622
	PR libstdc++/57173
	* include/bits/regex.h: regex_match() and regex_search().
	* include/bits/regex_cursor.h: Fix _M_set_pos().
	* include/bits/regex_grep_matcher.h: add _M_dfs_match().
	* include/bits/regex_grep_matcher.tcc: Implement it.
	* testsuite/28_regex/algorithms/regex_match/extended/string_group_01.cc:
	New.
	* testsuite/28_regex/algorithms/regex_match/extended/string_group_02.cc:
	New.
	* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
	Remove xfail.

From-SVN: r201213
2013-07-24 14:39:54 +00:00
Ian Lance Taylor
c0f0119244 runtime: Move new 1.1.1 functions from thread-linux.c to runtime.c.
This way they are compiled on non-GNU/Linux systems.

From-SVN: r201209
2013-07-24 13:18:45 +00:00
Bill Schmidt
493f4c9e09 vector.md (vec_realign_load_<mode>): Reorder input operands to vperm for little endian.
2013-07-24  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
	    Anton Blanchard <anton@au1.ibm.com>

	* vector.md (vec_realign_load_<mode>): Reorder input operands to
	vperm for little endian.
	* rs6000.c (rs6000_expand_builtin): Use lvsr instead of lvsl to
	create the control mask for a vperm for little endian.


Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>

From-SVN: r201208
2013-07-24 13:17:31 +00:00
Ian Lance Taylor
017e07a118 net/http: Don't try to trace sendfile64 on alpha.
From Uros Bizjak.

From-SVN: r201206
2013-07-24 13:09:32 +00:00
Paolo Carlini
c9150e8bda 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
Tweak last ChangeLog entry.

From-SVN: r201202
2013-07-24 08:37:37 +00:00
Paolo Carlini
3f2d352c1d re PR c++/57942 (g++-4.8.1 tries to instantiate wrong constructor)
/cp
2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57942
	* typeck.c (ptr_reasonably_similar): Use COMPARE_STRICT if one of
	the target types is incomplete; return a bool, not an int.
	* cp-tree.h (ptr_reasonably_similar): Adjust declaration.

/testsuite
2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57942
	* g++.dg/inherit/pr57942.C: New.

From-SVN: r201201
2013-07-24 08:35:54 +00:00
Michael Eager
a5f257fdc1 Correct ChangeLog for 201185.
From-SVN: r201200
2013-07-24 00:19:58 +00:00
GCC Administrator
4ea3e59939 Daily bump.
From-SVN: r201199
2013-07-24 00:16:46 +00:00
Bill Schmidt
73792b9263 rs6000.c (altivec_expand_vec_perm_const): Reverse two operands for little-endian.
2013-07-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    Anton Blanchard <anton@au1.ibm.com>

	* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Reverse
	two operands for little-endian.


Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>

From-SVN: r201195
2013-07-23 22:36:04 +00:00
Steve Ellcey
14c21302b1 mips.c (mips_case_values_threshold): New.
2013-07-23  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mips.c (mips_case_values_threshold): New.
	(TARGET_CASE_VALUES_THRESHOLD): Define.

From-SVN: r201194
2013-07-23 22:34:10 +00:00
Bill Schmidt
a60561983f rs6000.c (altivec_expand_vec_perm_const): Correct selection of field for vector splat in little endian mode.
2013-07-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    Anton Blanchard <anton@au1.ibm.com>

	* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Correct
	selection of field for vector splat in little endian mode.


Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>

From-SVN: r201193
2013-07-23 22:30:58 +00:00
Ian Lance Taylor
9d824f6c8f log/syslog: Restore interface to make this work on Solaris again.
From-SVN: r201188
2013-07-23 21:23:27 +00:00
Michael Meissner
dd7a40e14c vector.md (xor<mode>3): Move 128-bit boolean expanders to rs6000.md.
[gcc]
2013-07-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/vector.md (xor<mode>3): Move 128-bit boolean
	expanders to rs6000.md.
	(ior<mode>3): Likewise.
	(and<mode>3): Likewise.
	(one_cmpl<mode>2): Likewise.
	(nor<mode>3): Likewise.
	(andc<mode>3): Likewise.
	(eqv<mode>3): Likewise.
	(nand<mode>3): Likewise.
	(orc<mode>3): Likewise.

	* config/rs6000/rs6000-protos.h (rs6000_split_logical): New
	declaration.

	* config/rs6000/rs6000.c (rs6000_split_logical_inner): Add support
	to split multi-word logical operations.
	(rs6000_split_logical_di): Likewise.
	(rs6000_split_logical): Likewise.

	* config/rs6000/vsx.md (VSX_L2): Delete, no longer used.
	(vsx_and<mode>3_32bit): Move 128-bit logical insns to rs6000.md,
	and allow TImode operations in 32-bit.
	(vsx_and<mode>3_64bit): Likewise.
	(vsx_ior<mode>3_32bit): Likewise.
	(vsx_ior<mode>3_64bit): Likewise.
	(vsx_xor<mode>3_32bit): Likewise.
	(vsx_xor<mode>3_64bit): Likewise.
	(vsx_one_cmpl<mode>2_32bit): Likewise.
	(vsx_one_cmpl<mode>2_64bit): Likewise.
	(vsx_nor<mode>3_32bit): Likewise.
	(vsx_nor<mode>3_64bit): Likewise.
	(vsx_andc<mode>3_32bit): Likewise.
	(vsx_andc<mode>3_64bit): Likewise.
	(vsx_eqv<mode>3_32bit): Likewise.
	(vsx_eqv<mode>3_64bit): Likewise.
	(vsx_nand<mode>3_32bit): Likewise.
	(vsx_nand<mode>3_64bit): Likewise.
	(vsx_orc<mode>3_32bit): Likewise.
	(vsx_orc<mode>3_64bit): Likewise.

	* config/rs6000/rs6000.h (VLOGICAL_REGNO_P): Always allow vector
	logical types in GPRs.

	* config/rs6000/altivec.md (altivec_and<mode>3): Move 128-bit
	logical insns to rs6000.md, and allow TImode operations in
	32-bit.
	(altivec_ior<mode>3): Likewise.
	(altivec_xor<mode>3): Likewise.
	(altivec_one_cmpl<mode>2): Likewise.
	(altivec_nor<mode>3): Likewise.
	(altivec_andc<mode>3): Likewise.

	* config/rs6000/rs6000.md (BOOL_128): New mode iterators and mode
	attributes for moving the 128-bit logical operations into
	rs6000.md.
	(BOOL_REGS_OUTPUT): Likewise.
	(BOOL_REGS_OP1): Likewise.
	(BOOL_REGS_OP2): Likewise.
	(BOOL_REGS_UNARY): Likewise.
	(BOOL_REGS_AND_CR0): Likewise.
	(one_cmpl<mode>2): Add support for DI logical operations on
	32-bit, splitting the operations to 32-bit.
	(anddi3): Likewise.
	(iordi3): Likewise.
	(xordi3): Likewise.
	(and<mode>3, 128-bit types): Rewrite 2013-06-06 logical operator
	changes to combine the 32/64-bit code, allow logical operations on
	TI mode in 32-bit, and to use similar match_operator patterns like
	scalar mode uses.  Combine the Altivec and VSX code for logical
	operations, and move it here.
	(ior<mode>3, 128-bit types): Likewise.
	(xor<mode>3, 128-bit types): Likewise.
	(one_cmpl<mode>3, 128-bit types): Likewise.
	(nor<mode>3, 128-bit types): Likewise.
	(andc<mode>3, 128-bit types): Likewise.
	(eqv<mode>3, 128-bit types): Likewise.
	(nand<mode>3, 128-bit types): Likewise.
	(orc<mode>3, 128-bit types): Likewise.
	(and<mode>3_internal): Likewise.
	(bool<mode>3_internal): Likewise.
	(boolc<mode>3_internal1): Likewise.
	(boolc<mode>3_internal2): Likewise.
	(boolcc<mode>3_internal1): Likewise.
	(boolcc<mode>3_internal2): Likewise.
	(eqv<mode>3_internal1): Likewise.
	(eqv<mode>3_internal2): Likewise.
	(one_cmpl1<mode>3_internal): Likewise.

[gcc/testsuite]
2013-07-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/bool2.h: New file, test the code generation
	of logical operations for power5, altivec, power7, and power8
	systems.
	* gcc.target/powerpc/bool2-p5.c: Likewise.
	* gcc.target/powerpc/bool2-av.c: Likewise.
	* gcc.target/powerpc/bool2-p7.c: Likewise.
	* gcc.target/powerpc/bool2-p8.c: Likewise.
	* gcc.target/powerpc/bool3.h: Likewise.
	* gcc.target/powerpc/bool3-av.c: Likewise.
	* gcc.target/powerpc/bool2-p7.c: Likewise.
	* gcc.target/powerpc/bool2-p8.c: Likewise.

From-SVN: r201187
2013-07-23 21:19:03 +00:00
David Holsgrove
9b69d4b4b1 microblaze.c (microblaze_expand_prologue): Rename flag_stack_usage to flag_stack_usage_info.
* config/microblaze/microblaze.c (microblaze_expand_prologue):
	Rename flag_stack_usage to flag_stack_usage_info.

From-SVN: r201186
2013-07-23 21:15:21 +00:00
David Holsgrove
450b0ebbc0 microblaze.c: Add microblaze_asm_output_mi_thunk and define TARGET_ASM_OUTPUT_MI_THUNK and...
* config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
	and define TARGET_ASM_OUTPUT_MI_THUNK and
	TARGET_ASM_CAN_OUTPUT_MI_THUNK.

From-SVN: r201185
2013-07-23 21:09:50 +00:00
Ian Lance Taylor
da8091da1b net: Remove Solaris-specific version of listenerSockaddr.
Solaris will use the version in sock_unix.go.

From-SVN: r201183
2013-07-23 20:38:49 +00:00
Ian Lance Taylor
6212cdcdf7 runtime: Declare epoll_create1 if necessary.
From-SVN: r201181
2013-07-23 20:32:26 +00:00
Ian Lance Taylor
7acd2b86bf runtime: Support cgo callbacks from threads started by C.
This adjusts the extram support to work with gccgo.  There are
some corresponding changes to cgo in
https://codereview.appspot.com/11406047/ .

From-SVN: r201179
2013-07-23 20:26:09 +00:00
Joseph Myers
fb48aadc78 * c-parser.c (struct c_generic_association): Fix typo.
From-SVN: r201178
2013-07-23 21:17:52 +01:00
Eric Botcazou
49fba14fe7 * doc/invoke.texi (SPARC Options): Document new leon3 processor value.
From-SVN: r201177
2013-07-23 18:11:07 +00:00
Ian Lance Taylor
14e5c7e5fd go-backend.c: Don't #include "rtl.h".
* go-backend.c: Don't #include "rtl.h".
	(go_imported_unsafe): Don't call init_varasm_once.
	* Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).

From-SVN: r201176
2013-07-23 16:14:13 +00:00
Yufeng Zhang
f6820c2893 [AArch64, ILP32] Add change to gcc.target/aarch64/vect_smlal_1.c that was missed from the previous commit (r201166).
From-SVN: r201175
2013-07-23 16:09:50 +00:00
Po-Chun Chang
c7b3b99f31 reload.c (find_reloads): Exit loop once we find this operand cannot be reloaded somehow for this alternative.
2013-07-22  Po-Chun Chang  <pchang9@cs.wisc.edu>

	* reload.c (find_reloads): Exit loop once we find this operand
	cannot be reloaded somehow for this alternative.

	* reload.c (find_reloads): Exit loop once we find a hard register.

	* rtlanal.c (computed_jump_p): Exit loop once we find label
	reference is used.

	* i386.c (ix86_pad_returns): Exit loop after setting replace.

	* cfgloopmanip.c (remove_path): Exit loop after setting
	irred_invalidated.

	* gensupport.c (subst_dup): Avoid loop if code is not
	MATCH_DUP nor MATCH_OP_DUP.

From-SVN: r201174
2013-07-23 09:56:37 -06:00
Nicklas Bo Jensen
c8fbf1fafa md.texi (Machine-Specific Peephole Optimizers): Fix a typo.
2013-07-23  Nicklas Bo Jensen  <nbjensen@gmail.com>

	* doc/md.texi (Machine-Specific Peephole Optimizers): Fix a
	typo.

From-SVN: r201173
2013-07-23 09:39:45 -06:00
Ian Lance Taylor
5bd8639aab go-lang.c: Don't #include "except.h".
* go-lang.c: Don't #include "except.h".
	* Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).

From-SVN: r201171
2013-07-23 13:46:26 +00:00
Yufeng Zhang
9259db4281 [AArch64, ILP32] 6/6 Add support for "wsp" register.
gcc/

	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Also return
	true for SP_REGNUM if mode == ptr_mode.
	* config/aarch64/aarch64.h (ADDITIONAL_REGISTER_NAMES): Add "wsp"
	with value R0_REGNUM + 31.

From-SVN: r201170
2013-07-23 12:33:14 +00:00
Tim Shen
407a0fa3a4 Implement regex_iterator and regex_token_iterator.
2013-07-23  Tim Shen  <timshen91@gmail.com>

	Implement regex_iterator and regex_token_iterator.
	* include/bits/regex.h: regex_iterator and regex_token_iterator.
	* testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
	New.
	* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
	New.
	* testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
	New.
	* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc:
	New.

From-SVN: r201169
2013-07-23 12:31:51 +00:00
Yufeng Zhang
00edcfbe01 [AArch64, ILP32] 5/6 Pad pointer-typed stack argument downward in ILP32.
gcc/

	* config/aarch64/aarch64.c (aarch64_pad_arg_upward): In big-endian,
	pad pointer-typed argument downward.

gcc/testsuite/

	* gcc.target/aarch64/test-ptr-arg-on-stack-1.c: New test.

From-SVN: r201168
2013-07-23 12:29:51 +00:00
Yufeng Zhang
43be9a95d9 [AArch64, ILP32] 4/6 Define _ILP32 and __ILP32__.
gcc/

	* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define _ILP32
	and __ILP32__ when the ILP32 model is in use.

From-SVN: r201167
2013-07-23 12:26:33 +00:00
Yufeng Zhang
527b11f91d [AArch64, ILP32] 3/6 Change tests to be ILP32-friendly.
gcc/testsuite/

	* gcc.dg/20020219-1.c: Skip the test on aarch64*-*-* in ilp32.
	* gcc.target/aarch64/aapcs64/test_18.c (struct y): Change the field
	type from long to long long.
	* gcc.target/aarch64/atomic-op-long.c: Update dg-final directives
	to have effective-target keywords of lp64 and ilp32.
	* gcc.target/aarch64/fcvt_double_int.c: Likewise.
	* gcc.target/aarch64/fcvt_double_long.c: Likewise.
	* gcc.target/aarch64/fcvt_double_uint.c: Likewise.
	* gcc.target/aarch64/fcvt_double_ulong.c: Likewise.
	* gcc.target/aarch64/fcvt_float_int.c: Likewise.
	* gcc.target/aarch64/fcvt_float_long.c: Likewise.
	* gcc.target/aarch64/fcvt_float_uint.c: Likewise.
	* gcc.target/aarch64/fcvt_float_ulong.c: Likewise.
	* gcc.target/aarch64/vect_smlal_1.c: Replace 'long' with 'long long'.

From-SVN: r201166
2013-07-23 12:23:05 +00:00
Yufeng Zhang
28514ddab4 [AArch64, ILP32] 2/6 More backend changes and support for small absolute and
small PIC addressing models

gcc/

	* config/aarch64/aarch64.c (POINTER_BYTES): New define.
	(aarch64_load_symref_appropriately): In the case of
	SYMBOL_SMALL_ABSOLUTE, use the mode of 'dest' instead of Pmode
	to generate new rtx; likewise to the case of SYMBOL_SMALL_GOT.
	(aarch64_expand_mov_immediate): In the case of SYMBOL_FORCE_TO_MEM,
	change to pass 'ptr_mode' to force_const_mem and zero-extend 'mem'
	if 'mode' doesn't equal to 'ptr_mode'.
	(aarch64_output_mi_thunk): Add an assertion on the alignment of
	'vcall_offset'; change to call aarch64_emit_move differently depending
	on whether 'Pmode' equals to 'ptr_mode' or not; use 'POINTER_BYTES'
	to calculate the upper bound of 'vcall_offset'.
	(aarch64_cannot_force_const_mem): Change to also return true if
	mode != ptr_mode.
	(aarch64_legitimize_reload_address): In the case of large
	displacements, add new local variable 'xmode' and an assertion
	based on it; change to use 'xmode' to generate the new rtx and
	reload.
	(aarch64_asm_trampoline_template): Change to generate the template
	differently depending on TARGET_ILP32 or not; change to use
	'POINTER_BYTES' in the argument passed to assemble_aligned_integer.
	(aarch64_trampoline_size): Removed.
	(aarch64_trampoline_init): Add new local constant 'tramp_code_sz'
	and replace immediate literals with it.  Change to use 'ptr_mode'
	instead of 'DImode' and call convert_memory_address if the mode
	of 'fnaddr' doesn't equal to 'ptr_mode'.
	(aarch64_elf_asm_constructor): Change to use assemble_aligned_integer
	to output symbol.
	(aarch64_elf_asm_destructor): Likewise.
	* config/aarch64/aarch64.h (TRAMPOLINE_SIZE): Change to be dependent
	on TARGET_ILP32 instead of aarch64_trampoline_size.
	* config/aarch64/aarch64.md (movsi_aarch64): Add new alternatives
	of 'mov' between WSP and W registers as well as 'adr' and 'adrp'.
	(loadwb_pair<GPI:mode>_<PTR:mode>): Rename to ...
	(loadwb_pair<GPI:mode>_<P:mode>): ... this.  Replace PTR with P.
	(storewb_pair<GPI:mode>_<PTR:mode>): Likewise; rename to ...
	(storewb_pair<GPI:mode>_<P:mode>): ... this.
	(add_losym): Change to 'define_expand' and call gen_add_losym_<mode>
	depending on the value of 'mode'.
	(add_losym_<mode>): New.
	(ldr_got_small_<mode>): New, based on ldr_got_small.
	(ldr_got_small): Remove.
	(ldr_got_small_sidi): New.
	* config/aarch64/iterators.md (P): New.
	(PTR): Change to 'ptr_mode' in the condition.

From-SVN: r201165
2013-07-23 12:20:05 +00:00
Yufeng Zhang
17a819cb0d [AArch64, ILP32] 1/6 Initial support - configury changes
gcc/
	* config.gcc (aarch64*-*-*): Support --with-abi.
	(aarch64*-*-elf): Support --with-multilib-list.
	(aarch64*-*-linux*): Likewise.
	(supported_defaults): Add abi to aarch64*-*-*.
	* configure.ac: Mention AArch64 for --with-multilib-list.
	* configure: Re-generated.
	* config/aarch64/biarchilp32.h: New file.
	* config/aarch64/biarchlp64.h: New file.
	* config/aarch64/aarch64-elf.h (ENDIAN_SPEC): New define.
	(ABI_SPEC): Ditto.
	(MULTILIB_DEFAULTS): Ditto.
	(DRIVER_SELF_SPECS): Ditto.
	(ASM_SPEC): Update to also substitute -mabi.
	* config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Add linker script
	file whose name depends on -mabi= and -mbig-endian.
	* config/aarch64/aarch64.h (LONG_TYPE_SIZE): Change to depend on
	TARGET_ILP32.
	(POINTER_SIZE): New define.
	(POINTERS_EXTEND_UNSIGNED): Ditto.
	(enum aarch64_abi_type): New enumeration tag.
	(AARCH64_ABI_LP64, AARCH64_ABI_ILP32): New enumerators.
	(AARCH64_ABI_DEFAULT): Define to AARCH64_ABI_LP64 if undefined.
	(TARGET_ILP32): New define.
	* config/aarch64/aarch64.opt (mabi): New.
	(aarch64_abi): New.
	(ilp32, lp64): New values for -mabi.
	* config/aarch64/t-aarch64 (comma): New define.
	(MULTILIB_OPTIONS): Ditto.
	(MULTILIB_DIRNAMES): Ditto.
	* config/aarch64/t-aarch64-linux (MULTIARCH_DIRNAME): New define.
	* doc/invoke.texi: Document -mabi for AArch64.

From-SVN: r201164
2013-07-23 12:12:53 +00:00
Georg-Johann Lay
9f9cbdcea6 avr.md: Explain asm print modifier 'r' for REG.
* config/avr/avr.md: Explain asm print modifier 'r' for REG.

From-SVN: r201163
2013-07-23 11:45:57 +00:00
Ondřej Bílka
6bd2c800d5 decl.c: Fix comment typos.
2013-07-23   Ondřej Bílka  <neleai@seznam.cz>

        * decl.c: Fix comment typos.
        * interface.c: Likewise.
        * trans-array.c: Likewise.
        * trans.c: Likewise.

From-SVN: r201162
2013-07-23 13:39:41 +02:00
Uros Bizjak
d7172355ef fpu-387.h (get_fpu_rounding_mode): Read rounding mode from SSE mxcsr register on x86_64.
* config/fpu-387.h (get_fpu_rounding_mode): Read rounding mode
	from SSE mxcsr register on x86_64.

From-SVN: r201161
2013-07-23 11:45:30 +02:00