From: Andrea Corallo Date: Wed, 27 May 2020 16:43:48 +0000 (+0100) Subject: arm: Fix unwanted fall-throughs in arm.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dd019ef07358602a444f3e63f848aaece5c280f4;p=gcc.git arm: Fix unwanted fall-throughs in arm.c gcc/ChangeLog 2020-05-28 Andrea Corallo * config/arm/arm.c (mve_vector_mem_operand): Fix unwanted fall-throughs. --- diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c396b5b28e3..6b7ca829f1c 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -13327,32 +13327,38 @@ mve_vector_mem_operand (machine_mode mode, rtx op, bool strict) if (abs (val) <= 127) return ((reg_no < LAST_ARM_REGNUM && reg_no != SP_REGNUM) || (!strict && reg_no >= FIRST_PSEUDO_REGISTER)); + return FALSE; case E_V8HImode: case E_V8HFmode: if (abs (val) <= 255) return ((reg_no < LAST_ARM_REGNUM && reg_no != SP_REGNUM) || (!strict && reg_no >= FIRST_PSEUDO_REGISTER)); + return FALSE; case E_V8QImode: case E_V4QImode: if (abs (val) <= 127) return (reg_no <= LAST_LO_REGNUM || (!strict && reg_no >= FIRST_PSEUDO_REGISTER)); + return FALSE; case E_V4HImode: case E_V4HFmode: if (val % 2 == 0 && abs (val) <= 254) return (reg_no <= LAST_LO_REGNUM || (!strict && reg_no >= FIRST_PSEUDO_REGISTER)); + return FALSE; case E_V4SImode: case E_V4SFmode: if (val % 4 == 0 && abs (val) <= 508) return ((reg_no < LAST_ARM_REGNUM && reg_no != SP_REGNUM) || (!strict && reg_no >= FIRST_PSEUDO_REGISTER)); + return FALSE; case E_V2DImode: case E_V2DFmode: case E_TImode: if (val % 4 == 0 && val >= 0 && val <= 1020) return ((reg_no < LAST_ARM_REGNUM && reg_no != SP_REGNUM) || (!strict && reg_no >= FIRST_PSEUDO_REGISTER)); + return FALSE; default: return FALSE; }