[Bug target/89290] [8/9 Regression] ICE in change_address_1, at emit-rtl.c:2286
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Feb 12 09:46:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89290
--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
This address should be valid:
(const:DI (plus:DI (unspec:DI [
(symbol_ref:DI ("s") [flags 0x2a] <var_decl 0x7f1b48c08b40 s>)
] UNSPEC_NTPOFF)
(const_int 8 [0x8])))
and there is code that allows this form in ix86_legitimate_address_p:
/* foo@dtpoff(%rX) is ok. */
if (GET_CODE (disp) != CONST
|| GET_CODE (XEXP (disp, 0)) != PLUS
|| GET_CODE (XEXP (XEXP (disp, 0), 0)) != UNSPEC
|| !CONST_INT_P (XEXP (XEXP (disp, 0), 1))
|| (XINT (XEXP (XEXP (disp, 0), 0), 1) != UNSPEC_DTPOFF
&& XINT (XEXP (XEXP (disp, 0), 0), 1) != UNSPEC_NTPOFF))
/* Non-constant pic memory reference. */
return false;
Jakub, can you maybe look into this issue?
More information about the Gcc-bugs
mailing list