]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/caller-save.c
Add a partial_subreg_p predicate
[thirdparty/gcc.git] / gcc / caller-save.c
index 27da129ab9ca328ff01b8bc362924847adf83e77..65a498d0d0cc499f4c0d8ff8f3b595da3c156994 100644 (file)
@@ -837,8 +837,7 @@ save_call_clobbered_regs (void)
                  nregs = hard_regno_nregs[r][PSEUDO_REGNO_MODE (regno)];
                  mode = HARD_REGNO_CALLER_SAVE_MODE
                    (r, nregs, PSEUDO_REGNO_MODE (regno));
-                 if (GET_MODE_BITSIZE (mode)
-                     > GET_MODE_BITSIZE (save_mode[r]))
+                 if (partial_subreg_p (save_mode[r], mode))
                    save_mode[r] = mode;
                  while (nregs-- > 0)
                    SET_HARD_REG_BIT (hard_regs_to_save, r + nregs);