Allan Sandfeld Jensen
74924838e8
re PR target/59422 (Support more targets for function multi versioning)
...
gcc/
2013-12-25 Allan Sandfeld Jensen <sandfeld@kde.org>
H.J. Lu <hongjiu.lu@intel.com>
PR target/59422
* config/i386/i386.c (get_builtin_code_for_version): Handle
PROCESSOR_HASWELL, PROCESSOR_SILVERMONT, PROCESSOR_BTVER1,
PROCESSOR_BTVER2, PROCESSOR_BDVER3 and PROCESSOR_BDVER4.
Change priority of PROCESSOR_BDVER1 to P_PROC_XOP.
(fold_builtin_cpu): Add "ivybridge", "haswell", "bonnell",
"silvermont", "bobcat" and "jaguar" CPU names. Add "sse4a",
"fma4", "xop" and "fma" ISA names.
libgcc/
2013-12-25 Allan Sandfeld Jensen <sandfeld@kde.org>
H.J. Lu <hongjiu.lu@intel.com>
PR target/59422
* config/i386/cpuinfo.c (enum processor_types): Add AMD_BOBCAT
and AMD_JAGUAR.
(enum processor_subtypes): Add AMDFAM15H_BDVER3, AMDFAM15H_BDVER4,
INTEL_COREI7_IVYBRIDGE and INTEL_COREI7_HASWELL.
(enum processor_features): Add FEATURE_SSE4_A, FEATURE_FMA4,
FEATURE_XOP and FEATURE_FMA.
(get_amd_cpu): Handle AMD_BOBCAT, AMD_JAGUAR, AMDFAM15H_BDVER2 and
AMDFAM15H_BDVER3.
(get_intel_cpu): Handle INTEL_COREI7 and INTEL_COREI7_HASWELL.
(get_available_features): Handle FEATURE_FMA, FEATURE_SSE4_A,
FEATURE_FMA4 and FEATURE_XOP.
testsuite/
2013-12-25 Allan Sandfeld Jensen <sandfeld@kde.org>
PR target/59422
* gcc.target/i386/funcspec-5.c (test_fma, test_xop, test_no_fma,
test_no_xop, test_arch_corei7, test_arch_corei7_avx,
test_arch_core_avx2, test_arch_bdver1, test_arch_bdver2,
test_arch_bdver3, test_tune_corei7, test_tune_corei7_avx,
test_tune_core_avx2, test_tune_bdver1, test_tune_bdver2 and
test_tune_bdver3): New function prototypes.
From-SVN: r206200
2013-12-25 23:22:24 +01:00
GCC Administrator
80d69d3a85
Daily bump.
...
From-SVN: r206199
2013-12-25 00:16:54 +00:00
H.J. Lu
50a1f11183
Check opts->x_ix86_arch_string
...
* config/i386/i386.c (ix86_option_override_internal): Check
opts->x_ix86_arch_string instead of ix86_arch_string.
From-SVN: r206196
2013-12-24 12:12:47 -08:00
Renlin Li
c75d51aa81
arm-protos.h (vfp_const_double_for_bits): Declare.
...
gcc/
2013-12-24 Renlin Li <Renlin.Li@arm.com>
* config/arm/arm-protos.h (vfp_const_double_for_bits): Declare.
* config/arm/constraints.md (Dp): Define new constraint.
* config/arm/predicates.md (const_double_vcvt_power_of_two): Define
new predicate.
* config/arm/arm.c (arm_print_operand): Add print for new fucntion.
(vfp3_const_double_for_bits): New function.
* config/arm/vfp.md (combine_vcvtf2i): Define new instruction.
gcc/testsuite/
2013-12-24 Renlin Li <Renlin.Li@arm.com>
* gcc.target/arm/fixed_float_conversion.c: New test case.
From-SVN: r206195
2013-12-24 15:34:30 +00:00
Jason Merrill
8bebb9532b
re PR c++/59271 (a.C:16:21: internal compiler error: in strip_typedefs, at cp/tree.c:1315)
...
PR c++/59271
* lambda.c (build_capture_proxy): Use build_cplus_array_type.
From-SVN: r206193
2013-12-23 23:22:23 -05:00
Jason Merrill
8fc13bad8e
re PR c++/59349 (ICE on invalid: Segmentation fault toplev.c:336)
...
PR c++/59349
* parser.c (cp_parser_lambda_introducer): Handle empty init.
From-SVN: r206192
2013-12-23 23:22:15 -05:00
GCC Administrator
fcccec5672
Daily bump.
...
From-SVN: r206191
2013-12-24 00:16:59 +00:00
Hans-Peter Nilsson
c09c8f7054
re PR target/59203 (config/cris/cris.c:2491: possible typo ?)
...
PR target/59203
* config/cris/cris.c (cris_pic_symbol_type_of): Fix typo,
checking t1 twice instead of t1 and t2 respectively.
From-SVN: r206188
2013-12-23 23:12:09 +00:00
Hans-Peter Nilsson
a13a866e54
re PR middle-end/59584 (regressions related to __builtin_stack_restore)
...
PR middle-end/59584
* config/cris/predicates.md (cris_nonsp_register_operand):
New define_predicate.
* config/cris/cris.md: Replace register_operand with
cris_nonsp_register_operand for destinations in all
define_splits where a register is set more than once.
From-SVN: r206187
2013-12-23 22:33:52 +00:00
Jason Merrill
2a0da5ad16
* gdbinit.in (input_line, input_filename): Define.
...
From-SVN: r206183
2013-12-23 12:51:03 -05:00
Jason Merrill
1f26ac8748
re PR c++/41090 (Using static label reference in c++ class constructor produces wrong code)
...
PR c++/41090
Add -fdeclone-ctor-dtor.
gcc/cp/
* optimize.c (can_alias_cdtor, populate_clone_array): Split out
from maybe_clone_body.
(maybe_thunk_body): New function.
(maybe_clone_body): Call it.
* mangle.c (write_mangled_name): Remove code to suppress
writing of mangled name for cloned constructor or destructor.
(write_special_name_constructor): Handle decloned constructor.
(write_special_name_destructor): Handle decloned destructor.
* method.c (trivial_fn_p): Handle decloning.
* semantics.c (expand_or_defer_fn_1): Clone after setting linkage.
gcc/c-family/
* c.opt: Add -fdeclone-ctor-dtor.
* c-opts.c (c_common_post_options): Default to on iff -Os.
gcc/
* cgraph.h (struct cgraph_node): Add calls_comdat_local.
(symtab_comdat_local_p, symtab_in_same_comdat_p): New.
* cif-code.def: Add USES_COMDAT_LOCAL.
* symtab.c (verify_symtab_base): Make sure we don't refer to a
comdat-local symbol from outside its comdat.
* cgraph.c (verify_cgraph_node): Likewise.
* cgraphunit.c (mark_functions_to_output): Don't mark comdat-locals.
* ipa.c (symtab_remove_unreachable_nodes): Likewise.
(function_and_variable_visibility): Handle comdat-local fns.
* ipa-cp.c (determine_versionability): Don't clone comdat-locals.
* ipa-inline-analysis.c (compute_inline_parameters): Update
calls_comdat_local.
* ipa-inline-transform.c (inline_call): Likewise.
(save_inline_function_body): Don't clear DECL_COMDAT_GROUP.
* ipa-inline.c (can_inline_edge_p): Check calls_comdat_local.
* lto-cgraph.c (input_overwrite_node): Read calls_comdat_local.
(lto_output_node): Write it.
* symtab.c (symtab_dissolve_same_comdat_group_list): Clear
DECL_COMDAT_GROUP for comdat-locals.
include/
* demangle.h (enum gnu_v3_ctor_kinds):
Added literal gnu_v3_unified_ctor.
(enum gnu_v3_ctor_kinds):
Added literal gnu_v3_unified_dtor.
libiberty/
* cp-demangle.c (cplus_demangle_fill_ctor,cplus_demangle_fill_dtor):
Handle unified ctor/dtor.
(d_ctor_dtor_name): Handle unified ctor/dtor.
From-SVN: r206182
2013-12-23 12:49:47 -05:00
Bingfeng Mei
266d276c4e
vect-neg-store-1.c: New test.
...
2013-12-23 Bingfeng Mei <bmei@broadcom.com>
* gcc.dg/vect/vect-neg-store-1.c: New test.
* gcc.dg/vect/vect-neg-store-2.c: Ditto.
From-SVN: r206181
2013-12-23 17:22:30 +00:00
H.J. Lu
7c2539fc5a
Move Bonnell and Silvermont entries before generic
...
* config/i386/i386.c (processor_target_table): Move Bonnell and
Silvermont entries before generic.
From-SVN: r206180
2013-12-23 09:11:00 -08:00
Bingfeng Mei
f234d26028
re PR middle-end/59569 (r206148 causes internal compiler error: in vect_create_destination_var, at tree-vect-data-refs.c:4294)
...
2013-12-23 Bingfeng Mei <bmei@broadcom.com>
PR middle-end/59569
* tree-vect-stmts.c (vectorizable_store): Skip permutation for
consant operand, and add a few missing \n.
* gcc.c-torture/compile/pr59569-1.c: New test.
* gcc.c-torture/compile/pr59569-2.c: Ditto.
From-SVN: r206179
2013-12-23 15:07:58 +00:00
H.J. Lu
d3c1197403
Use proper Intel processor names for -march=/-mtune=
...
gcc/
* config/i386/core2.md: Replace corei7 with nehalem.
* config/i386/driver-i386.c (host_detect_local_cpu): Use nehalem,
westmere, sandybridge, ivybridge, haswell, bonnell, silvermont
for cpu names.
* config/i386/i386-c.c (ix86_target_macros_internal): Replace
PROCESSOR_COREI7, PROCESSOR_COREI7_AVX, PROCESSOR_ATOM,
PROCESSOR_SLM with PROCESSOR_NEHALEM, PROCESSOR_SANDYBRIDGE,
PROCESSOR_BONNELL, PROCESSOR_SILVERMONT. Define
__nehalem/__nehalem__, __sandybridge/__sandybridge__,
__haswell/__haswell__, __tune_nehalem__, __tune_sandybridge__,
__tune_haswell__, __bonnell/__bonnell__,
__silvermont/__silvermont__, __tune_bonnell__,
__tune_silvermont__.
* config/i386/i386.c (m_COREI7): Renamed to ...
(m_NEHALEM): This.
(m_COREI7_AVX): Renamed to ...
(m_SANDYBRIDGE): This.
(m_ATOM): Renamed to ...
(m_BONNELL): This.
(m_SLM): Renamed to ...
(m_SILVERMONT): This.
(m_CORE_ALL): Updated.
(cpu_names): Add "nehalem", "westmere", "sandybridge",
"ivybridge", "haswell", "broadwell", "bonnell", "silvermont".
(PTA_CORE2): New.
(PTA_NEHALEM): Likewise.
(PTA_WESTMERE): Likewise.
(PTA_SANDYBRIDGE): Likewise.
(PTA_IVYBRIDGE): Likewise.
(PTA_HASWELL): Likewise.
(PTA_BROADWELL): Likewise.
(PTA_BONNELL): Likewise.
(PTA_SILVERMONT): Likewise.
(ix86_option_override_internal): Use new PTA_XXX. Add nehalem,
westmere, sandybridge, ivybridge, haswell, bonnell, silvermont.
(ix86_lea_outperforms): Updated.
(ix86_issue_rate): Likewise.
(ix86_adjust_cost): Likewise.
(ia32_multipass_dfa_lookahead): Likewise.
(do_reorder_for_imul): Likewise.
(swap_top_of_ready_list): Likewise.
(ix86_sched_reorder): Likewise.
(ix86_sched_init_global): Likewise.
(get_builtin_code_for_version): Likewise.
(processor_model): Replace M_INTEL_ATOM, M_INTEL_SLM with
M_INTEL_BONNELL, M_INTEL_SILVERMONT.
(arch_names_table): Updated.
* config/i386/i386.h (TARGET_COREI7): Removed.
(TARGET_COREI7_AVX): Likewise.
(TARGET_ATOM): Likewise.
(TARGET_SLM): Likewise.
(TARGET_NEHALEM): New.
(TARGET_SANDYBRIDGE): Likewise.
(TARGET_BONNELL): Likewise.
(TARGET_SILVERMONT): Likewise.
(target_cpu_default): Add TARGET_CPU_DEFAULT_core_avx2,
TARGET_CPU_DEFAULT_nehalem, TARGET_CPU_DEFAULT_westmere,
TARGET_CPU_DEFAULT_sandybridge, TARGET_CPU_DEFAULT_ivybridge,
TARGET_CPU_DEFAULT_broadwell, TARGET_CPU_DEFAULT_bonnell,
TARGET_CPU_DEFAULT_silvermont. Move TARGET_CPU_DEFAULT_haswell
before TARGET_CPU_DEFAULT_broadwell.
(processor_type): Replace PROCESSOR_COREI7, PROCESSOR_COREI7_AVX,
PROCESSOR_ATOM, PROCESSOR_SLM with PROCESSOR_NEHALEM,
PROCESSOR_SANDYBRIDGE, PROCESSOR_BONNELL, PROCESSOR_SILVERMONT.
* config/i386/i386.md (cpu): Replace corei7 with nehalem.
* config/i386/x86-tune.def: Updated.
* doc/invoke.texi: Replace corei7, corei7-avx, core-avx-i,
core-avx2, atom, slm with nehalem, sandybridge, ivybridge,
haswell, bonnel, silvermont. Add westmere.
libgcc/
* config/i386/cpuinfo.c (processor_subtypes): Replace INTEL_ATOM,
INTEL_SLM with INTEL_BONNELL, INTEL_SILVERMONT.
(get_intel_cpu): Updated.
Co-Authored-By: Tocar Ilya <ilya.tocar@intel.com>
From-SVN: r206178
2013-12-23 05:05:09 -08:00
Marek Polacek
ae8310ec6e
re PR c++/59111 ([c++11] ICE on invalid usage of auto in return type)
...
PR c++/59111
cp/
* search.c (lookup_conversions): Return NULL_TREE if !CLASS_TYPE_P.
testsuite/
* g++.dg/cpp0x/pr59111.C: New test.
* g++.dg/cpp1y/pr59110.C: New test.
From-SVN: r206177
2013-12-23 12:14:56 +00:00
Yury Gribov
b654717c8d
mklog: Automatically insert comments in trivial cases.
...
2013-12-23 Yury Gribov <y.gribov@samsung.com>
* mklog: Automatically insert comments in trivial cases.
From-SVN: r206175
2013-12-23 07:17:52 +00:00
Andrey Belevantsev
c64476f15c
re PR rtl-optimization/57422 (ICE: SIGSEGV in dominated_by_p with custom flags)
...
PR rtl-optimization/57422
* sel-sched.c (fill_vec_av_set): Assert that the fence insn
can always be scheduled in its current form.
From-SVN: r206174
2013-12-23 10:43:49 +04:00
Andrey Belevantsev
d0381b3719
re PR rtl-optimization/57422 (ICE: SIGSEGV in dominated_by_p with custom flags)
...
PR rtl-optimization/57422
* sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
add_to_hard_reg_set.
From-SVN: r206173
2013-12-23 10:41:22 +04:00
GCC Administrator
cecadda44c
Daily bump.
...
From-SVN: r206171
2013-12-23 00:16:53 +00:00
Hans-Peter Nilsson
ca9431f7fe
chi2_quality.h: Break out from chi2_quality.cc.
...
* testsuite/20_util/hash/chi2_quality.h: Break out from
chi2_quality.cc.
* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto.
* testsuite/20_util/hash/chi2_q_document_words.cc: Ditto.
* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto. Increase
SAMPLES to 35000 for simulator targets.
* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto.
* testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto.
* testsuite/20_util/hash/chi2_quality.cc: Remove.
From-SVN: r206167
2013-12-22 14:57:53 +00:00
Uros Bizjak
96758521f7
func-2a.c (dg-do): Remove target selector.
...
* gcc.target/x86_64/abi/callabi/func-2a.c (dg-do): Remove
target selector.
* gcc.target/x86_64/abi/callabi/func-indirect-2a.c (dg-do): Ditto.
* gcc.target/x86_64/abi/callabi/vaarg-4a.c (dg-do): Ditto.
* gcc.target/x86_64/abi/callabi/vaarg-5a.c (dg-do): Ditto.
From-SVN: r206166
2013-12-22 13:28:24 +01:00
GCC Administrator
005cdd8aaa
Daily bump.
...
From-SVN: r206165
2013-12-22 00:16:56 +00:00
Andreas Tobler
97dd6e4bf3
gcconfig.h: Add FreeBSD powerpc64 defines.
...
2013-12-21 Andreas Tobler <andreast@gcc.gnu.org>
* include/private/gcconfig.h: Add FreeBSD powerpc64 defines.
From-SVN: r206162
2013-12-21 21:42:39 +01:00
Sharad Singhai
b1055be00b
Makefile.in: Add optinfo.texi.
...
2013-12-20 Sharad Singhai <singhai@google.com>
* Makefile.in: Add optinfo.texi.
* doc/invoke.texi: Fix typo.
* doc/optinfo.texi: New documentation for optimization info.
* doc/passes.texi: Add new node.
From-SVN: r206161
2013-12-21 07:42:31 +00:00
GCC Administrator
56ca5680a0
Daily bump.
...
From-SVN: r206160
2013-12-21 00:16:29 +00:00
Trevor Saunders
00f96dc9a9
merge auto_vec and stack_vec
...
From-SVN: r206155
2013-12-20 20:34:33 +00:00
Eric Botcazou
ede34dfceb
arm.c (arm_expand_prologue): In a nested APCS frame with arguments to push onto the stack and no varargs...
...
* config/arm/arm.c (arm_expand_prologue): In a nested APCS frame with
arguments to push onto the stack and no varargs, save ip into the last
stack slot if r3 isn't available on entry.
From-SVN: r206154
2013-12-20 16:46:37 +00:00
Jakub Jelinek
abdd0cfa93
re PR c++/59255 (Segmentation fault with std::function and -fprofile-use)
...
PR c++/59255
* g++.dg/tree-prof/pr59255.C: New test.
From-SVN: r206152
2013-12-20 17:32:21 +01:00
Kyrylo Tkachov
392356899b
neon.ml (crypto_intrinsics): Add vceq_64 and vtst_p64.
...
[gcc/]
2013-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/neon.ml (crypto_intrinsics): Add vceq_64 and vtst_p64.
* config/arm/arm_neon.h: Regenerate.
* config/arm/neon-docgen.ml: Add vceq_p64 and vtst_p64.
* doc/arm-neon-intrinsics.texi: Regenerate.
[gcc/testsuite/]
2013-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/neon-vceq_p64.c: New test.
* gcc.target/arm/neon-vtst_p64.c: Likewise.
From-SVN: r206151
2013-12-20 16:10:43 +00:00
Vladimir Makarov
1fc017b632
arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS for LRA.
...
2013-12-20 Vladimir Makarov <vmakarov@redhat.com>
* config/arm/arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Return NO_REGS
for LRA.
From-SVN: r206150
2013-12-20 14:37:53 +00:00
Kyrylo Tkachov
706f749ad8
arm_acle.h: Add underscores before variables.
...
2013-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm_acle.h: Add underscores before variables.
From-SVN: r206149
2013-12-20 13:55:41 +00:00
Bingfeng Mei
09dfa4951a
re PR tree-optimization/59544 (Vectorizing store with negative step)
...
2013-12-20 Bingfeng Mei <bmei@broadcom.com>
PR tree-optimization/59544
* tree-vect-stmts.c (perm_mask_for_reverse): Move before
vectorizable_store.
(vectorizable_store): Handle negative step.
* gcc.target/i386/pr59544.c: New test.
From-SVN: r206148
2013-12-20 13:46:01 +00:00
Jakub Jelinek
fc4f394b22
re PR tree-optimization/59413 (wrong code at -Os on x86_64-linux-gnu in both 32-bit and 64-bit modes)
...
PR tree-optimization/59413
* gcc.c-torture/execute/pr59413.c: New test.
From-SVN: r206147
2013-12-20 14:07:10 +01:00
Bernhard Reutner-Fischer
5502f40be2
fixincludes: use $(FI) instead of fixincl@EXEEXT@
...
2013-12-20 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
Makefile.in: Use $(FI) instead of fixincl@EXEEXT@.
From-SVN: r206146
2013-12-20 13:07:52 +01:00
Tocar Ilya
19ac6899d5
config.gcc: Support march=broadwell.
...
* config.gcc: Support march=broadwell.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect Broadwell.
* config/i386/i386.c (ix86_option_override_internal): Add broadwell.
* doc/invoke.texi: Document march=broadwell.
From-SVN: r206144
2013-12-20 09:11:48 +00:00
Jakub Jelinek
ac0ff9f273
ubsan.c: Include tree-ssanames.h, asan.h and gimplify-me.h.
...
* ubsan.c: Include tree-ssanames.h, asan.h and gimplify-me.h.
(ubsan_type_descriptor): Handle BOOLEAN_TYPE and ENUMERAL_TYPE
like INTEGER_TYPE.
(instrument_bool_enum_load): New function.
(ubsan_pass): Call it.
(gate_ubsan): Also enable for SANITIZE_BOOL or SANITIZE_ENUM.
* asan.c (create_cond_insert_point): No longer static.
* asan.h (create_cond_insert_point): Declare.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE): New
built-in.
* opts.c (common_handle_option): Handle -fsanitize=bool and
-fsanitize=enum.
* builtins.c (fold_builtin_memory_op): When sanitizing bool
and enum loads, don't use enum or bool types for memcpy folding.
* flag-types.h (SANITIZE_BOOL, SANITIZE_ENUM): New.
(SANITIZE_UNDEFINED): Or these in.
* c-c++-common/ubsan/load-bool-enum.c: New test.
From-SVN: r206143
2013-12-20 10:05:04 +01:00
Chung-Ju Wu
634bdae96b
nds32.h (NDS32_MODE_TYPE_ALIGN): New macro.
...
2013-12-20 Chung-Ju Wu <jasonwucj@gmail.com>
* config/nds32/nds32.h (NDS32_MODE_TYPE_ALIGN): New macro.
(NDS32_AVAILABLE_REGNUM_FOR_ARG): Use more accurate alignment checking
to determine available register number.
* config/nds32/nds32.c (nds32_needs_double_word_align): Use new
macro NDS32_MODE_TYPE_ALIGN.
(nds32_function_arg): Refine code layout.
From-SVN: r206142
2013-12-20 09:02:58 +00:00
Jeff Law
7920b6d673
invoke.texi: (dump-rtl-ree): Fix typo and clarify ree handles both zero and sign extension.
...
* doc/invoke.texi: (dump-rtl-ree): Fix typo and clarify ree
handles both zero and sign extension.
From-SVN: r206139
2013-12-19 21:33:34 -07:00
GCC Administrator
7c3d74a1c4
Daily bump.
...
From-SVN: r206138
2013-12-20 00:16:43 +00:00
Teresa Johnson
b55bf1206f
re PR gcov-profile/59542 (ICE: verify_flow_info failed during Firefox build with 'gold')
...
2013-12-19 Teresa Johnson <tejohnson@google.com>
PR gcov-profile/59542
* bb-reorder.c (duplicate_computed_gotos): Invoke fixup_partitions
if we have made any changes.
From-SVN: r206135
2013-12-19 22:11:25 +00:00
Jakub Jelinek
e15eb172b0
re PR other/59545 (Signed integer overflow issues)
...
PR other/59545
* genattrtab.c (struct attr_hash): Change hashcode type to unsigned.
(attr_hash_add_rtx, attr_hash_add_string): Change hashcode parameter
to unsigned.
(attr_rtx_1): Change hashcode variable to unsigned.
(attr_string): Likewise. Perform first multiplication in unsigned
type.
* ifcvt.c (noce_try_store_flag_constants): Avoid signed integer
overflows.
* double-int.c (neg_double): Likewise.
* stor-layout.c (set_min_and_max_values_for_integral_type): Likewise.
* combine.c (force_to_mode): Likewise.
* postreload.c (move2add_use_add2_insn, move2add_use_add3_insn,
reload_cse_move2add, move2add_note_store): Likewise.
* simplify-rtx.c (simplify_const_unary_operation,
simplify_const_binary_operation): Likewise.
* ipa-split.c (find_split_points): Initialize first.can_split
and first.non_ssa_vars.
* gengtype-state.c (read_state_files_list): Fix up check.
* genautomata.c (reserv_sets_hash_value): Use portable rotation
idiom.
java/
* class.c (hashUtf8String): Compute hash in unsigned type.
* javaop.h (WORD_TO_INT): Avoid signed integer overflow.
From-SVN: r206134
2013-12-19 22:27:51 +01:00
Kyrylo Tkachov
d8d79c1df2
neon-docgen.ml: Add crypto intrinsics documentation.
...
2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/neon-docgen.ml: Add crypto intrinsics documentation.
* doc/arm-neon-intrinsics.texi: Regenerate.
From-SVN: r206132
2013-12-19 18:30:18 +00:00
Kyrylo Tkachov
ed4bcdba7c
neon-testgen.ml (effective_target): Handle "CRYPTO".
...
[gcc/]
2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/neon-testgen.ml (effective_target): Handle "CRYPTO".
[gcc/testsuite]
2013-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp (check_effective_target_arm_crypto_ok):
New procedure.
(add_options_for_arm_crypto): Likewise.
* gcc.target/arm/crypto-vaesdq_u8.c: New test.
* gcc.target/arm/crypto-vaeseq_u8.c: Likewise.
* gcc.target/arm/crypto-vaesimcq_u8.c: Likewise.
* gcc.target/arm/crypto-vaesmcq_u8.c: Likewise.
* gcc.target/arm/crypto-vldrq_p128.c: Likewise.
* gcc.target/arm/crypto-vmull_high_p64.c: Likewise.
* gcc.target/arm/crypto-vmullp64.c: Likewise.
* gcc.target/arm/crypto-vsha1cq_u32.c: Likewise.
* gcc.target/arm/crypto-vsha1h_u32.c: Likewise.
* gcc.target/arm/crypto-vsha1mq_u32.c: Likewise.
* gcc.target/arm/crypto-vsha1pq_u32.c: Likewise.
* gcc.target/arm/crypto-vsha1su0q_u32.c: Likewise.
* gcc.target/arm/crypto-vsha1su1q_u32.c: Likewise.
* gcc.target/arm/crypto-vsha256h2q_u32.c: Likewise.
* gcc.target/arm/crypto-vsha256hq_u32.c: Likewise.
* gcc.target/arm/crypto-vsha256su0q_u32.c: Likewise.
* gcc.target/arm/crypto-vsha256su1q_u32.c: Likewise.
* gcc.target/arm/crypto-vstrq_p128.c: Likewise.
* gcc.target/arm/neon/vbslQp64: Generate.
* gcc.target/arm/neon/vbslp64: Likewise.
* gcc.target/arm/neon/vcombinep64: Likewise.
* gcc.target/arm/neon/vcreatep64: Likewise.
* gcc.target/arm/neon/vdupQ_lanep64: Likewise.
* gcc.target/arm/neon/vdupQ_np64: Likewise.
* gcc.target/arm/neon/vdup_lanep64: Likewise.
* gcc.target/arm/neon/vdup_np64: Likewise.
* gcc.target/arm/neon/vextQp64: Likewise.
* gcc.target/arm/neon/vextp64: Likewise.
* gcc.target/arm/neon/vget_highp64: Likewise.
* gcc.target/arm/neon/vget_lowp64: Likewise.
* gcc.target/arm/neon/vld1Q_dupp64: Likewise.
* gcc.target/arm/neon/vld1Q_lanep64: Likewise.
* gcc.target/arm/neon/vld1Qp64: Likewise.
* gcc.target/arm/neon/vld1_dupp64: Likewise.
* gcc.target/arm/neon/vld1_lanep64: Likewise.
* gcc.target/arm/neon/vld1p64: Likewise.
* gcc.target/arm/neon/vld2_dupp64: Likewise.
* gcc.target/arm/neon/vld2p64: Likewise.
* gcc.target/arm/neon/vld3_dupp64: Likewise.
* gcc.target/arm/neon/vld3p64: Likewise.
* gcc.target/arm/neon/vld4_dupp64: Likewise.
* gcc.target/arm/neon/vld4p64: Likewise.
* gcc.target/arm/neon/vreinterpretQf32_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQf32_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_f32: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_p16: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_p8: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_s16: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_s32: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_s64: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_s8: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_u16: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_u32: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_u64: Likewise.
* gcc.target/arm/neon/vreinterpretQp128_u8: Likewise.
* gcc.target/arm/neon/vreinterpretQp16_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQp16_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_f32: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_p16: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_p8: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_s16: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_s32: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_s64: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_s8: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_u16: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_u32: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_u64: Likewise.
* gcc.target/arm/neon/vreinterpretQp64_u8: Likewise.
* gcc.target/arm/neon/vreinterpretQp8_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQp8_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQs16_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQs16_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQs32_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQs32_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQs64_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQs64_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQs8_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQs8_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQu16_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQu16_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQu32_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQu32_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQu64_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQu64_p64: Likewise.
* gcc.target/arm/neon/vreinterpretQu8_p128: Likewise.
* gcc.target/arm/neon/vreinterpretQu8_p64: Likewise.
* gcc.target/arm/neon/vreinterpretf32_p64: Likewise.
* gcc.target/arm/neon/vreinterpretp16_p64: Likewise.
* gcc.target/arm/neon/vreinterpretp64_f32: Likewise.
* gcc.target/arm/neon/vreinterpretp64_p16: Likewise.
* gcc.target/arm/neon/vreinterpretp64_p8: Likewise.
* gcc.target/arm/neon/vreinterpretp64_s16: Likewise.
* gcc.target/arm/neon/vreinterpretp64_s32: Likewise.
* gcc.target/arm/neon/vreinterpretp64_s64: Likewise.
* gcc.target/arm/neon/vreinterpretp64_s8: Likewise.
* gcc.target/arm/neon/vreinterpretp64_u16: Likewise.
* gcc.target/arm/neon/vreinterpretp64_u32: Likewise.
* gcc.target/arm/neon/vreinterpretp64_u64: Likewise.
* gcc.target/arm/neon/vreinterpretp64_u8: Likewise.
* gcc.target/arm/neon/vreinterpretp8_p64: Likewise.
* gcc.target/arm/neon/vreinterprets16_p64: Likewise.
* gcc.target/arm/neon/vreinterprets32_p64: Likewise.
* gcc.target/arm/neon/vreinterprets64_p64: Likewise.
* gcc.target/arm/neon/vreinterprets8_p64: Likewise.
* gcc.target/arm/neon/vreinterpretu16_p64: Likewise.
* gcc.target/arm/neon/vreinterpretu32_p64: Likewise.
* gcc.target/arm/neon/vreinterpretu64_p64: Likewise.
* gcc.target/arm/neon/vreinterpretu8_p64: Likewise.
* gcc.target/arm/neon/vsliQ_np64: Likewise.
* gcc.target/arm/neon/vsli_np64: Likewise.
* gcc.target/arm/neon/vsriQ_np64: Likewise.
* gcc.target/arm/neon/vsri_np64: Likewise.
* gcc.target/arm/neon/vst1Q_lanep64: Likewise.
* gcc.target/arm/neon/vst1Qp64: Likewise.
* gcc.target/arm/neon/vst1_lanep64: Likewise.
* gcc.target/arm/neon/vst1p64: Likewise.
* gcc.target/arm/neon/vst2p64: Likewise.
* gcc.target/arm/neon/vst3p64: Likewise.
* gcc.target/arm/neon/vst4p64: Likewise.
From-SVN: r206131
2013-12-19 18:29:09 +00:00
Kyrylo Tkachov
021b5e6b54
arm.c (enum arm_builtins): Add crypto builtins.
...
2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.c (enum arm_builtins): Add crypto builtins.
(arm_init_neon_builtins): Handle crypto builtins.
(bdesc_2arg): Likewise.
(bdesc_1arg): Likewise.
(bdesc_3arg): New table.
(arm_expand_ternop_builtin): New function.
(arm_expand_unop_builtin): Handle sha1h explicitly.
(arm_expand_builtin): Handle ternary builtins.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS):
Define __ARM_FEATURE_CRYPTO.
* config/arm/arm.md: Include crypto.md.
(is_neon_type): Add crypto types.
* config/arm/arm_neon_builtins.def: Add TImode reinterprets.
* config/arm/crypto.def: New.
* config/arm/crypto.md: Likewise.
* config/arm/iterators.md (CRYPTO_UNARY): New int iterator.
(CRYPTO_BINARY): Likewise.
(CRYPTO_TERNARY): Likewise.
(CRYPTO_SELECTING): Likewise.
(crypto_pattern): New int attribute.
(crypto_size_sfx): Likewise.
(crypto_mode): Likewise.
(crypto_type): Likewise.
* config/arm/neon-gen.ml: Handle poly64_t and poly128_t types.
Handle crypto intrinsics.
* config/arm/neon.ml: Add support for poly64 and polt128 types
and intrinsics. Define crypto intrinsics.
* config/arm/neon.md (neon_vreinterpretti<mode>): New pattern.
(neon_vreinterpretv16qi<mode>): Use VQXMOV mode iterator.
(neon_vreinterpretv8hi<mode>): Likewise.
(neon_vreinterpretv4si<mode>): Likewise.
(neon_vreinterpretv4sf<mode>): Likewise.
(neon_vreinterpretv2di<mode>): Likewise.
* config/arm/unspecs.md (UNSPEC_AESD, UNSPEC_AESE, UNSPEC_AESIMC,
UNSPEC_AESMC, UNSPEC_SHA1C, UNSPEC_SHA1M, UNSPEC_SHA1P, UNSPEC_SHA1H,
UNSPEC_SHA1SU0, UNSPEC_SHA1SU1, UNSPEC_SHA256H, UNSPEC_SHA256H2,
UNSPEC_SHA256SU0, UNSPEC_SHA256SU1, VMULLP64): Define.
* config/arm/arm_neon.h: Regenerate.
From-SVN: r206130
2013-12-19 18:21:10 +00:00
H.J. Lu
b78e932d51
Improve -fuse-ld=[bfd|gold] check
...
PR driver/59321
* collect2.c (main): Check -fuse-ld=[bfd|gold] when
DEFAULT_LINKER is defined.
* common.opt (fuse-ld=bfd): Add Driver.
(fuse-ld=gold): Likewise.
* gcc.c (use_ld): New variable.
(driver_handle_option): Set use_ld for OPT_fuse_ld_bfd and
OPT_fuse_ld_gold.
(main): Check -fuse-ld=[bfd|gold] for -print-prog-name=ld.
From-SVN: r206129
2013-12-19 10:11:42 -08:00
Kyrylo Tkachov
582e2e4300
Makefile.in (TEXI_GCC_FILES): Add arm-acle-intrinsics.texi.
...
[gcc/]
2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* Makefile.in (TEXI_GCC_FILES): Add arm-acle-intrinsics.texi.
* config.gcc (extra_headers): Add arm_acle.h.
* config/arm/arm.c (FL_CRC32): Define.
(arm_have_crc): Likewise.
(arm_option_override): Set arm_have_crc.
(arm_builtins): Add CRC32 builtins.
(bdesc_2arg): Likewise.
(arm_init_crc32_builtins): New function.
(arm_init_builtins): Initialise CRC32 builtins.
(arm_file_start): Handle architecture extensions.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_FEATURE_CRC32.
Define __ARM_32BIT_STATE.
(TARGET_CRC32): Define.
* config/arm/arm-arches.def: Add armv8-a+crc.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.md (type): Add crc.
(<crc_variant>): New insn.
* config/arm/arm_acle.h: New file.
* config/arm/iterators.md (CRC): New int iterator.
(crc_variant, crc_mode): New int attributes.
* confg/arm/unspecs.md (UNSPEC_CRC32B, UNSPEC_CRC32H, UNSPEC_CRC32W,
UNSPEC_CRC32CB, UNSPEC_CRC32CH, UNSPEC_CRC32CW): New unspecs.
* doc/invoke.texi: Document -march=armv8-a+crc option.
* doc/extend.texi: Document ACLE intrinsics.
[gcc/testsuite/]
2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp (add_options_for_arm_crc): New procedure.
(check_effective_target_arm_crc_ok_nocache): Likewise.
(check_effective_target_arm_crc_ok): Likewise.
* gcc.target/arm/acle/: New directory.
* gcc.target/arm/acle/acle.exp: New.
* gcc.target/arm/acle/crc32b.c: New test.
* gcc.target/arm/acle/crc32h.c: Likewise.
* gcc.target/arm/acle/crc32w.c: Likewise.
* gcc.target/arm/acle/crc32d.c: Likewise.
* gcc.target/arm/acle/crc32cb.c: Likewise.
* gcc.target/arm/acle/crc32ch.c: Likewise.
* gcc.target/arm/acle/crc32cw.c: Likewise.
* gcc.target/arm/acle/crc32cd.c: Likewise.
From-SVN: r206128
2013-12-19 17:55:38 +00:00
Kyrylo Tkachov
cd494e4d43
ef_error.c: Use -fopen-simd.
...
2013-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* c-c++-common/cilk-plus/SE/ef_error.c: Use -fopen-simd.
From-SVN: r206127
2013-12-19 17:05:42 +00:00
Christophe Lyon
8b0497def2
Fix comment in gcc/config/arm/predicates.md
...
From-SVN: r206126
2013-12-19 17:55:40 +01:00
Charles Baylis
9f178d6abb
re PR target/59142 (internal compiler error while compiling OpenCV 2.4.7)
...
2013-12-19 Charles Baylis <charles.baylis@linaro.org>
PR target/59142
gcc/
* config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
patterns.
* config/arm/ldmstm.md: Regenerate.
From-SVN: r206125
2013-12-19 17:54:16 +01:00