X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfig%2Fxtensa-relax.c;h=3adbf2aa60a68fc308ade94f2836f0b7416b8c01;hb=39d911fc3c6519799ca1af4365d4b56f9d71ca94;hp=f8ec7ad6b4f2df844c76d4674976a60ea9f73dc6;hpb=9c2799c243988c1a6d3fe93c7c2c06599672068d;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c index f8ec7ad6b4..3adbf2aa60 100644 --- a/gas/config/xtensa-relax.c +++ b/gas/config/xtensa-relax.c @@ -1,5 +1,5 @@ /* Table of relaxations for Xtensa assembly. - Copyright 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2003-2016 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -247,7 +247,7 @@ struct string_pattern_pair_struct addi.n a4, 0x1010 => addi a4, 0x1010 => addmi a4, 0x1010 - => addmi a4, 0x1000, addi a4, 0x10. + => addmi a4, 0x1000, addi a4, 0x10. See the comments in xg_assembly_relax for some important details regarding how these chains must be built. */ @@ -351,7 +351,7 @@ static string_pattern_pair widen_spec_list[] = out-of-range branch. Put the wide branch relaxations first in the table since they are more efficient than the branch-around relaxations. */ - + {"beqz %as,%label ? IsaUseWideBranches", "WIDE.beqz %as,%label"}, {"bnez %as,%label ? IsaUseWideBranches", "WIDE.bnez %as,%label"}, {"bgez %as,%label ? IsaUseWideBranches", "WIDE.bgez %as,%label"}, @@ -376,7 +376,7 @@ static string_pattern_pair widen_spec_list[] = {"bnall %as,%at,%label ? IsaUseWideBranches", "WIDE.bnall %as,%at,%label"}, {"bbc %as,%at,%label ? IsaUseWideBranches", "WIDE.bbc %as,%at,%label"}, {"bbs %as,%at,%label ? IsaUseWideBranches", "WIDE.bbs %as,%at,%label"}, - + /* Widening branch comparisons eq/ne to zero. Prefer relaxing to narrow branches if the density option is available. */ {"beqz %as,%label ? IsaUseDensityInstruction", "bnez.n %as,%LABEL;j %label;LABEL"}, @@ -869,7 +869,7 @@ clear_opname_map (opname_map *m) static bfd_boolean same_operand_name (const opname_map_e *m1, const opname_map_e *m2) { - if (m1->operand_name == NULL || m1->operand_name == NULL) + if (m1->operand_name == NULL || m2->operand_name == NULL) return FALSE; return (m1->operand_name == m2->operand_name); } @@ -1024,7 +1024,7 @@ parse_special_fn (const char *name, const char **fn_name_p, const char **arg_name_p) { - char *p_start; + const char *p_start; const char *p_end; p_start = strchr (name, '('); @@ -1543,7 +1543,7 @@ transition_applies (insn_pattern *initial_insn, else if (!strcmp (option_name, "Loops")) option_available = (XCHAL_HAVE_LOOPS == 1); else if (!strcmp (option_name, "WideBranches")) - option_available + option_available = (XCHAL_HAVE_WIDE_BRANCHES == 1 && produce_flix == FLIX_ALL); else if (!strcmp (option_name, "PredictedBranches")) option_available @@ -1572,7 +1572,7 @@ transition_applies (insn_pattern *initial_insn, static bfd_boolean wide_branch_opcode (const char *opcode_name, - char *suffix, + const char *suffix, xtensa_opcode *popcode) { xtensa_isa isa = xtensa_default_isa; @@ -1612,7 +1612,7 @@ build_transition (insn_pattern *initial_insn, precond_e *precond; insn_repl_e *r; - if (!wide_branch_opcode (initial_insn->t.opcode_name, ".w18", &opcode) + if (!wide_branch_opcode (initial_insn->t.opcode_name, ".w18", &opcode) && !wide_branch_opcode (initial_insn->t.opcode_name, ".w15", &opcode)) opcode = xtensa_opcode_lookup (isa, initial_insn->t.opcode_name);