]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000: Expand PROMOTE_MODE marco in rs6000_promote_function_mode
authorHaochen Gui <guihaoc@gcc.gnu.org>
Fri, 4 Jun 2021 03:04:31 +0000 (11:04 +0800)
committerSegher Boessenkool <segher@kernel.crashing.org>
Mon, 30 Aug 2021 09:56:00 +0000 (09:56 +0000)
This patch prepares for the patch which disables mode
promotion of pseudos on rs6000.

gcc/ChangeLog:
* config/rs6000/rs6000-call.c (rs6000_promote_function_mode):
Replace PROMOTE_MODE marco with its content.

(cherry picked from commit a3f6bd7891495a0ed65f7da7a55d36c730328692)

gcc/config/rs6000/rs6000-call.c

index 7059f4fab1c7edccfdff3eac83837e1122a08c1d..38386ec6b5f4a0e87e0c83bdaccad8456922050a 100644 (file)
@@ -6772,7 +6772,9 @@ rs6000_promote_function_mode (const_tree type ATTRIBUTE_UNUSED,
                              int *punsignedp ATTRIBUTE_UNUSED,
                              const_tree, int for_return ATTRIBUTE_UNUSED)
 {
-  PROMOTE_MODE (mode, *punsignedp, type);
+  if (GET_MODE_CLASS (mode) == MODE_INT
+      && GET_MODE_SIZE (mode) < (TARGET_32BIT ? 4 : 8))
+    mode = TARGET_32BIT ? SImode : DImode;
 
   return mode;
 }