sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF.
* config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF. From-SVN: r171134
This commit is contained in:
parent
294eab8c10
commit
2efd0aa69c
@ -1,3 +1,8 @@
|
||||
2011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
* config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
|
||||
and UNSPEC_PCREL_SYMOFF.
|
||||
|
||||
2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
* config/s390/s390.md: Use define_c_enum for the unspec constant
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Output routines for GCC for Renesas / SuperH SH.
|
||||
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Steve Chamberlain (sac@cygnus.com).
|
||||
Improved by Jim Wilson (wilson@cygnus.com).
|
||||
@ -10019,8 +10019,20 @@ sh_delegitimize_address (rtx orig_x)
|
||||
if (GET_CODE (y) == UNSPEC)
|
||||
{
|
||||
if (XINT (y, 1) == UNSPEC_GOT
|
||||
|| XINT (y, 1) == UNSPEC_GOTOFF)
|
||||
|| XINT (y, 1) == UNSPEC_GOTOFF
|
||||
|| XINT (y, 1) == UNSPEC_SYMOFF)
|
||||
return XVECEXP (y, 0, 0);
|
||||
else if (XINT (y, 1) == UNSPEC_PCREL_SYMOFF)
|
||||
{
|
||||
if (GET_CODE (XVECEXP (y, 0, 0)) == CONST)
|
||||
{
|
||||
rtx symplt = XEXP (XVECEXP (y, 0, 0), 0);
|
||||
|
||||
if (GET_CODE (symplt) == UNSPEC
|
||||
&& XINT (symplt, 1) == UNSPEC_PLT)
|
||||
return XVECEXP (symplt, 0, 0);
|
||||
}
|
||||
}
|
||||
else if (TARGET_SHMEDIA
|
||||
&& (XINT (y, 1) == UNSPEC_EXTRACT_S16
|
||||
|| XINT (y, 1) == UNSPEC_EXTRACT_U16))
|
||||
|
Loading…
Reference in New Issue
Block a user