- 25 Aug, 2011 20 commits
-
-
rth authored
PR 49864 * cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for non-constant stack adjutment. * expr.c (find_args_size_adjust): Break out from ... (fixup_args_size_notes): ... here. * rtl.h (find_args_size_adjust): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178084 138bc75d-0d04-0410-961f-82ee72b054a4
-
jason authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178082 138bc75d-0d04-0410-961f-82ee72b054a4
-
jason authored
* call.c (convert_like_real): Exit early if bad and !tf_error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178081 138bc75d-0d04-0410-961f-82ee72b054a4
-
uros authored
sse4 and sse4_noavx. (enabled): Handle sse2, sse2_noavx, sse3, sse4 and sse4_noavx. (*pushdf_rex64): Change Y2 register constraint to x. (*movdf_internal_rex64): Ditto. (*zero_extendsidi2_rex64): Ditto. (*movdi_internal): Change Y2 register constraint to x and update "isa" attribute. (*pushdf): Ditto. (*movdf internal): Ditto. (zero_extendsidi2_1): Ditto. (*truncdfdf_mixed): Ditto. (*truncxfdf2_mixed): Ditto. * config/i386/mmx.md (*mov<mode>_internal_rex64): Change Y2 register constraint to x. (*movv2sf_internal_rex64): Ditto. (*mov<mode>_internal): Change Y2 register constraint to x and add "isa" attribute. (*movv2sf_internal): Ditto. (*vec_extractv2si_1): Ditto. * config/i386/sse.md ("vec_set<mode>_0): Change Y2 and Y4 register constraints to x and update "isa" attribute. (*vec_interleave_highv2df): Change Y3 registerconstraint to x and update "isa" attribute. (*vec_interleave_lowv2df): Ditto. (*vec_concatv2df): Change Y2 register constraint to x and update "isa" attribute. (sse2_loadld): Ditto. (*vec_extractv2di_1): Ditto. (*vec_dupv4si): Ditto. (*vec_dupv2di): Ditto. (*vec_concatv4si): Ditto. (vec_concatv2di): Ditto. * config/i386/constraints.md (Y2): Remove. (Y3): Ditto. (Y4): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178073 138bc75d-0d04-0410-961f-82ee72b054a4
-
burnus authored
* trans-array.c (gfc_conv_descriptor_token): Add assert. * trans-decl.c (gfc_build_qualified_array, create_function_arglist): Handle assumed-shape arrays. * trans-expr.c (gfc_conv_procedure_call): Ditto. * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't add "caf_token" to assumed-shape descriptors, new akind argument. (gfc_get_array_type_bounds): Pass akind. * trans.h (lang_decl): New elements caf_offset and token. (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros. 2011-08-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_lib_token_4.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178069 138bc75d-0d04-0410-961f-82ee72b054a4
-
burnus authored
* trans-array.c (structure_alloc_comps): Fix for allocatable scalar coarray components. * trans-expr.c (gfc_conv_component_ref): Ditto. * trans-type.c (gfc_get_derived_type): Ditto. 2011-08-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray/alloc_comp_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178068 138bc75d-0d04-0410-961f-82ee72b054a4
-
gjl authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178067 138bc75d-0d04-0410-961f-82ee72b054a4
-
tromey authored
* testsuite/lib/gdb-test.exp: New file. * testsuite/libstdc++-prettyprinters/prettyprinters.exp: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178066 138bc75d-0d04-0410-961f-82ee72b054a4
-
bernds authored
dump_def_use_chain): Don't declare. (mark_conflict, create_new_chain): Move before users. (regrename_optimize): Move to near end of file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178065 138bc75d-0d04-0410-961f-82ee72b054a4
-
gjl authored
(secondary_input_reload_class): Remove Prototype. * config/avr/avr.c (byte_immediate_operand): Remove Function. * config/avr/avr.md (setmemhi): Use u8_operand. (strlenhi): Use const0_rtx for comparison. * config/avr/avr.h (avr_reg_order): Remove Declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178064 138bc75d-0d04-0410-961f-82ee72b054a4
-
gjl authored
avr_regno_reg_class. Return smallest register class available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178063 138bc75d-0d04-0410-961f-82ee72b054a4
-
gjl authored
* config/avr/avr.c (STR_PREFIX_P): New Define. (avr_asm_declare_function_name): Use it. (avr_asm_named_section): Use it. (avr_section_type_flags): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178062 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
* gcc.dg/Wshadow-3.c: Restore original content destroyed by r148442. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178061 138bc75d-0d04-0410-961f-82ee72b054a4
-
aph authored
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly instructions. * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178060 138bc75d-0d04-0410-961f-82ee72b054a4
-
bernds authored
* genautomata.c (COLLAPSE_OPTION): New macro. (collapse_flag): New static variable. (struct description): New member normal_decls_num. (struct automaton): New members advance_ainsn and collapse_ainsn. (gen_automata_option): Check for COLLAPSE_OPTION. (collapse_ndfa_insn_decl): New static variable. (add_collapse_ndfa_insn_decl, special_decl_p): New functions. (find_arc): If insn is the collapse-ndfa insn, accept any arc we find. (transform_insn_regexps): Call add_collapse_ndfa_insn_decl if necessary. Use normal_decls_num rather than decls_num, remove test for special decls. (create_alt_states, form_ainsn_with_same_reservs): Use special_decl_p. (make_automaton); Likewise. Use the new advance_cycle_insn member of struct automaton. (create_composed_state): Disallow advance-cycle arcs if collapse_flag is set. (NDFA_to_DFA): Don't create composed states for the collapse-ndfa transition. Create the necessary transitions for it. (create_ainsns): Return void. Take an automaton_t argument, and update its ainsn_list, advance_ainsn and collapse_ainsn members. All callers changed. (COLLAPSE_NDFA_VALUE_NAME): New macro. (output_tables): Output code to define it. (output_internal_insn_code_evaluation): Output code to accept const0_rtx as collapse-ndfa transition. (output_default_latencies, output_print_reservation_func, output_print_description): Reorganize loops to use normal_decls_num as loop bound; remove special case for advance_cycle_insn_decl. (initiate_automaton_gen): Handle COLLAPSE_OPTION. (check_automata_insn_issues): Check for collapse_ainsn. (expand_automate): Allocate sufficient space. Initialize normal_decls_num. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178059 138bc75d-0d04-0410-961f-82ee72b054a4
-
gjl authored
* config/avr/avr.md: Fix indentation from r177991. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178058 138bc75d-0d04-0410-961f-82ee72b054a4
-
bernds authored
(create_new_chain): Don't initialize it. (scan_rtx_reg): Don't set or test it, test the open_chains_set bitmap instead. (tick, this_tick): New global variables, moved out of regrename_optimize. (current_id, open_chains, closed_chains, open_chains_set, live_in_chains, live_hard_regs): Reorder declarations. (dump_def_use_chain): Move function earlier in the file. (rename_chains): New static function, broken out of regrename_optimize. (regrename_optimize): Use it. Remove #if 0'ed code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178057 138bc75d-0d04-0410-961f-82ee72b054a4
-
ro authored
* gcc_update: Determine svn branch from hg convert_revision. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178056 138bc75d-0d04-0410-961f-82ee72b054a4
-
aldot authored
* varasm.c: (default_binds_local_p_1): Commentary typo fix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178055 138bc75d-0d04-0410-961f-82ee72b054a4
-
gccadmin authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178053 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 24 Aug, 2011 13 commits
-
-
ian authored
to implement a common interface for writing basic type literals and added flags for optimization. * lang.opt: Add fgo-optimize-. * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize. * go-c.h (go_enable_optimize): Declare. * Make-lang.in (GO_OBJS): Add go/go-optimize.o. (GO_EXPORT_H): Define. (GO_IMPORT_H): Add $(GO_EXPORT_H). (GO_AST_DUMP_H): Define. (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H. (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H. (go/types.o): Likewise. (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H. (go/go-optimize.o): New target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178046 138bc75d-0d04-0410-961f-82ee72b054a4
-
hjl authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178040 138bc75d-0d04-0410-961f-82ee72b054a4
-
hjl authored
2011-08-24 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178039 138bc75d-0d04-0410-961f-82ee72b054a4
-
burnus authored
PR fortran/50163 * expr.c (check_init_expr): Return when an error occured. 2011-08-24 Tobias Burnus <burnus@net-b.de> PR fortran/50163 * gfortran.dg/initialization_28.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178038 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
* tree-data-ref.c (dr_analyze_indices): Avoid unsharing the ref in the basic-block case. Move stripping array-refs to the place we create an access-function for it. Remove bogus stripping down a MEM_REF to its base. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178037 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
* fold-const.c (fold_comparison): Fold &a < &a + 4 even with -fno-strict-overflow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178036 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
* tree-vectorizer.c (vect_print_dump_info): Avoid the file and location clutter when dumping to dump files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178034 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
PR c/49396 c-family/ * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178032 138bc75d-0d04-0410-961f-82ee72b054a4
-
simonb authored
* gengtype-state.c (write_state): Remove timestamped header line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178031 138bc75d-0d04-0410-961f-82ee72b054a4
-
jsm28 authored
(CFLAGS-c-family/c-pch.o, CFLAGS-prefix.o, CFLAGS-version.o) (CFLAGS-lto-compress.o, CFLAGS-toplev.o, CFLAGS-intl.o) (CFLAGS-cppbuiltin.o, CFLAGS-cppdefault.o): New. (collect2.o, c-family/c-cppbuiltin.o, c-family/c-opts.o) (c-family/c-pch.o, prefix.o, version.o, lto-compress.o, toplev.o) (intl.o, cppbuiltin.o, cppdefault.o): Remove explicit compilation rules. (lto-wrapper$(exeext)): Use $(LINKER) not $(COMPILER). ada: * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o) (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o) (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New. (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o) (ada/initialize.o, ada/raise.o): Remove explicit compilation rules. fortran: * Make-lang.in (fortran/cpp.o): Remove explicit compilation rule. go: * Make-lang.in (CFLAGS-go/go-lang.o): New. (go/go-lang.o): Remove explicit compilation rule. java: * Make-lang.in (CFLAGS-java/jcf-io.o, CFLAGS-java/j...
-
jsm28 authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178029 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
PR tree-optimization/50067 * tree-data-ref.c (dr_analyze_indices): Do not add an access function for a MEM_REF base that has no evolution in the loop nest or that is not analyzable. * gcc.dg/torture/pr50067-3.c: New testcase. * gcc.dg/torture/pr50067-4.c: Likewise. * gcc.dg/torture/pr50067-5.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178028 138bc75d-0d04-0410-961f-82ee72b054a4
-
gccadmin authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178023 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 23 Aug, 2011 7 commits
-
-
vmakarov authored
* ira.c (ira_init_register_move_cost): Check small subclasses through ira_reg_class_max_nregs and ira_available_class_regs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178019 138bc75d-0d04-0410-961f-82ee72b054a4
-
sje authored
PR libstdc++/50153 * inclhack.def (hpux11_abs): Extend to all hpux machines. * fixincl.x: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178018 138bc75d-0d04-0410-961f-82ee72b054a4
-
uros authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178017 138bc75d-0d04-0410-961f-82ee72b054a4
-
uros authored
* config/i386/i386.md (*addhi_1): Merge with *addhi_1_lea using Yp register constraint. (*addqi_1): Merge with *addqi_1_lea using Yp register constraint. (*ashlhi3_1): Merge with *ashlhi3_1_lea using Yp register constraint. (*ashlqi3_1): Merge with *ashlqi3_1_lea using Yp register constraint. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178011 138bc75d-0d04-0410-961f-82ee72b054a4
-
hjl authored
gcc/ 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * config/i386/sse.md (<s>mul<mode>3_highpart): Update. gcc/testsuite/ 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * g++.dg/other/i386-2.C: Add -mavx2 check. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/avx-1.c: Add AVX2. * gcc.target/i386/avx-2.c: Likewise. * gcc.target/i386/funcspec-5.c: Likewise. * gcc.target/i386/sse-12.c: Likewise. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewise. * gcc.target/i386/sse-23.c: Likewise. * gcc.target/i386/i386.exp (check_effective_target_avx2): Likewise. * gcc.target/i386/avx2-check.h: New. * gcc.target/i386/avx2-i32gatherd-1.c: Likewise. * gcc.target/i386/avx2-i32gatherd-2.c: Likewise. * gcc.target/i386/avx2-i32gatherd-3.c: Likewise. * gcc.target/i386/avx2-i32gatherd-4.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-4.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-1.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-2.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-3.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-4.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-4.c: Likewise. * gcc.target/i386/avx2-i32gatherps-1.c: Likewise. * gcc.target/i386/avx2-i32gatherps-2.c: Likewise. * gcc.target/i386/avx2-i32gatherps-3.c: Likewise. * gcc.target/i386/avx2-i32gatherps-4.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-4.c: Likewise. * gcc.target/i386/avx2-i32gatherq-1.c: Likewise. * gcc.target/i386/avx2-i32gatherq-2.c: Likewise. * gcc.target/i386/avx2-i32gatherq-3.c: Likewise. * gcc.target/i386/avx2-i32gatherq-4.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherd-1.c: Likewise. * gcc.target/i386/avx2-i64gatherd-2.c: Likewise. * gcc.target/i386/avx2-i64gatherd-3.c: Likewise. * gcc.target/i386/avx2-i64gatherd-4.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-1.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-2.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-3.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-4.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherps-1.c: Likewise. * gcc.target/i386/avx2-i64gatherps-2.c: Likewise. * gcc.target/i386/avx2-i64gatherps-3.c: Likewise. * gcc.target/i386/avx2-i64gatherps-4.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherq-1.c: Likewise. * gcc.target/i386/avx2-i64gatherq-2.c: Likewise. * gcc.target/i386/avx2-i64gatherq-3.c: Likewise. * gcc.target/i386/avx2-i64gatherq-4.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-4.c: Likewise. * gcc.target/i386/avx2-mpsadbw-1.c: Likewise. * gcc.target/i386/avx2-mpsadbw-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastsd_pd-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastsd_pd-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastsi128-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastsi128-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps256-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps256-2.c: Likewise. * gcc.target/i386/avx2-vextracti128-1.c: Likewise. * gcc.target/i386/avx2-vextracti128-2.c: Likewise. * gcc.target/i386/avx2-vinserti128-1.c: Likewise. * gcc.target/i386/avx2-vinserti128-2.c: Likewise. * gcc.target/i386/avx2-vmovmskb-2.c: Likewise. * gcc.target/i386/avx2-vmovntdqa-1.c: Likewise. * gcc.target/i386/avx2-vmovntdqa-2.c: Likewise. * gcc.target/i386/avx2-vpabsb256-1.c: Likewise. * gcc.target/i386/avx2-vpabsb256-2.c: Likewise. * gcc.target/i386/avx2-vpabsd256-1.c: Likewise. * gcc.target/i386/avx2-vpabsd256-2.c: Likewise. * gcc.target/i386/avx2-vpabsw256-1.c: Likewise. * gcc.target/i386/avx2-vpabsw256-2.c: Likewise. * gcc.target/i386/avx2-vpackssdw-1.c: Likewise. * gcc.target/i386/avx2-vpackssdw-2.c: Likewise. * gcc.target/i386/avx2-vpacksswb-1.c: Likewise. * gcc.target/i386/avx2-vpacksswb-2.c: Likewise. * gcc.target/i386/avx2-vpackusdw-1.c: Likewise. * gcc.target/i386/avx2-vpackusdw-2.c: Likewise. * gcc.target/i386/avx2-vpackuswb-1.c: Likewise. * gcc.target/i386/avx2-vpackuswb-2.c: Likewise. * gcc.target/i386/avx2-vpaddb-1.c: Likewise. * gcc.target/i386/avx2-vpaddb-2.c: Likewise. * gcc.target/i386/avx2-vpaddd-1.c: Likewise. * gcc.target/i386/avx2-vpaddd-2.c: Likewise. * gcc.target/i386/avx2-vpaddq-1.c: Likewise. * gcc.target/i386/avx2-vpaddq-2.c: Likewise. * gcc.target/i386/avx2-vpaddsb-1.c: Likewise. * gcc.target/i386/avx2-vpaddsb-2.c: Likewise. * gcc.target/i386/avx2-vpaddsw-1.c: Likewise. * gcc.target/i386/avx2-vpaddsw-2.c: Likewise. * gcc.target/i386/avx2-vpaddusb-1.c: Likewise. * gcc.target/i386/avx2-vpaddusb-2.c: Likewise. * gcc.target/i386/avx2-vpaddusw-1.c: Likewise. * gcc.target/i386/avx2-vpaddusw-2.c: Likewise. * gcc.target/i386/avx2-vpaddw-1.c: Likewise. * gcc.target/i386/avx2-vpaddw-2.c: Likewise. * gcc.target/i386/avx2-vpalignr256-1.c: Likewise. * gcc.target/i386/avx2-vpalignr256-2.c: Likewise. * gcc.target/i386/avx2-vpand-1.c: Likewise. * gcc.target/i386/avx2-vpand-2.c: Likewise. * gcc.target/i386/avx2-vpandn-1.c: Likewise. * gcc.target/i386/avx2-vpandn-2.c: Likewise. * gcc.target/i386/avx2-vpavgb-1.c: Likewise. * gcc.target/i386/avx2-vpavgb-2.c: Likewise. * gcc.target/i386/avx2-vpavgw-1.c: Likewise. * gcc.target/i386/avx2-vpavgw-2.c: Likewise. * gcc.target/i386/avx2-vpblendd128-1.c: Likewise. * gcc.target/i386/avx2-vpblendd128-2.c: Likewise. * gcc.target/i386/avx2-vpblendd256-1.c: Likewise. * gcc.target/i386/avx2-vpblendd256-2.c: Likewise. * gcc.target/i386/avx2-vpblendvb-1.c: Likewise. * gcc.target/i386/avx2-vpblendvb-2.c: Likewise. * gcc.target/i386/avx2-vpblendw-1.c: Likewise. * gcc.target/i386/avx2-vpblendw-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb256-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd256-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq256-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw256-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqb-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqb-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqd-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqd-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqq-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqq-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqw-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqw-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtb-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtb-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtd-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtd-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtq-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtq-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtw-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtw-2.c: Likewise. * gcc.target/i386/avx2-vperm2i128-1.c: Likewise. * gcc.target/i386/avx2-vperm2i128-2.c: Likewise. * gcc.target/i386/avx2-vpermd-1.c: Likewise. * gcc.target/i386/avx2-vpermd-2.c: Likewise. * gcc.target/i386/avx2-vpermpd-1.c: Likewise. * gcc.target/i386/avx2-vpermpd-2.c: Likewise. * gcc.target/i386/avx2-vpermps-1.c: Likewise. * gcc.target/i386/avx2-vpermps-2.c: Likewise. * gcc.target/i386/avx2-vpermq-1.c: Likewise. * gcc.target/i386/avx2-vpermq-2.c: Likewise. * gcc.target/i386/avx2-vphaddd-1.c: Likewise. * gcc.target/i386/avx2-vphaddd-2.c: Likewise. * gcc.target/i386/avx2-vphaddsw-1.c: Likewise. * gcc.target/i386/avx2-vphaddsw-2.c: Likewise. * gcc.target/i386/avx2-vphaddw-1.c: Likewise. * gcc.target/i386/avx2-vphaddw-2.c: Likewise. * gcc.target/i386/avx2-vphsubd-1.c: Likewise. * gcc.target/i386/avx2-vphsubd-2.c: Likewise. * gcc.target/i386/avx2-vphsubsw-1.c: Likewise. * gcc.target/i386/avx2-vphsubsw-2.c: Likewise. * gcc.target/i386/avx2-vphsubw-1.c: Likewise. * gcc.target/i386/avx2-vpmaddubsw-1.c: Likewise. * gcc.target/i386/avx2-vpmaddubsw-2.c: Likewise. * gcc.target/i386/avx2-vpmaddwd-1.c: Likewise. * gcc.target/i386/avx2-vpmaddwd-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd256-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq256-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstored-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstored-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstored256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstored256-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq256-2.c: Likewise. * gcc.target/i386/avx2-vpmaxsb-1.c: Likewise. * gcc.target/i386/avx2-vpmaxsb-2.c: Likewise. * gcc.target/i386/avx2-vpmaxsd-1.c: Likewise. * gcc.target/i386/avx2-vpmaxsd-2.c: Likewise. * gcc.target/i386/avx2-vpmaxsw-1.c: Likewise. * gcc.target/i386/avx2-vpmaxsw-2.c: Likewise. * gcc.target/i386/avx2-vpmaxub-1.c: Likewise. * gcc.target/i386/avx2-vpmaxub-2.c: Likewise. * gcc.target/i386/avx2-vpmaxud-1.c: Likewise. * gcc.target/i386/avx2-vpmaxud-2.c: Likewise. * gcc.target/i386/avx2-vpmaxuw-1.c: Likewise. * gcc.target/i386/avx2-vpmaxuw-2.c: Likewise. * gcc.target/i386/avx2-vpminsb-1.c: Likewise. * gcc.target/i386/avx2-vpminsb-2.c: Likewise. * gcc.target/i386/avx2-vpminsd-1.c: Likewise. * gcc.target/i386/avx2-vpminsd-2.c: Likewise. * gcc.target/i386/avx2-vpminsw-1.c: Likewise. * gcc.target/i386/avx2-vpminsw-2.c: Likewise. * gcc.target/i386/avx2-vpminub-1.c: Likewise. * gcc.target/i386/avx2-vpminub-2.c: Likewise. * gcc.target/i386/avx2-vpminud-1.c: Likewise. * gcc.target/i386/avx2-vpminud-2.c: Likewise. * gcc.target/i386/avx2-vpminuw-1.c: Likewise. * gcc.target/i386/avx2-vpminuw-2.c: Likewise. * gcc.target/i386/avx2-vpmovmskb-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbd-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbd-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxbq-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbq-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxbw-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbw-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxdq-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxdq-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxwd-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxwd-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxwq-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxwq-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxbd-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxbd-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxbq-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxbq-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxbw-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxbw-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxdq-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxdq-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxwd-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxwd-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxwq-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxwq-2.c: Likewise. * gcc.target/i386/avx2-vpmuldq-1.c: Likewise. * gcc.target/i386/avx2-vpmuldq-2.c: Likewise. * gcc.target/i386/avx2-vpmulhrsw-1.c: Likewise. * gcc.target/i386/avx2-vpmulhrsw-2.c: Likewise. * gcc.target/i386/avx2-vpmulhuw-1.c: Likewise. * gcc.target/i386/avx2-vpmulhuw-2.c: Likewise. * gcc.target/i386/avx2-vpmulhw-1.c: Likewise. * gcc.target/i386/avx2-vpmulhw-2.c: Likewise. * gcc.target/i386/avx2-vpmulld-1.c: Likewise. * gcc.target/i386/avx2-vpmulld-2.c: Likewise. * gcc.target/i386/avx2-vpmullw-1.c: Likewise. * gcc.target/i386/avx2-vpmullw-2.c: Likewise. * gcc.target/i386/avx2-vpmuludq-1.c: Likewise. * gcc.target/i386/avx2-vpmuludq-2.c: Likewise. * gcc.target/i386/avx2-vpor-1.c: Likewise. * gcc.target/i386/avx2-vpor-2.c: Likewise. * gcc.target/i386/avx2-vpsadbw-1.c: Likewise. * gcc.target/i386/avx2-vpsadbw-2.c: Likewise. * gcc.target/i386/avx2-vpshufb-1.c: Likewise. * gcc.target/i386/avx2-vpshufb-2.c: Likewise. * gcc.target/i386/avx2-vpshufd-1.c: Likewise. * gcc.target/i386/avx2-vpshufd-2.c: Likewise. * gcc.target/i386/avx2-vpshufhw-1.c: Likewise. * gcc.target/i386/avx2-vpshufhw-2.c: Likewise. * gcc.target/i386/avx2-vpshuflw-1.c: Likewise. * gcc.target/i386/avx2-vpshuflw-2.c: Likewise. * gcc.target/i386/avx2-vpsignb-1.c: Likewise. * gcc.target/i386/avx2-vpsignb-2.c: Likewise. * gcc.target/i386/avx2-vpsignd-1.c: Likewise. * gcc.target/i386/avx2-vpsignd-2.c: Likewise. * gcc.target/i386/avx2-vpsignw-1.c: Likewise. * gcc.target/i386/avx2-vpsignw-2.c: Likewise. * gcc.target/i386/avx2-vpslld-1.c: Likewise. * gcc.target/i386/avx2-vpslld-2.c: Likewise. * gcc.target/i386/avx2-vpslldi-1.c: Likewise. * gcc.target/i386/avx2-vpslldi-2.c: Likewise. * gcc.target/i386/avx2-vpslldq-1.c: Likewise. * gcc.target/i386/avx2-vpslldq-2.c: Likewise. * gcc.target/i386/avx2-vpsllq-1.c: Likewise. * gcc.target/i386/avx2-vpsllq-2.c: Likewise. * gcc.target/i386/avx2-vpsllqi-1.c: Likewise. * gcc.target/i386/avx2-vpsllqi-2.c: Likewise. * gcc.target/i386/avx2-vpsllvd128-1.c: Likewise. * gcc.target/i386/avx2-vpsllvd128-2.c: Likewise. * gcc.target/i386/avx2-vpsllvd256-1.c: Likewise. * gcc.target/i386/avx2-vpsllvd256-2.c: Likewise. * gcc.target/i386/avx2-vpsllvq128-1.c: Likewise. * gcc.target/i386/avx2-vpsllvq128-2.c: Likewise. * gcc.target/i386/avx2-vpsllvq256-1.c: Likewise. * gcc.target/i386/avx2-vpsllvq256-2.c: Likewise. * gcc.target/i386/avx2-vpsllw-1.c: Likewise. * gcc.target/i386/avx2-vpsllw-2.c: Likewise. * gcc.target/i386/avx2-vpsllwi-1.c: Likewise. * gcc.target/i386/avx2-vpsllwi-2.c: Likewise. * gcc.target/i386/avx2-vpsrad-1.c: Likewise. * gcc.target/i386/avx2-vpsrad-2.c: Likewise. * gcc.target/i386/avx2-vpsradi-1.c: Likewise. * gcc.target/i386/avx2-vpsradi-2.c: Likewise. * gcc.target/i386/avx2-vpsravd128-1.c: Likewise. * gcc.target/i386/avx2-vpsravd128-2.c: Likewise. * gcc.target/i386/avx2-vpsravd256-1.c: Likewise. * gcc.target/i386/avx2-vpsravd256-2.c: Likewise. * gcc.target/i386/avx2-vpsraw-1.c: Likewise. * gcc.target/i386/avx2-vpsraw-2.c: Likewise. * gcc.target/i386/avx2-vpsrawi-1.c: Likewise. * gcc.target/i386/avx2-vpsrawi-2.c: Likewise. * gcc.target/i386/avx2-vpsrld-1.c: Likewise. * gcc.target/i386/avx2-vpsrld-2.c: Likewise. * gcc.target/i386/avx2-vpsrldi-1.c: Likewise. * gcc.target/i386/avx2-vpsrldi-2.c: Likewise. * gcc.target/i386/avx2-vpsrldq-1.c: Likewise. * gcc.target/i386/avx2-vpsrldq-2.c: Likewise. * gcc.target/i386/avx2-vpsrlq-1.c: Likewise. * gcc.target/i386/avx2-vpsrlq-2.c: Likewise. * gcc.target/i386/avx2-vpsrlqi-1.c: Likewise. * gcc.target/i386/avx2-vpsrlqi-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvd128-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvd128-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvd256-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvd256-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvq128-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvq128-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvq256-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvq256-2.c: Likewise. * gcc.target/i386/avx2-vpsrlw-1.c: Likewise. * gcc.target/i386/avx2-vpsrlw-2.c: Likewise. * gcc.target/i386/avx2-vpsrlwi-1.c: Likewise. * gcc.target/i386/avx2-vpsrlwi-2.c: Likewise. * gcc.target/i386/avx2-vpsubb-1.c: Likewise. * gcc.target/i386/avx2-vpsubb-2.c: Likewise. * gcc.target/i386/avx2-vpsubd-1.c: Likewise. * gcc.target/i386/avx2-vpsubd-2.c: Likewise. * gcc.target/i386/avx2-vpsubq-1.c: Likewise. * gcc.target/i386/avx2-vpsubq-2.c: Likewise. * gcc.target/i386/avx2-vpsubsb-1.c: Likewise. * gcc.target/i386/avx2-vpsubsb-2.c: Likewise. * gcc.target/i386/avx2-vpsubsw-1.c: Likewise. * gcc.target/i386/avx2-vpsubsw-2.c: Likewise. * gcc.target/i386/avx2-vpsubusb-1.c: Likewise. * gcc.target/i386/avx2-vpsubusb-2.c: Likewise. * gcc.target/i386/avx2-vpsubusw-1.c: Likewise. * gcc.target/i386/avx2-vpsubusw-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhbw-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhbw-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhdq-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhdq-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhqdq-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhqdq-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhwd-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhwd-2.c: Likewise. * gcc.target/i386/avx2-vpunpcklbw-1.c: Likewise. * gcc.target/i386/avx2-vpunpcklbw-2.c: Likewise. * gcc.target/i386/avx2-vpunpckldq-1.c: Likewise. * gcc.target/i386/avx2-vpunpckldq-2.c: Likewise. * gcc.target/i386/avx2-vpunpcklqdq-1.c: Likewise. * gcc.target/i386/avx2-vpunpcklqdq-2.c: Likewise. * gcc.target/i386/avx2-vpunpcklwd-1.c: Likewise. * gcc.target/i386/avx2-vpunpcklwd-2.c: Likewise. * gcc.target/i386/avx2-vpxor-1.c: Likewise. * gcc.target/i386/avx2-vpxor-2.c: Likewise. * gcc.target/i386/testimm-9.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178006 138bc75d-0d04-0410-961f-82ee72b054a4
-
meheff authored
PR middle-end/38509 * common.opt (Wfree-nonheap-object): New option. * doc/invoke.texi (Warning options): Document -Wfree-nonheap-object. * builtins.c (maybe_emit_free_warning): Add OPT_Wfree_nonheap_object to warning. (expand_builtin): Make warning conditional. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178004 138bc75d-0d04-0410-961f-82ee72b054a4
-
hjl authored
gcc/ 2011-08-23 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (type): Add imulx, ishiftx and rotatex. (length_immediate): Handle imulx, ishiftx and rotatex. (imm_disp): Ditto. (isa): Add bmi2. (enabled): Handle bmi2. (w): New mode attribute. (*mul<mode><dwi>3): Split from *<u>mul<mode><dwi>3. (*umul<mode><dwi>3): Ditto. Add imulx BMI2 alternative. (*bmi2_umulditi3_1): New insn pattern. (*bmi2_umulsidi3_1): Ditto. (*umul<mode><dwi>3 splitter): New splitter to avoid flags dependency. (*bmi2_ashl<mode>3_1): New insn pattern. (*ashl<mode>3_1): Add ishiftx BMI2 alternative. (*ashl<mode>3_1 splitter): New splitter to avoid flags dependency. (*bmi2_ashlsi3_1_zext): New insn pattern. (*ashlsi3_1_zext): Add ishiftx BMI2 alternative. (*ashlsi3_1_zext splitter): New splitter to avoid flags dependency. (*bmi2_<shiftrt_insn><mode>3_1): New insn pattern. (*<shiftrt_insn><mode>3_1): Add ishiftx BMI2 alternative. (*<shiftrt_insn><mode>3_1 splitter): New splitter to avoid flags dependency. (*bmi2_<shiftrt_insn>si3_1_zext): New insn pattern. (*<shiftrt_insn>si3_1_zext): Add ishiftx BMI2 alternative. (*<shiftrt_insn>si3_1_zext splitter): New splitter to avoid flags dependency. (*bmi2_rorx<mode>3_1): New insn pattern. (*<rotate_insn><mode>3_1): Add rotatex BMI2 alternative. (*rotate<mode>3_1 splitter): New splitter to avoid flags dependency. (*rotatert<mode>3_1 splitter): Ditto. (*bmi2_rorxsi3_1_zext): New insn pattern. (*<rotate_insn>si3_1_zext): Add rotatex BMI2 alternative. (*rotatesi3_1_zext splitter): New splitter to avoid flags dependency. (*rotatertsi3_1_zext splitter): Ditto. 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * common/config/i386/i386-common.c (OPTION_MASK_ISA_BMI2_SET): New. (OPTION_MASK_ISA_BMI2_UNSET): Likewise. (ix86_handle_option): Handle OPT_mbmi2 case. * config.gcc (i[34567]86-*-*): Add bmi2intrin.h. (x86_64-*-*): Likewise. * config/i386/bmi2intrin.h: New file. * config/i386/cpuid.h (bit_BMI2): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect BMI2 feature. * config/i386/i386-c.c (ix86_target_macros_internal): Conditionally define __BMI2__. * config/i386/i386.c (ix86_option_override_internal): Define PTA_BMI2. Handle BMI2 option. (ix86_valid_target_attribute_inner_p): Handle BMI2 option. (print_reg): New code. (ix86_print_operand): Likewise. (ix86_builtins): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64, IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32, IX86_BUILTIN_PEXT64. (bdesc_args): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64, IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32, IX86_BUILTIN_PEXT64. * config/i386/i386.h (TARGET_BMI2): New. * config/i386/i386.md (UNSPEC_PDEP): New. (UNSPEC_PEXT): Likewise. (*bmi2_bzhi_<mode>3): Likewise. (*bmi2_pdep_<mode>3): Likewise. (*bmi2_pext_<mode>3): Likewise. * config/i386/i386.opt (mbmi2): New. * config/i386/x86intrin.h: Include bmi2intrin.h when __BMI2__ is defined. * doc/extend.texi: Document BMI2 built-in functions. * doc/invoke.texi: Document -mbmi2. gcc/testsuite/ 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * g++.dg/other/i386-2.C: Add -mbmi2 check. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/bmi2-bzhi32-1.c: New testcase. * gcc.target/i386/bmi2-bzhi32-1a.c: Likewise. * gcc.target/i386/bmi2-bzhi64-1.c: Likewise. * gcc.target/i386/bmi2-bzhi64-1a.c: Likewise. * gcc.target/i386/bmi2-mulx32-1.c: Likewise. * gcc.target/i386/bmi2-mulx32-1a.c: Likewise. * gcc.target/i386/bmi2-mulx64-1.c: Likewise. * gcc.target/i386/bmi2-mulx64-1a.c: Likewise. * gcc.target/i386/bmi2-pdep32-1.c: Likewise. * gcc.target/i386/bmi2-pdep32-1a.c: Likewise. * gcc.target/i386/bmi2-pdep64-1.c: Likewise. * gcc.target/i386/bmi2-pdep64-1a.c: Likewise. * gcc.target/i386/bmi2-pext32-1.c: Likewise. * gcc.target/i386/bmi2-pext32-1a.c: Likewise. * gcc.target/i386/bmi2-pext64-1.c: Likewise. * gcc.target/i386/bmi2-pext64-1a.c: Likewise. * gcc.target/i386/bmi2-rorx32-1.c: Likewise. * gcc.target/i386/bmi2-rorx32-1a.c: Likewise. * gcc.target/i386/bmi2-rorx64-1.c: Likewise. * gcc.target/i386/bmi2-rorx64-1a.c: Likewise. * gcc.target/i386/bmi2-sarx32-1.c: Likewise. * gcc.target/i386/bmi2-sarx32-1a.c: Likewise. * gcc.target/i386/bmi2-sarx64-1.c: Likewise. * gcc.target/i386/bmi2-sarx64-1a.c: Likewise. * gcc.target/i386/bmi2-shlx32-1.c: Likewise. * gcc.target/i386/bmi2-shlx32-1a.c: Likewise. * gcc.target/i386/bmi2-shlx64-1.c: Likewise. * gcc.target/i386/bmi2-shlx64-1a.c: Likewise. * gcc.target/i386/bmi2-shrx32-1.c: Likewise. * gcc.target/i386/bmi2-shrx32-1a.c: Likewise. * gcc.target/i386/bmi2-shrx64-1.c: Likewise. * gcc.target/i386/bmi2-shrx64-1a.c: Likewise. * gcc.target/i386/i386.exp (check_effective_target_bmi2): New. * gcc.target/i386/sse-12.c: Add BMI2. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewise. * gcc.target/i386/sse-23.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178001 138bc75d-0d04-0410-961f-82ee72b054a4
-