Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch uses byte_lowpart_offset in places that open-coded the
calculation.
2017-10-13 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
gcc/
* caller-save.c (replace_reg_with_saved_mem): Use byte_lowpart_offset.
* combine.c (gen_lowpart_for_combine): Likewise.
* dwarf2out.c (rtl_for_decl_location): Likewise.
* final.c (alter_subreg): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
(gen_lowpart_if_possible): Likewise.
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r253714
|
|
This patch uses subreg_lowpart_offset in places that open-coded
the calculation. It also uses it in regcprop.c to test whether,
after a mode change, the first register in a multi-register group
is still the right one.
2017-10-13 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
gcc/
* calls.c (expand_call): Use subreg_lowpart_offset.
* cse.c (cse_insn): Likewise.
* regcprop.c (copy_value): Likewise.
(copyprop_hardreg_forward_1): Likewise.
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r253713
|
|
PR target/82524
* config/i386/i386.md (addqi_ext_1, andqi_ext_1,
*andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change
=Q constraints to +Q and into insn condition add check
that operands[0] and operands[1] are equal.
(*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change
=Q constraints to +Q and into insn condition add check
that operands[0] is equal to either operands[1] or operands[2].
* gcc.c-torture/execute/pr82524.c: New test.
From-SVN: r253710
|
|
PR target/82498
* fold-const.c (fold_binary_loc) <bit_rotate>: Code cleanups,
instead of handling MINUS_EXPR twice (once for each argument),
canonicalize operand order and handle just once, use rtype where
possible. Handle (A << B) | (A >> (-B & (Z - 1))).
* gcc.dg/tree-ssa/pr82498.c: New test.
From-SVN: r253709
|
|
PR target/82498
* config/i386/ia32intrin.h (__rold, __rord, __rolq, __rorq): Allow
any values of __C while still being pattern recognizable as a simple
rotate instruction.
* gcc.dg/ubsan/pr82498.c: New test.
From-SVN: r253708
|
|
2017-10-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/82451
Revert
2017-10-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/82355
* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
a mapping for the enclosing loop but avoid generating one for
the loop tree root.
(copy_bb_and_scalar_dependences): Remove premature codegen
error on PHIs in blocks duplicated into multiple places.
* graphite-scop-detection.c
(scop_detection::stmt_has_simple_data_refs_p): For a loop not
in the region use it as loop and nest to analyze the DR in.
(try_generate_gimple_bb): Likewise.
* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
(add_loop_constraints): For blocks in a loop not in the region
create a dimension with a single iteration.
* sese.h (gbb_loop_at_index): Remove assert.
* cfgloop.c (loop_preheader_edge): For the loop tree root
return the single successor of the entry block.
* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
Reset the SCEV hashtable and niters.
* graphite-scop-detection.c
(scop_detection::graphite_can_represent_scev): Add SCOP parameter,
assert that we only have POLYNOMIAL_CHREC that vary in loops
contained in the region.
(scop_detection::graphite_can_represent_expr): Adjust.
(scop_detection::stmt_has_simple_data_refs_p): For loops
not in the region set loop to NULL. The nest is now the
entry edge to the region.
(try_generate_gimple_bb): Likewise.
* sese.c (scalar_evolution_in_region): Adjust for
instantiate_scev change.
* tree-data-ref.h (graphite_find_data_references_in_stmt):
Make nest parameter the edge into the region.
(create_data_ref): Likewise.
* tree-data-ref.c (dr_analyze_indices): Make nest parameter an
entry edge into a region and adjust instantiate_scev calls.
(create_data_ref): Likewise.
(graphite_find_data_references_in_stmt): Likewise.
(find_data_references_in_stmt): Pass the loop preheader edge
from the nest argument.
* tree-scalar-evolution.h (instantiate_scev): Make instantiate_below
parameter the edge into the region.
(instantiate_parameters): Use the loop preheader edge as entry.
* tree-scalar-evolution.c (analyze_scalar_evolution): Handle
NULL loop.
(get_instantiated_value_entry): Make instantiate_below parameter
the edge into the region.
(instantiate_scev_name): Likewise. Adjust dominance checks,
when we cannot use loop-based instantiation instantiate by
walking use-def chains.
(instantiate_scev_poly): Adjust.
(instantiate_scev_binary): Likewise.
(instantiate_scev_convert): Likewise.
(instantiate_scev_not): Likewise.
(instantiate_array_ref): Remove.
(instantiate_scev_3): Likewise.
(instantiate_scev_2): Likewise.
(instantiate_scev_1): Likewise.
(instantiate_scev_r): Do not blindly handle N-operand trees.
Do not instantiate array-refs. Handle all constants and invariants.
(instantiate_scev): Make instantiate_below parameter
the edge into the region.
(resolve_mixers): Use the loop preheader edge for the region
parameter to instantiate_scev_r.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Adjust.
* gcc.dg/graphite/pr82451.c: New testcase.
* gfortran.dg/graphite/id-27.f90: Likewise.
* gfortran.dg/graphite/pr82451.f: Likewise.
From-SVN: r253707
|
|
operations we cannot represent)
2017-10-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/82525
* graphite-isl-ast-to-gimple.c
(translate_isl_ast_to_gimple::widest_int_from_isl_expr_int): Split
out from ...
(translate_isl_ast_to_gimple::gcc_expression_from_isl_expr_int): Here.
Fail code generation when we cannot represent the isl integer.
(binary_op_to_tree): Elide modulo operations that are no-ops
in the type we code generate. Remove now superfluous code
generation errors.
* gcc.dg/graphite/id-30.c: New testcase.
* gfortran.dg/graphite/id-28.f90: Likewise.
From-SVN: r253706
|
|
2017-10-13 Richard Biener <rguenther@suse.de>
* graphite-scop-detection.c (loop_ivs_can_be_represented): Remove.
(scop_detection::harmful_loop_in_region): Remove premature
IV type restriction.
(scop_detection::graphite_can_represent_scev): We can handle
pointer IVs just fine.
From-SVN: r253705
|
|
From-SVN: r253704
|
|
* doc/extend.texi (Extended Asm <Clobbers>): Rename to
"Clobbers and Scratch Registers". Add paragraph on
alternative to clobbers for scratch registers and OpenBLAS
example.
From-SVN: r253701
|
|
* doc/extend.texi (Clobbers): Correct vax example. Delete old
example of a memory input for a string of known length. Move
commentary out of table. Add a number of new examples
covering array memory inputs.
testsuite/
* gcc.target/i386/asm-mem.c: New test.
From-SVN: r253700
|
|
shift exponent 64 is too large for 64-bit type 'long unsigned int')
PR tree-optimization/82493
* sbitmap.c (bitmap_bit_in_range_p): Fix the implementation.
(test_range_functions): New function.
(sbitmap_c_tests): Likewise.
* selftest-run-tests.c (selftest::run_tests): Run new tests.
* selftest.h (sbitmap_c_tests): New function.
* tree-ssa-dse.c (live_bytes_read): Fix thinko.
From-SVN: r253699
|
|
From-SVN: r253696
|
|
PR target/82498
* config/i386/i386.md (*ashl<mode>3_mask_1,
*<shift_insn><mode>3_mask_1, *<rotate_insn><mode>3_mask_1,
*<btsc><mode>_mask_1, *btr<mode>_mask_1): New define_insn_and_split
patterns.
* gcc.target/i386/pr82498-1.c: New test.
* gcc.target/i386/pr82498-2.c: New test.
From-SVN: r253695
|
|
We were looking for the " = " before the optional package name that
appears for an indirect reference, but the exporter was putting it
after.
Test is https://golang.org/cl/70290.
Reviewed-on: https://go-review.googlesource.com/70330
From-SVN: r253694
|
|
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00784.html
* cp-tree.h (cp_expr): Add const operator * and operator->
accessors.
(cp_tree_node_structure_enum): Delete TS_CP_BINDING,
TS_CP_WRAPPER, LAST_TS_CP_ENUM.
From-SVN: r253693
|
|
* profile-count.c (safe_scale_64bit): Fix GCC4.x path.
(profile_probability): Set max_probability
to (uint32_t) 1 << (n_bits - 2) and update accessors to avoid overlfows
in temporaries.
* profile-count.c (profile_probability::differs_from_p): Do not
rely on max_probaiblity == 10000
* gcc.dg/predict-13.c: Update template for probaility change.
* gcc.dg/predict-8.c: Likewise.
From-SVN: r253692
|
|
* tree-ssa-dse.c (valid_ao_ref_for_dse): Reject ao_refs with
negative offsets.
From-SVN: r253691
|
|
The patch improves our C/C++ frontends' handling of missing
symbols, by making c_parser_require and cp_parser_require use
"better" locations for the diagnostic, and insert fix-it hints,
under certain circumstances (see the comments in the patch for
full details).
For example, for this code with a missing semicolon:
$ cat test.c
int missing_semicolon (void)
{
return 42
}
trunk currently emits:
test.c:4:1: error: expected ';' before '}' token
}
^
This patch adds a fix-it hint for the missing semicolon, and puts
the error at the location of the missing semicolon, printing the
followup token as a secondary location:
test.c:3:12: error: expected ';' before '}' token
return 42
^
;
}
~
More examples can be seen in the test cases.
gcc/c-family/ChangeLog:
* c-common.c (enum missing_token_insertion_kind): New enum.
(get_missing_token_insertion_kind): New function.
(maybe_suggest_missing_token_insertion): New function.
* c-common.h (maybe_suggest_missing_token_insertion): New decl.
gcc/c/ChangeLog:
* c-parser.c (c_parser_require): Add "type_is_unique" param and
use it to guard calls to maybe_suggest_missing_token_insertion.
(c_parser_parms_list_declarator): Override default value of new
"type_is_unique" param to c_parser_require.
(c_parser_asm_statement): Likewise.
* c-parser.h (c_parser_require): Add "type_is_unique" param,
defaulting to true.
gcc/cp/ChangeLog:
* parser.c (get_required_cpp_ttype): New function.
(cp_parser_error_1): Call it, using the result to call
maybe_suggest_missing_token_insertion.
gcc/testsuite/ChangeLog:
* c-c++-common/cilk-plus/AN/parser_errors.c: Update expected
output to reflect changes to reported locations of missing
symbols.
* c-c++-common/cilk-plus/AN/parser_errors2.c: Likewise.
* c-c++-common/cilk-plus/AN/parser_errors3.c: Likewise.
* c-c++-common/cilk-plus/AN/pr61191.c: Likewise.
* c-c++-common/gomp/pr63326.c: Likewise.
* c-c++-common/missing-close-symbol.c: Likewise, also update for
new fix-it hints.
* c-c++-common/missing-symbol.c: Likewise, also add test coverage
for missing colon in ternary operator.
* g++.dg/cpp1y/digit-sep-neg.C: Likewise.
* g++.dg/cpp1y/pr65202.C: Likewise.
* g++.dg/missing-symbol-2.C: New test case.
* g++.dg/other/do1.C: Update expected output to reflect
changes to reported locations of missing symbols.
* g++.dg/parse/error11.C: Likewise.
* g++.dg/template/error11.C: Likewise.
* gcc.dg/missing-symbol-2.c: New test case.
* gcc.dg/missing-symbol-3.c: New test case.
* gcc.dg/noncompile/940112-1.c: Update expected output to reflect
changes to reported locations of missing symbols.
* gcc.dg/noncompile/971104-1.c: Likewise.
* obj-c++.dg/exceptions-6.mm: Likewise.
* obj-c++.dg/pr48187.mm: Likewise.
* objc.dg/exceptions-6.m: Likewise.
From-SVN: r253690
|
|
r253041 segfault on powerpc64
PR c/82301 - Updated test case g++.dg/ext/attr-ifunc-1.C (and others) in r253041 segfault on powerpc64
PR c/82435 - new __attribute__((alias)) warning gets in the way
gcc/ChangeLog:
PR other/82301
PR c/82435
* cgraphunit.c (maybe_diag_incompatible_alias): New function.
(handle_alias_pairs): Call it.
* common.opt (-Wattribute-alias): New option.
* doc/extend.texi (ifunc attribute): Discuss C++ specifics.
* doc/invoke.texi (-Wattribute-alias): Document.
gcc/testsuite/ChangeLog:
PR other/82301
PR c/82435
* g++.dg/ext/attr-ifunc-1.C: Update.
* g++.dg/ext/attr-ifunc-2.C: Same.
* g++.dg/ext/attr-ifunc-3.C: Same.
* g++.dg/ext/attr-ifunc-4.C: Same.
* g++.dg/ext/attr-ifunc-5.C: Same.
* g++.dg/ext/attr-ifunc-6.C: New test.
* g++.old-deja/g++.abi/vtable2.C: Update.
* gcc.dg/attr-ifunc-6.c: New test.
* gcc.dg/attr-ifunc-7.c: New test.
* gcc.dg/pr81854.c: Update.
* lib/target-supports.exp: Update.
From-SVN: r253688
|
|
In r251026 (aka 3fe34694f0990d1d649711ede0326497f8a849dc,
"C/C++: show pertinent open token when missing a close token")
I copied part of cp_parser_error into cp_parser_required_error,
leading to duplication of code.
This patch eliminates this duplication by merging the two copies of the
code into a new cp_parser_error_1 subroutine.
Doing so removes an indentation level, making the patch appear to have
more churn than it really does.
The patch also undoes the change to g++.dg/parse/pragma2.C, as the
old behavior is restored.
From-SVN: r253686
|
|
2017-10-12 Vladimir Makarov <vmakarov@redhat.com>
Revert
2017-10-11 Vladimir Makarov <vmakarov@redhat.com>
PR sanitizer/82353
* lra.c (collect_non_operand_hard_regs): Don't ignore operator
locations.
* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
(make_hard_regno_born, make_hard_regno_dead): Update
bb_killed_pseudos and bb_gen_pseudos.
From-SVN: r253685
|
|
From-SVN: r253684
|
|
swapping.
* config/alpha/alpha.c (alpha_split_conditional_move):
Use std::swap instead of manually swapping.
(alpha_stdarg_optimize_hook): Ditto.
(alpha_canonicalize_comparison): Ditto.
From-SVN: r253681
|
|
* tree-loop-distribution.c (struct builtin_info): New struct.
(struct partition): Refactor fields into struct builtin_info.
(partition_free): Free struct builtin_info.
(build_size_arg_loc, build_addr_arg_loc): Delete.
(generate_memset_builtin, generate_memcpy_builtin): Get memory range
information from struct builtin_info.
(find_single_drs): New function refactored from classify_partition.
Also moved builtin validity checks to this function.
(compute_access_range, alloc_builtin): New functions.
(classify_builtin_st, classify_builtin_ldst): New functions.
(classify_partition): Refactor code into functions find_single_drs,
classify_builtin_st and classify_builtin_ldst.
(distribute_loop): Don't do runtime alias check when distributing
loop nest.
(find_seed_stmts_for_distribution): New function.
(pass_loop_distribution::execute): Refactor code finding seed
stmts into above function. Support distribution for the innermost
two-level loop nest. Adjust dump information.
gcc/testsuite
* gcc.dg/tree-ssa/ldist-28.c: New test.
* gcc.dg/tree-ssa/ldist-29.c: New test.
* gcc.dg/tree-ssa/ldist-30.c: New test.
* gcc.dg/tree-ssa/ldist-31.c: New test.
From-SVN: r253680
|
|
* tree-loop-distribution.c: Adjust the general comment.
(NUM_PARTITION_THRESHOLD): New macro.
(ssa_name_has_uses_outside_loop_p): Support loop nest distribution.
(classify_partition): Skip builtin pattern of loop nest's inner loop.
(merge_dep_scc_partitions): New parameter ignore_alias_p and use it
in call to build_partition_graph.
(finalize_partitions): New parameter. Make loop distribution more
conservative by fusing more partitions.
(distribute_loop): Don't do runtime alias check in case of loop nest
distribution.
(find_seed_stmts_for_distribution): New function.
(prepare_perfect_loop_nest): New function.
(pass_loop_distribution::execute): Refactor code finding seed stmts
and loop nest into above functions. Support loop nest distribution.
Adjust dump information accordingly.
gcc/testsuite
* gcc.dg/tree-ssa/ldist-7.c: Adjust test string.
* gcc.dg/tree-ssa/ldist-16.c: Ditto.
* gcc.dg/tree-ssa/ldist-25.c: Ditto.
* gcc.dg/tree-ssa/ldist-33.c: New test.
From-SVN: r253679
|
|
PTYPE_SEQUENTIAL for merged partition.
* tree-loop-distribution.c (break_alias_scc_partitions): Add comment
and set PTYPE_SEQUENTIAL for merged partition.
From-SVN: r253678
|
|
outer_projection_mupa, at graphite-sese-to-poly.c:1175)
2017-10-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69728
Revert
2017-09-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69728
* graphite-sese-to-poly.c (schedule_error): New global.
(add_loop_schedule): Handle empty domain by failing the
schedule.
(build_original_schedule): Handle schedule_error.
* graphite-sese-to-poly.c (add_loop_schedule): Handle empty
domain by returning an unchanged schedule.
* gcc.dg/graphite/pr69728.c: Adjust to reflect we can handle
the loop now. Remove unrelated undefined behavior.
From-SVN: r253677
|
|
selectors are 0 to GET_MODE_NUNITS (imode) - 1.
* genrecog.c (validate_pattern): For VEC_SELECT verify that
CONST_INT selectors are 0 to GET_MODE_NUNITS (imode) - 1.
From-SVN: r253676
|
|
* Makefile.in (TAGS): Merge all the *.def files into one pattern.
Handle params.def.
From-SVN: r253674
|
|
PR c++/82159
* expr.c (store_field): Don't optimize away bitsize == 0 store
from CALL_EXPR with addressable return type.
* g++.dg/opt/pr82159-2.C: New test.
From-SVN: r253673
|
|
PR target/82353
* gcc.target/i386/i386.exp (tests): Revert the '.C' extension change.
* gcc.target/i386/pr82353.C: Moved to ...
* g++.dg/ubsan/pr82353.C: ... here. Restrict to i?86/x86_64 && lp64.
From-SVN: r253672
|
|
TARGET_ISEL64 just means TARGET_ISEL && TARGET_POWERPC64. Since
everywhere it is used uses :GPR already, we can just as well use
TARGET_ISEL always.
* config/rs6000/rs6000.h (TARGET_ISEL64): Delete.
* config/rs6000/rs6000.md (sel): Delete mode attribute.
(mov<mode>cc, isel_signed_<mode>, isel_unsigned_<mode>,
*isel_reversed_signed_<mode>, *isel_reversed_unsigned_<mode>): Use
TARGET_ISEL instead of TARGET_ISEL<sel>.
From-SVN: r253671
|
|
From-SVN: r253670
|
|
for NULL decl.
From-SVN: r253667
|
|
header files, as is done in ../system.h.
* go-system.h (__STDC_FORMAT_MACROS): Define before including any
system header files, as is done in ../system.h.
From-SVN: r253666
|
|
This removes output_isel. Instead, the define_insn's now output the
isel instructions directly.
It adds a reg_or_zero operand predicate, too, because the reg_or_cint
predicate is too lax here. Also use it in the "reversed" variants of
the instructions.
* config/rs6000/predicates.md (zero_constant, all_ones_constant):
Move up in file.
(reg_or_cint_operand): Fix comment.
(reg_or_zero_operand): New predicate.
* config/rs6000/rs6000-protos.h (output_isel): Delete.
* config/rs6000/rs6000.c (output_isel): Delete.
* config/rs6000/rs6000.md (isel_signed_<mode>): Use reg_or_zero_operand
instead of reg_or_cint_operand. Output instruction directly (not via
output_isel).
(isel_unsigned_<mode>): Ditto.
(*isel_reversed_signed_<mode>): Use reg_or_zero_operand instead of
gpc_reg_operand. Add an instruction alternative for this. Output
instruction directly.
(*isel_reversed_unsigned_<mode>): Ditto.
From-SVN: r253665
|
|
Reviewed-on: https://go-review.googlesource.com/69891
From-SVN: r253664
|
|
* config/i386/i386.c (ix86_canonicalize_comparison): New function.
(TARGET_CANONICALIZE_COMPARISON): Define.
testsuite/ChangeLog:
* gcc.target/i386/387-ficom-2.c: New test.
From-SVN: r253663
|
|
PR middle-end/80421
* gcc.c-torture/execute/pr80421.c: New test.
From-SVN: r253662
|
|
PR tree-optimization/78558
* gcc.dg/vect/pr78558.c: New test.
From-SVN: r253661
|
|
PR c++/82414
* g++.dg/lto/pr82414_0.C: New test.
From-SVN: r253660
|
|
PR c++/78523
* g++.dg/cpp1y/pr78523.C: New test.
From-SVN: r253659
|
|
PR c++/80194
* g++.dg/cpp1y/pr80194.C: New test.
From-SVN: r253658
|
|
at ira.c:3425)
/gcc
2017-10-11 Qing Zhao <qing.zhao@oracle.com>
PR target/81422
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Check whether the dest is REG before adding REG_EQUIV note.
/gcc/testsuite
2017-10-11 Qing Zhao <qing.zhao@oracle.com>
PR target/81422
* gcc.target/aarch64/pr81422.C: New test.
From-SVN: r253657
|
|
2017-10-11 Vladimir Makarov <vmakarov@redhat.com>
PR sanitizer/82353
* lra.c (collect_non_operand_hard_regs): Don't ignore operator
locations.
* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
(make_hard_regno_born, make_hard_regno_dead): Update
bb_killed_pseudos and bb_gen_pseudos.
2017-10-11 Vladimir Makarov <vmakarov@redhat.com>
PR sanitizer/82353
* gcc.target/i386/i386.exp (tests): Permit '.C' extension.
* gcc.target/i386/pr82353.C: New.
From-SVN: r253656
|
|
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00693.html
gcc/
* incpath.h (enum incpath_kind): Name enum, prefix values.
(add_path, add_cpp_dir_path, get_added_cpp_dirs): Use incpath_kind.
* incpath.c (heads, tails): Use INC_MAX.
(add_env_var_paths, add_standard_paths): Use incpath_kind.
(merge_include_chains, split_quote_chain,
register_include_chains): Update incpath_kind names.
(add_cpp_dir_path, add_path, get_added_cpp_dirs): Use incpath_kind.
* config/darwin-c.c (add_system_framework_path): Update incpath_kind
names.
(add_framework_path, darwin_register_objc_includes): Likewise.
* config/vms/vms-c.c (vms_c_register_includes): Likewise.
gcc/c-family/
* c-opts.c (add_prefixed_path): Change chain to incpath_kind.
(c_common_handle_option): Update incpath_kind names.
gcc/fortran/
* cpp.c (gfc_cpp_add_include_path): Update incpath_e names.
(gfc_cpp_add_include_path_after): Likewise.
From-SVN: r253654
|
|
operator predicate.
* config/i386/i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387):
Do not use float_operator operator predicate.
(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Ditto.
* config/i386/predicates.md (float_operator): Remove predicate.
* config/i386/i386.md (*jcc<mode>_0_i387): Remove insn pattern.
(*jccxf_i387): Ditto.
(*jcc<mode>_i387): Ditto.
(*jccu<mode>_i387): Ditto.
(*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Ditto.
(*jcc_*_i387 splitters): Remove.
* config/i386/i386-protos.h (ix86_split_fp_branch): Remove prototype.
* config/i386/i386.c (ix86_split_fp_branch): Remove.
* config/i386/predicates.md (ix86_swapped_fp_comparison_operator):
Remove predicate.
testsuite/ChangeLog:
* gcc.target/i386/387-ficom-1.c: New test.
From-SVN: r253653
|
|
* profile-count.h (slow_safe_scale_64bit): New function.
(safe_scale_64bit): New inline.
(profile_count::max_safe_multiplier): Remove; use safe_scale_64bit.
* profile-count.c: Include wide-int.h
(slow_safe_scale_64bit): New.
From-SVN: r253652
|
|
computation of end of complex_attrib_array_types.
* gcc.dg/struct-layout-1_generate.c (generate_fields): Fix typo in
address computation of end of complex_attrib_array_types.
From-SVN: r253650
|