@@ -1400,6 +1400,7 @@ alpha_rtx_costs (rtx x, machine_mode mode, int outer_code, int opno, int *total,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case CONST_DOUBLE:
case CONST_WIDE_INT:
@@ -1468,6 +1469,7 @@ alpha_rtx_costs (rtx x, machine_mode mode, int outer_code, int opno, int *total,
return false;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case ASHIFTRT:
case LSHIFTRT:
@@ -1504,6 +1506,7 @@ alpha_rtx_costs (rtx x, machine_mode mode, int outer_code, int opno, int *total,
return false;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case ABS:
if (! float_mode_p)
@@ -1512,6 +1515,7 @@ alpha_rtx_costs (rtx x, machine_mode mode, int outer_code, int opno, int *total,
return false;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case FLOAT:
case UNSIGNED_FLOAT:
@@ -2130,6 +2134,7 @@ alpha_legitimate_constant_p (machine_mode mode, rtx x)
if (GET_CODE (x) != SYMBOL_REF)
return true;
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
/* TLS symbols are never valid. */
@@ -2161,6 +2166,7 @@ alpha_legitimate_constant_p (machine_mode mode, rtx x)
if (GET_MODE_SIZE (mode) != 8)
return false;
/* FALLTHRU */
+ gcc_fallthrough ();
case CONST_INT:
if (TARGET_BUILD_CONSTANTS)
@@ -2658,6 +2664,7 @@ alpha_emit_setcc (rtx operands[], machine_mode cmp_mode)
if (cmp_mode == DImode && op1 == const0_rtx)
break;
/* FALLTHRU */
+ gcc_fallthrough ();
case ORDERED:
cmp_code = reverse_condition (code);
@@ -3095,6 +3102,7 @@ alpha_emit_xfloating_libcall (rtx func, rtx target, rtx operands[],
case VOIDmode:
gcc_assert (CONST_INT_P (operands[i]));
/* FALLTHRU */
+ gcc_fallthrough ();
case DImode:
reg = gen_rtx_REG (DImode, regno);
regno += 1;
@@ -5787,6 +5795,7 @@ alpha_function_value_1 (const_tree valtype, const_tree func ATTRIBUTE_UNUSED,
if (!(TARGET_ABI_OPEN_VMS && valtype && AGGREGATE_TYPE_P (valtype)))
PROMOTE_MODE (mode, dummy, valtype);
/* FALLTHRU */
+ gcc_fallthrough ();
case MODE_COMPLEX_INT:
case MODE_VECTOR_INT:
@@ -7092,6 +7101,7 @@ alpha_fold_builtin (tree fndecl, int n_args, tree *op,
case ALPHA_BUILTIN_ZAP:
opint[1] ^= 0xff;
/* FALLTHRU */
+ gcc_fallthrough ();
case ALPHA_BUILTIN_ZAPNOT:
return alpha_fold_builtin_zapnot (op, opint, op_const);
@@ -182,6 +182,7 @@
if (register_operand (op, mode))
return 1;
/* ... fall through ... */
+ gcc_fallthrough ();
case MEM:
return ((TARGET_BWX || (mode != HImode && mode != QImode))
&& general_operand (op, mode));
@@ -734,6 +734,7 @@ arc_init (void)
break;
}
/* Fall through. */
+ gcc_fallthrough ();
default:
arc_multcost = COSTS_N_INSNS (30);
break;
@@ -3448,6 +3449,7 @@ arc_print_operand (FILE *file, rtx x, int code)
break;
}
/* Fall through. Let output_addr_const deal with it. */
+ gcc_fallthrough ();
default :
if (flag_pic
|| (GET_CODE (x) == CONST
@@ -4460,6 +4462,7 @@ arc_rtx_costs (rtx x, machine_mode mode, int outer_code,
}
}
/* FALLTHRU */
+ gcc_fallthrough ();
/* 4 byte values can be fetched as immediate constants -
let's give that the cost of an extra insn. */
@@ -4609,6 +4612,7 @@ arc_rtx_costs (rtx x, machine_mode mode, int outer_code,
return true;
}
/* Fall through. */
+ gcc_fallthrough ();
/* scc_insn expands into two insns. */
case GTU: case GEU: case LEU:
if (mode == SImode)
@@ -5408,10 +5412,12 @@ arc_legitimate_constant_p (machine_mode mode, rtx x)
if (SYMBOL_REF_TLS_MODEL (x))
return false;
/* Fall through. */
+ gcc_fallthrough ();
case LABEL_REF:
if (flag_pic)
return false;
/* Fall through. */
+ gcc_fallthrough ();
default:
break;
@@ -8035,6 +8041,7 @@ arc_get_insn_variants (rtx_insn *insn, int len, bool, bool target_p,
ilv++;
}
/* Fall through. */
+ gcc_fallthrough ();
case TYPE_BRCC_NO_DELAY_SLOT:
/* doloop_fallback* patterns are TYPE_BRCC_NO_DELAY_SLOT for
(delay slot) scheduling purposes, but they are longer. */
@@ -8356,6 +8363,7 @@ arc_ifcvt (void)
continue;
}
/* Fall through. */
+ gcc_fallthrough ();
case 4: case 5:
if (!NONDEBUG_INSN_P (insn))
break;
@@ -9820,6 +9828,7 @@ arc_expand_atomic_op (enum rtx_code code, rtx mem, rtx val,
}
/* FALLTHRU. */
+ gcc_fallthrough ();
default:
x = gen_rtx_fmt_ee (code, mode, before, val);
emit_insn (gen_rtx_SET (after, x));
@@ -517,6 +517,7 @@
if (GET_MODE (op) == CC_ZNmode)
return 1;
/* Fall through. */
+ gcc_fallthrough ();
case CC_ZNmode: case CC_Cmode:
return GET_MODE (op) == CCmode;
default:
@@ -229,6 +229,7 @@ avr_log_vadump (FILE *file, const char *caller, va_list ap)
if (!current_pass)
return;
/* FALLTHRU */
+ gcc_fallthrough ();
case '?':
avr_vdump (file, caller, "%F[%f:%P]");
@@ -6212,6 +6212,7 @@ ashrqi3_out (rtx_insn *insn, rtx operands[], int *len)
break;
/* fall through */
+ gcc_fallthrough ();
case 7:
*len = 2;
@@ -6377,6 +6378,7 @@ ashrhi3_out (rtx_insn *insn, rtx operands[], int *len)
break;
/* fall through */
+ gcc_fallthrough ();
case 15:
return *len = 3, ("lsl %B0" CR_TAB
@@ -6434,6 +6436,7 @@ avr_out_ashrpsi3 (rtx_insn *insn, rtx *op, int *plen)
break;
/* fall through */
+ gcc_fallthrough ();
case 23:
return avr_asm_len ("lsl %C0" CR_TAB
@@ -6524,6 +6527,7 @@ ashrsi3_out (rtx_insn *insn, rtx operands[], int *len)
break;
/* fall through */
+ gcc_fallthrough ();
case 31:
if (AVR_HAVE_MOVW)
@@ -6936,6 +6940,7 @@ avr_out_lshrpsi3 (rtx_insn *insn, rtx *op, int *plen)
break;
/* fall through */
+ gcc_fallthrough ();
case 23:
return avr_asm_len ("clr %A0" CR_TAB
@@ -10040,6 +10045,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case AND:
case IOR:
*total = COSTS_N_INSNS (GET_MODE_SIZE (mode));
@@ -1569,6 +1569,7 @@ print_operand (FILE *file, rtx x, char code)
x = GEN_INT (-8 - INTVAL (x));
/* fall through */
+ gcc_fallthrough ();
case SYMBOL_REF:
output_addr_const (file, x);
@@ -2936,6 +2937,7 @@ bfin_rtx_costs (rtx x, machine_mode mode, int outer_code_i, int opno,
return true;
}
/* fall through */
+ gcc_fallthrough ();
case SIGN_EXTEND:
case ZERO_EXTEND:
@@ -1499,6 +1499,7 @@ c6x_expand_compare (rtx comparison, machine_mode mode)
case UNGT:
jump_code = EQ;
/* fall through */
+ gcc_fallthrough ();
case LE:
case GE:
code1 = code == LE || code == UNGT ? LT : GT;
@@ -1508,9 +1509,11 @@ c6x_expand_compare (rtx comparison, machine_mode mode)
case UNORDERED:
jump_code = EQ;
/* fall through */
+ gcc_fallthrough ();
case ORDERED:
code3 = EQ;
/* fall through */
+ gcc_fallthrough ();
case LTGT:
code1 = LT;
code2 = GT;
@@ -2322,6 +2325,7 @@ c6x_mem_operand (rtx op, enum reg_class c, bool small_offset)
}
/* fall through */
+ gcc_fallthrough ();
case PRE_INC:
case PRE_DEC:
case PRE_MODIFY:
@@ -2372,6 +2376,7 @@ c6x_legitimate_address_p_1 (machine_mode mode, rtx x, bool strict,
return false;
/* fall through */
+ gcc_fallthrough ();
case PRE_INC:
case PRE_DEC:
case POST_INC:
@@ -2384,6 +2389,7 @@ c6x_legitimate_address_p_1 (machine_mode mode, rtx x, bool strict,
return false;
/* fall through */
+ gcc_fallthrough ();
case REG:
if (strict)
return REGNO_OK_FOR_BASE_STRICT_P (REGNO (x));
@@ -3284,6 +3290,7 @@ count_unit_reqs (unit_req_table reqs, rtx_insn *head, rtx_insn *tail)
case 2:
reqs[side2][req2]++;
/* fall through */
+ gcc_fallthrough ();
case 1:
reqs[side1][req1]++;
break;
@@ -4104,6 +4111,7 @@ c6x_registers_update (rtx_insn *insn)
case PRE_DEC:
op = XEXP (op, 0);
/* fall through */
+ gcc_fallthrough ();
case REG:
c6x_mark_reg_read (op, false);
break;
@@ -4112,6 +4120,7 @@ c6x_registers_update (rtx_insn *insn)
op = XEXP (op, 1);
gcc_assert (GET_CODE (op) == PLUS);
/* fall through */
+ gcc_fallthrough ();
case PLUS:
c6x_mark_reg_read (XEXP (op, 0), false);
if (REG_P (XEXP (op, 1)))
@@ -93,6 +93,7 @@ extern c6x_cpu_t c6x_arch;
case C6X_CPU_C64XP: \
builtin_define ("_TMS320C6400_PLUS"); \
/* ... fall through ... */ \
+ gcc_fallthrough (); \
case C6X_CPU_C64X: \
builtin_define ("_TMS320C6400"); \
break; \
@@ -100,6 +101,7 @@ extern c6x_cpu_t c6x_arch;
case C6X_CPU_C67XP: \
builtin_define ("_TMS320C6700_PLUS"); \
/* ... fall through ... */ \
+ gcc_fallthrough (); \
case C6X_CPU_C67X: \
builtin_define ("_TMS320C6700"); \
break; \
@@ -193,6 +193,7 @@
offset = INTVAL (XEXP (op, 1));
op = XEXP (op, 0);
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
/* For shared libraries, only allow symbols we know are local.
@@ -1309,6 +1309,7 @@ cr16_address_cost (rtx addr, machine_mode mode ATTRIBUTE_UNUSED,
case CR16_REGP_REL:
cost += 2;
/* Fall through. */
+ gcc_fallthrough ();
case CR16_REG_REL:
cost += 3;
if (address.disp)
@@ -1575,6 +1576,7 @@ cr16_print_operand_address (FILE * file, machine_mode /*mode*/, rtx addr)
case CR16_INDEX_REGP_REL:
fprintf (file, "[%s]", reg_names[REGNO (address.index)]);
/* Fall through. */
+ gcc_fallthrough ();
case CR16_REGP_REL:
if (address.disp)
{
@@ -961,6 +961,7 @@ cris_print_operand (FILE *file, rtx x, int code)
and %E (and %e) and state passed between those modifiers. */
cris_output_insn_is_bound = 0;
/* FALL THROUGH. */
+ gcc_fallthrough ();
case 'E':
/* Print 's' if operand is SIGN_EXTEND or 'u' if ZERO_EXTEND unless
cris_output_insn_is_bound is nonzero. */
@@ -2187,6 +2188,7 @@ cris_rtx_costs (rtx x, machine_mode mode, int outer_code, int opno,
if (outer_code != COMPARE)
return false;
/* fall through */
+ gcc_fallthrough ();
case ZERO_EXTEND: case SIGN_EXTEND:
*total = rtx_cost (XEXP (x, 0), VOIDmode, (enum rtx_code) outer_code,
@@ -771,6 +771,7 @@ epiphany_rtx_costs (rtx x, machine_mode mode, int outer_code,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case CONST:
case LABEL_REF:
@@ -872,11 +873,13 @@ epiphany_address_cost (rtx addr, machine_mode mode,
return 1;
i >>= 1;
/* Fall through. */
+ gcc_fallthrough ();
case 2:
if (i & 1)
return 1;
i >>= 1;
/* Fall through. */
+ gcc_fallthrough ();
case 1:
return i < -7 || i > 7;
}
@@ -1352,6 +1355,7 @@ epiphany_print_operand (FILE *file, rtx x, int code)
break;
}
/* Fall through. Let output_addr_const deal with it. */
+ gcc_fallthrough ();
case CONST_INT:
fprintf(file,"%s",IMMEDIATE_PREFIX);
if (code == 'C' || code == 'X')
@@ -1361,6 +1365,7 @@ epiphany_print_operand (FILE *file, rtx x, int code)
break;
}
/* Fall through */
+ gcc_fallthrough ();
default :
output_addr_const (file, x);
break;
@@ -2421,6 +2426,7 @@ epiphany_mode_needed (int entity, rtx_insn *insn)
if (recog_memoized (insn) == CODE_FOR_set_fp_mode)
mode = (enum attr_fp_mode) epiphany_mode_after (entity, mode, insn);
/* Fall through. */
+ gcc_fallthrough ();
case EPIPHANY_MSW_ENTITY_NEAREST:
case EPIPHANY_MSW_ENTITY_TRUNC:
if (mode == FP_MODE_ROUND_UNKNOWN)
@@ -2469,6 +2475,7 @@ epiphany_mode_entry_exit (int entity, bool exit)
|| normal_mode == FP_MODE_ROUND_TRUNC)
return FP_MODE_ROUND_UNKNOWN;
/* Fall through. */
+ gcc_fallthrough ();
case EPIPHANY_MSW_ENTITY_NEAREST:
case EPIPHANY_MSW_ENTITY_TRUNC:
case EPIPHANY_MSW_ENTITY_ROUND_KNOWN:
@@ -2715,6 +2722,7 @@ epiphany_insert_mode_switch_use (rtx_insn *insn,
near = gen_rtx_USE (VOIDmode, gen_rtx_REG (SImode, FP_ANYFP_REGNUM));
trunc = copy_rtx (near);
/* Fall through. */
+ gcc_fallthrough ();
case FP_MODE_INT:
case FP_MODE_CALLER:
near = gen_rtx_USE (VOIDmode, near);
@@ -685,6 +685,7 @@ fr30_print_operand (FILE *file, rtx x, int code)
}
/* Fall through. Let output_addr_const deal with it. */
+ gcc_fallthrough ();
default:
output_addr_const (file, x);
break;
@@ -2990,6 +2990,7 @@ frv_print_operand (FILE * file, rtx x, int code)
}
/* Fall through. */
+ gcc_fallthrough ();
case '\0':
if (GET_CODE (x) == REG)
@@ -3336,6 +3337,7 @@ frv_legitimate_address_p_1 (machine_mode mode,
break;
/* Fall through. */
+ gcc_fallthrough ();
case REG:
ret = frv_regno_ok_for_base_p (REGNO (x), strict_p);
@@ -3396,6 +3398,7 @@ frv_legitimate_address_p_1 (machine_mode mode,
break;
/* Fall through. */
+ gcc_fallthrough ();
case REG:
/* Do not allow reg+reg addressing for modes > 1 word if we
@@ -4094,6 +4097,7 @@ frv_emit_movsi (rtx dest, rtx src)
break;
}
/* Fall through. */
+ gcc_fallthrough ();
default:
if (TARGET_GPREL_RO)
unspec = R_FRV_GPREL12;
@@ -9455,6 +9459,7 @@ frv_rtx_costs (rtx x,
return true;
}
/* Fall through. */
+ gcc_fallthrough ();
case CONST:
case LABEL_REF:
@@ -1744,6 +1744,7 @@ h8300_print_operand (FILE *file, rtx x, int code)
processing bit operations on H8/300 or H8/300H
because 'U' constraint does not allow bit
operations on the tiny area on these machines. */
+ gcc_fallthrough ();
case 'X':
case 'T':
@@ -4109,6 +4110,7 @@ get_shift_alg (enum shift_type shift_type, enum shift_mode shift_mode,
case SHIFT_INLINE:
info->remainder = count;
/* Fall through. */
+ gcc_fallthrough ();
case SHIFT_LOOP:
/* It is up to the caller to know that looping clobbers cc. */
@@ -4624,6 +4626,7 @@ output_a_shift (rtx *operands)
case SHIFT_SPECIAL:
output_asm_insn (info.special, operands);
/* Fall through. */
+ gcc_fallthrough ();
case SHIFT_INLINE:
n = info.remainder;
@@ -4805,6 +4808,7 @@ compute_a_shift_length (rtx insn ATTRIBUTE_UNUSED, rtx *operands)
wlength++;
/* Fall through. */
+ gcc_fallthrough ();
case SHIFT_INLINE:
n = info.remainder;
@@ -4942,6 +4946,7 @@ compute_a_shift_cc (rtx insn ATTRIBUTE_UNUSED, rtx *operands)
return info.cc_special;
/* Fall through. */
+ gcc_fallthrough ();
case SHIFT_INLINE:
return info.cc_inline;
@@ -1889,6 +1889,7 @@ ia64_expand_vecint_compare (enum rtx_code code, machine_mode mode,
code = reverse_condition (code);
negate = true;
/* FALLTHRU */
+ gcc_fallthrough ();
case LT:
case LTU:
@@ -2359,6 +2360,7 @@ ia64_expand_atomic_op (enum rtx_code code, rtx mem, rtx val,
case MEMMODEL_SYNC_SEQ_CST:
emit_insn (gen_memory_barrier ());
/* FALLTHRU */
+ gcc_fallthrough ();
case MEMMODEL_RELAXED:
case MEMMODEL_ACQUIRE:
case MEMMODEL_SYNC_ACQUIRE:
@@ -5547,6 +5549,7 @@ ia64_print_operand (FILE * file, rtx x, int code)
case POST_MODIFY:
x = XEXP (x, 0);
/* ... fall through ... */
+ gcc_fallthrough ();
case REG:
fputs (reg_names [REGNO (x)], file);
@@ -5648,6 +5651,7 @@ ia64_rtx_costs (rtx x, machine_mode mode, int outer_code,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case ASHIFT:
case ASHIFTRT:
@@ -6879,6 +6883,7 @@ group_barrier_needed (rtx_insn *insn)
break;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case INSN:
if (GET_CODE (PATTERN (insn)) == USE
@@ -11723,6 +11728,7 @@ ia64_expand_vec_perm_const (rtx operands[4])
if (d.perm[i] >= nelt)
d.perm[i] -= nelt;
/* FALLTHRU */
+ gcc_fallthrough ();
case 1:
d.op1 = d.op0;
@@ -50,6 +50,7 @@
offset = INTVAL (XEXP (op, 1));
op = XEXP (op, 0);
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
if (CONSTANT_POOL_ADDRESS_P (op))
@@ -114,6 +115,7 @@
return false;
op = XEXP (op, 0);
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
return SYMBOL_REF_LOCAL_P (op);
@@ -137,6 +139,7 @@
return false;
op = XEXP (op, 0);
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
return SYMBOL_REF_SMALL_ADDR_P (op);
@@ -190,6 +193,7 @@
addend = INTVAL (XEXP (op, 1));
op = XEXP (op, 0);
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
/* These symbols shouldn't be used with got loads. */
@@ -272,6 +276,7 @@
return false;
op = XEXP (op, 0);
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
return SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_INITIAL_EXEC;
@@ -295,6 +300,7 @@
return false;
op = XEXP (op, 0);
/* FALLTHRU */
+ gcc_fallthrough ();
case SYMBOL_REF:
return SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_LOCAL_EXEC;
@@ -804,6 +804,7 @@ iq2000_address_cost (rtx addr, machine_mode mode, addr_space_t as,
}
/* Fall through. */
+ gcc_fallthrough ();
case SYMBOL_REF:
return SYMBOL_REF_FLAG (addr) ? 1 : 2;
@@ -1122,6 +1122,7 @@ lm32_rtx_costs (rtx x, machine_mode mode, int outer_code,
return true;
}
/* Fall through. */
+ gcc_fallthrough ();
default:
if (satisfies_constraint_K (x))
@@ -1151,6 +1152,7 @@ lm32_rtx_costs (rtx x, machine_mode mode, int outer_code,
break;
}
/* Fall through. */
+ gcc_fallthrough ();
case LABEL_REF:
case CONST_DOUBLE:
@@ -1375,6 +1375,7 @@ m32r_rtx_costs (rtx x, machine_mode mode ATTRIBUTE_UNUSED,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case CONST:
case LABEL_REF:
@@ -2175,6 +2176,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
return;
}
/* fall through */
+ gcc_fallthrough ();
case LABEL_REF :
fputs (code == 'T' ? "shigh(" : "low(", file);
output_addr_const (file, x);
@@ -2275,6 +2277,7 @@ m32r_print_operand (FILE * file, rtx x, int code)
}
/* Fall through. Let output_addr_const deal with it. */
+ gcc_fallthrough ();
default :
output_addr_const (file, x);
@@ -6153,6 +6153,7 @@ m68k_sched_md_init_global (FILE *sched_dump ATTRIBUTE_UNUSED,
sched_ib.filled = 0;
/* FALLTHRU */
+ gcc_fallthrough ();
case CPU_CFV1:
case CPU_CFV2:
@@ -90,6 +90,7 @@ along with GCC; see the file COPYING3. If not see
case u68020_60: \
builtin_define_std ("mc68060"); \
/* Fall through. */ \
+ gcc_fallthrough (); \
case u68020_40: \
builtin_define_std ("mc68040"); \
builtin_define_std ("mc68030"); \
@@ -2189,6 +2189,7 @@ mips_symbolic_constant_p (rtx x, enum mips_symbol_context context,
return true;
/* Fall through. */
+ gcc_fallthrough ();
case SYMBOL_GP_RELATIVE:
/* Make sure that the offset refers to something within the
@@ -2284,6 +2285,7 @@ mips_symbol_insns_1 (enum mips_symbol_type type, machine_mode mode)
return 0;
/* Fall through. */
+ gcc_fallthrough ();
case SYMBOL_GOT_PAGE_OFST:
/* Unless -funit-at-a-time is in effect, we can't be sure whether the
@@ -2847,6 +2849,7 @@ mips_const_insns (rtx x)
&& mips_const_vector_same_int_p (x, GET_MODE (x), -512, 511))
return 1;
/* Fall through. */
+ gcc_fallthrough ();
case CONST_DOUBLE:
/* Allow zeros for normal mode, where we can use $0. */
return !TARGET_MIPS16 && x == CONST0_RTX (GET_MODE (x)) ? 1 : 0;
@@ -4023,6 +4026,7 @@ mips_set_reg_reg_cost (machine_mode mode)
if (TARGET_HARD_FLOAT)
return mips_set_reg_reg_piece_cost (mode, UNITS_PER_HWFPVALUE);
/* Fall through */
+ gcc_fallthrough ();
default:
return mips_set_reg_reg_piece_cost (mode, UNITS_PER_WORD);
@@ -4096,6 +4100,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
}
}
/* Fall through. */
+ gcc_fallthrough ();
case CONST:
case SYMBOL_REF:
@@ -4209,6 +4214,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
}
/* Fall through. */
+ gcc_fallthrough ();
case IOR:
case XOR:
@@ -4297,6 +4303,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
}
}
/* Fall through. */
+ gcc_fallthrough ();
case PLUS:
if (float_mode_p)
@@ -4395,6 +4402,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
return true;
}
/* Fall through. */
+ gcc_fallthrough ();
case SQRT:
case MOD:
@@ -4404,6 +4412,7 @@ mips_rtx_costs (rtx x, machine_mode mode, int outer_code,
return false;
}
/* Fall through. */
+ gcc_fallthrough ();
case UDIV:
case UMOD:
@@ -13778,6 +13787,7 @@ mips_output_order_conditional_branch (rtx_insn *insn, rtx *operands,
case LTU:
inverted_p = !inverted_p;
/* Fall through. */
+ gcc_fallthrough ();
case GE:
case GEU:
branch[!inverted_p] = MIPS_BRANCH_C ("b", "%0");
@@ -13801,6 +13811,7 @@ mips_output_order_conditional_branch (rtx_insn *insn, rtx *operands,
case LEU:
inverted_p = !inverted_p;
/* Fall through. */
+ gcc_fallthrough ();
case GTU:
if (TARGET_CB_MAYBE)
{
@@ -13818,6 +13829,7 @@ mips_output_order_conditional_branch (rtx_insn *insn, rtx *operands,
case LTU:
inverted_p = !inverted_p;
/* Fall through. */
+ gcc_fallthrough ();
case GEU:
if (TARGET_CB_MAYBE)
{
@@ -21196,6 +21208,7 @@ mips_expand_vec_perm_const (rtx operands[4])
if (!rtx_equal_p (d.op0, d.op1))
break;
/* FALLTHRU */
+ gcc_fallthrough ();
case 2:
for (i = 0; i < nelt; ++i)
@@ -117,6 +117,7 @@
&& GET_MODE (XEXP (op, 1)) == VOIDmode)))
return 1;
/* Fall through. */
+ gcc_fallthrough ();
default:
return mmix_address_operand (op, mode);
}
@@ -397,6 +397,7 @@ mn10300_print_operand (FILE *file, rtx x, int code)
break;
}
/* FALL THROUGH */
+ gcc_fallthrough ();
default:
switch (GET_CODE (x))
@@ -2455,6 +2456,7 @@ mn10300_rtx_costs (rtx x, machine_mode mode, int outer_code,
goto alldone;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case ASHIFTRT:
case LSHIFTRT:
@@ -3011,6 +3013,7 @@ extract_bundle (rtx_insn *insn, struct liw_data * pdata)
/* The AND, OR and XOR long instruction words only accept register arguments. */
allow_consts = false;
/* Fall through. */
+ gcc_fallthrough ();
default:
pdata->dest = SET_DEST (p);
pdata->src = XEXP (SET_SRC (p), 1);
@@ -306,6 +306,7 @@
&& REGNO_EXTENDED_P (REGNO (operands[0]), 1))
return "movu %1,%0";
/* FALLTHRU */
+ gcc_fallthrough ();
case 5:
case 6:
case 2:
@@ -454,6 +455,7 @@
return "movu %1,%0";
}
/* FALLTHRU */
+ gcc_fallthrough ();
case 3: /* reg-reg */
case 4: /* reg-mem */
case 5: /* mem-reg */
@@ -979,6 +979,7 @@ msp430_initial_elimination_offset (int from, int to)
rv += cfun->machine->framesize_outgoing;
rv += cfun->machine->framesize_locals;
/* Fall through. */
+ gcc_fallthrough ();
case FRAME_POINTER_REGNUM:
rv += cfun->machine->framesize_regs;
/* Allow for the saved return address. */
@@ -996,6 +997,7 @@ msp430_initial_elimination_offset (int from, int to)
/* Allow for the fall through above. */
rv -= (TARGET_LARGE ? 4 : 2);
rv -= cfun->machine->framesize_regs;
+ gcc_fallthrough ();
case ARG_POINTER_REGNUM:
break;
default:
@@ -3651,6 +3653,7 @@ msp430_print_operand (FILE * file, rtx op, int letter)
break;
}
/* Fall through. */
+ gcc_fallthrough ();
case CONST_INT:
case SYMBOL_REF:
case LABEL_REF:
@@ -191,6 +191,7 @@ performance_cost:
/* This is section for performance cost model. */
/* FALLTHRU, currently we use same cost model as size_cost. */
+ gcc_fallthrough ();
size_cost:
/* This is section for size cost model. */
@@ -1975,11 +1975,13 @@ nios2_legitimate_address_p (machine_mode mode ATTRIBUTE_UNUSED,
return false;
/* Else, fall through. */
+ gcc_fallthrough ();
case CONST:
if (gprel_constant_p (operand))
return true;
/* Else, fall through. */
+ gcc_fallthrough ();
case LABEL_REF:
case CONST_INT:
case CONST_DOUBLE:
@@ -2583,6 +2585,7 @@ nios2_print_operand (FILE *file, rtx op, int letter)
}
/* Else, fall through. */
+ gcc_fallthrough ();
case CONST:
case LABEL_REF:
@@ -1530,6 +1530,7 @@ hppa_rtx_costs (rtx x, machine_mode mode, int outer_code,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case UDIV:
case MOD:
@@ -905,6 +905,7 @@ pdp11_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case CONST:
case LABEL_REF:
@@ -467,6 +467,7 @@
if (rl78_flags_already_set (operands[0], operands[1]))
return "sk%C0\; br\t!!%3\; # cmpw eliminated";
/* else fall through. */
+ gcc_fallthrough ();
case 1:
return "cmpw\t%1, %2\; sk%C0\; br\t!!%3";
case 2:
@@ -928,6 +928,7 @@ characterize_address (rtx x, rtx *base, rtx *index, rtx *addend)
return true;
}
/* fall through */
+ gcc_fallthrough ();
case MEM:
case REG:
return false;
@@ -1259,6 +1260,7 @@ rl78_initial_elimination_offset (int from, int to)
rv += cfun->machine->framesize_outgoing;
rv += cfun->machine->framesize_locals;
/* Fall through. */
+ gcc_fallthrough ();
case FRAME_POINTER_REGNUM:
rv += cfun->machine->framesize_regs;
rv += 4;
@@ -454,10 +454,12 @@ rx_print_operand_address (FILE * file, machine_mode /*mode*/, rtx addr)
case UNSPEC:
addr = XVECEXP (addr, 0, 0);
/* Fall through. */
+ gcc_fallthrough ();
case LABEL_REF:
case SYMBOL_REF:
fprintf (file, "#");
/* Fall through. */
+ gcc_fallthrough ();
default:
output_addr_const (file, addr);
break;
@@ -735,6 +737,7 @@ rx_print_operand (FILE * file, rtx op, int letter)
gcc_assert (GET_MODE_SIZE (GET_MODE (op)) <= 4);
unsigned_load = true;
/* Fall through. */
+ gcc_fallthrough ();
case 'Q':
if (MEM_P (op))
{
@@ -797,6 +800,7 @@ rx_print_operand (FILE * file, rtx op, int letter)
}
/* Fall through. */
+ gcc_fallthrough ();
default:
if (GET_CODE (op) == CONST
@@ -910,6 +914,7 @@ rx_print_operand (FILE * file, rtx op, int letter)
}
}
/* Fall through */
+ gcc_fallthrough ();
case CONST:
case SYMBOL_REF:
@@ -2787,15 +2792,19 @@ rx_option_override (void)
case 4:
fixed_regs[10] = call_used_regs [10] = 1;
/* Fall through. */
+ gcc_fallthrough ();
case 3:
fixed_regs[11] = call_used_regs [11] = 1;
/* Fall through. */
+ gcc_fallthrough ();
case 2:
fixed_regs[12] = call_used_regs [12] = 1;
/* Fall through. */
+ gcc_fallthrough ();
case 1:
fixed_regs[13] = call_used_regs [13] = 1;
/* Fall through. */
+ gcc_fallthrough ();
case 0:
rx_num_interrupt_regs = opt->value;
break;
@@ -1472,6 +1472,7 @@ s390_select_ccmode (enum rtx_code code, rtx op0, rtx op1)
return CCAPmode;
}
/* Fall through. */
+ gcc_fallthrough ();
case UNORDERED:
case ORDERED:
case UNEQ:
@@ -6684,6 +6685,7 @@ s390_expand_atomic (machine_mode mode, enum rtx_code code,
val = expand_simple_binop (SImode, AND, val, ac.modemask,
NULL_RTX, 1, OPTAB_DIRECT);
/* FALLTHRU */
+ gcc_fallthrough ();
case SET:
if (ac.aligned && MEM_P (val))
store_bit_field (new_rtx, GET_MODE_BITSIZE (mode), 0,
@@ -1282,6 +1282,7 @@ sh_print_operand (FILE *stream, rtx x, int code)
gcc_assert (MEM_P (x));
x = XEXP (x, 0);
/* Fall through. */
+ gcc_fallthrough ();
case 'U':
switch (GET_CODE (x))
{
@@ -1338,6 +1339,7 @@ sh_print_operand (FILE *stream, rtx x, int code)
break;
}
/* Fall through. */
+ gcc_fallthrough ();
default_output:
default:
@@ -1395,6 +1397,7 @@ sh_print_operand (FILE *stream, rtx x, int code)
x = SUBREG_REG (x);
/* Fall through. */
+ gcc_fallthrough ();
reg:
case REG:
@@ -2690,6 +2693,7 @@ output_branch (int logic, rtx_insn *insn, rtx *operands)
return "";
}
/* When relaxing, fall through. */
+ gcc_fallthrough ();
case 4:
{
char buffer[10];
@@ -3420,6 +3424,7 @@ sh_rtx_costs (rtx x, machine_mode mode ATTRIBUTE_UNUSED, int outer_code,
return true;
}
/* Fall through. */
+ gcc_fallthrough ();
case XOR:
case IOR:
@@ -3455,6 +3460,7 @@ sh_rtx_costs (rtx x, machine_mode mode ATTRIBUTE_UNUSED, int outer_code,
return true;
}
/* Fall through to shiftcosts. */
+ gcc_fallthrough ();
case ASHIFT:
case ASHIFTRT:
{
@@ -5845,6 +5845,7 @@
break;
}
/* Fall through. */
+ gcc_fallthrough ();
case PLUS:
emit_insn (gen_movsf_ie (reg0, operands[1]));
@@ -5906,6 +5907,7 @@
break;
}
/* Fall through. */
+ gcc_fallthrough ();
case PLUS:
/* Since REG+DISP addressing has already been decided upon by gcc
@@ -11160,6 +11160,7 @@ sparc_rtx_costs (rtx x, machine_mode mode, int outer_code,
return false;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case ABS:
case FLOAT:
@@ -11656,6 +11657,7 @@ sparc_emit_membar_for_model (enum memmodel model,
if (load_store == 3 && before_after == 1)
implied |= StoreLoad;
/* FALLTHRU */
+ gcc_fallthrough ();
case SMM_PSO:
/* Partial Store Ordering: all memory transactions with load semantics
@@ -11667,6 +11669,7 @@ sparc_emit_membar_for_model (enum memmodel model,
if (load_store == 3 && before_after == 2)
implied |= StoreLoad | StoreStore;
/* FALLTHRU */
+ gcc_fallthrough ();
case SMM_RMO:
/* Relaxed Memory Ordering: no implicit bits. */
@@ -3200,6 +3200,7 @@ classify_immediate (rtx op, machine_mode mode)
&& GET_CODE (CONST_VECTOR_ELT (op, i)) != CONST_DOUBLE)
return IC_POOL;
/* Fall through. */
+ gcc_fallthrough ();
case CONST_INT:
case CONST_DOUBLE:
@@ -2547,6 +2547,7 @@ tilegx_emit_cc_test (enum rtx_code code, rtx op0, rtx op1,
if (n == -1)
break;
/* FALLTHRU */
+ gcc_fallthrough ();
case LTU:
/* Change ((unsigned)x < 0x1000) into !((int)x >> 12), etc.
@@ -5236,6 +5237,7 @@ tilegx_print_operand (FILE *file, rtx x, int code)
}
}
/* FALLTHRU */
+ gcc_fallthrough ();
case 'h':
{
@@ -5386,6 +5388,7 @@ tilegx_print_operand (FILE *file, rtx x, int code)
return;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case 0:
if (REG_P (x))
@@ -2351,6 +2351,7 @@ tilepro_emit_cc_test (enum rtx_code code, rtx op0, rtx op1,
if (n == -1)
break;
/* FALLTHRU */
+ gcc_fallthrough ();
case LTU:
/* Change ((unsigned)x < 0x1000) into !((unsigned)x >> 12),
@@ -4792,6 +4793,7 @@ tilepro_print_operand (FILE *file, rtx x, int code)
return;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case 0:
if (REG_P (x))
@@ -411,6 +411,7 @@ v850_print_operand (FILE * file, rtx x, int code)
break;
}
/* Fall through. */
+ gcc_fallthrough ();
case 'b':
case 'B':
case 'C':
@@ -785,6 +785,7 @@ vax_rtx_costs (rtx x, machine_mode mode, int outer_code,
return true;
}
/* FALLTHRU */
+ gcc_fallthrough ();
case CONST:
case LABEL_REF:
@@ -2219,6 +2219,7 @@ visium_expand_int_cstore (rtx *operands, enum machine_mode mode)
reverse = true;
/* ... fall through ... */
+ gcc_fallthrough ();
case LTU:
case GTU:
@@ -2267,6 +2268,7 @@ visium_expand_fp_cstore (rtx *operands,
reverse = true;
/* ... fall through ... */
+ gcc_fallthrough ();
case LT:
case GT:
@@ -1565,6 +1565,7 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val,
val = expand_simple_binop (SImode, AND, val, ac.modemask,
NULL_RTX, 1, OPTAB_DIRECT);
/* FALLTHRU */
+ gcc_fallthrough ();
case SET:
tmp = expand_simple_binop (SImode, AND, old, ac.modemaski,
NULL_RTX, 1, OPTAB_DIRECT);
@@ -2424,6 +2425,7 @@ print_operand (FILE *file, rtx x, int letter)
}
/* fall through */
+ gcc_fallthrough ();
default:
if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG)
@@ -3739,6 +3741,7 @@ xtensa_rtx_costs (rtx x, machine_mode mode, int outer_code,
}
}
/* Fall through. */
+ gcc_fallthrough ();
case UDIV:
case UMOD: