arm: Fix implicit-fallthrough warnings when building with gcc-7+
authorSiddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
Mon, 19 Feb 2018 19:02:37 +0000 (00:32 +0530)
committerGabe Black <gabeblack@google.com>
Thu, 15 Mar 2018 23:24:51 +0000 (23:24 +0000)
commit9dc44b4173b72d15fa7ee49d1b196c2d11c84d02
treea55560518cf4395d1eab583cbeb51d6c06b28dbd
parent5a1e52d5a019c128c4c87783f76f4742c5e4455f
arm: Fix implicit-fallthrough warnings when building with gcc-7+

gcc 7 onwards have additional heuristics to detect implicit
fallthroughs and it fails the build with warnings for ARM as a result.
There was one gcc bug[1] that I fixed but the rest are cases that gcc
cannot detect due to the point at which it does the fallthrough check.
Most of this patch adds __builtin_unreachable() hints in places that throw
this warning to indicate to gcc that the fallthrough will never
happen.

The remaining cases are actually possible fallthroughs due to
incorrect code running on the simulator; in which case an Unknown
instruction is returned.

[1] https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01105.html

Change-Id: I1baa9fa0ed15181c10c755c0bd777f88b607c158
Signed-off-by: Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
Reviewed-on: https://gem5-review.googlesource.com/8541
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
src/arch/arm/insts/pred_inst.hh
src/arch/arm/isa/formats/aarch64.isa
src/arch/arm/isa/formats/data.isa
src/arch/arm/isa/formats/fp.isa
src/arch/arm/isa/formats/m5ops.isa
src/arch/arm/isa/formats/mem.isa
src/arch/arm/isa/formats/mult.isa
src/arch/arm/isa/formats/neon64.isa
src/base/compiler.hh