diff mbox

[SPARC] Fix PR target/77324

Message ID 9586527.DNQpYheho1@arcturus.home
State New
Headers show

Commit Message

Eric Botcazou Aug. 28, 2016, 8:50 a.m. UTC
This is the build failure introduced on SPARC by the recent reload patch, 
which causes the pass to be more strict about what it accepts.

Tested on SPARC/Solaris, applied on the mainline.


2016-08-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/77324
	* config/sparc/sparc.c (sparc_legitimate_address_p): Accept special
	HIGH+LO construct during reload.
diff mbox

Patch

Index: config/sparc/sparc.c
===================================================================
--- config/sparc/sparc.c	(revision 239761)
+++ config/sparc/sparc.c	(working copy)
@@ -4039,6 +4039,13 @@  sparc_legitimate_address_p (machine_mode mode, rtx
 	 than the alignment (8) may cause the LO_SUM to overflow.  */
       if (mode == TFmode && TARGET_ARCH32)
 	return 0;
+
+      /* During reload, accept the HIGH+LO_SUM construct generated by
+	 sparc_legitimize_reload_address.  */
+      if (reload_in_progress
+	  && GET_CODE (rs1) == HIGH
+	  && XEXP (rs1, 0) == imm1)
+	return 1;
     }
   else if (GET_CODE (addr) == CONST_INT && SMALL_INT (addr))
     return 1;