[gcc(refs/vendors/ARM/heads/arm-struct-reorg-wip)] arm: Fix unintentional fall throughs in arm.c

Tamar Christina tnfchris@gcc.gnu.org
Fri Jul 17 15:15:03 GMT 2020


https://gcc.gnu.org/g:1aabb312fa0ad07793a974ee5cf92a1e65b659fe

commit 1aabb312fa0ad07793a974ee5cf92a1e65b659fe
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Tue Jun 16 12:52:29 2020 +0100

    arm: Fix unintentional fall throughs in arm.c
    
    This small patch fix some unintentional fall-throughs in
    `mve_vector_mem_operand'.
    
            Backported from mainline
            2020-05-28  Andrea Corallo  <andrea.corallo@arm.com>
    
    gcc/
            * config/arm/arm.c (mve_vector_mem_operand): Fix unwanted
            fall-throughs.

Diff:
---
 gcc/config/arm/arm.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 01bc1b8ae9b..a7b7c55a763 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -13302,26 +13302,31 @@ mve_vector_mem_operand (machine_mode mode, rtx op, bool strict)
 	    if (abs_hwi (val))
 	      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_hwi (val))
 	      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:


More information about the Gcc-cvs mailing list