https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61387
Kai Tietz <ktietz at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ktietz at gcc dot gnu.org --- Comment #9 from Kai Tietz <ktietz at gcc dot gnu.org> --- Suggested patch for fixing direct fallout is below. Nevertheless it seems that darwin-target has here a general issue in legitimize address Index: predicates.md =================================================================== --- predicates.md (Revision 211685) +++ predicates.md (Arbeitskopie) @@ -74,7 +74,15 @@ (define_predicate "sibcall_memory_operand" (match_operand 0 "memory_operand") { - return CONSTANT_P (XEXP (op, 0)); + op = XEXP (op, 0); + + if (TARGET_MACHO && TARGET_64BIT + && GET_CODE (op) == CONST + && GET_CODE (XEXP (op, 0)) == UNSPEC + && XINT (XEXP (op, 0), 1) == UNSPEC_GOTPCREL) + return false; + + return CONSTANT_P (op); }) ;; Match an SI or HImode register for a zero_extract.