From dd019ef07358602a444f3e63f848aaece5c280f4 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 27 May 2020 17:43:48 +0100 Subject: [PATCH] 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. --- gcc/config/arm/arm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c396b5b..6b7ca82 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; } -- 2.7.4