diff options
Diffstat (limited to 'gcc/rtl.c')
-rw-r--r-- | gcc/rtl.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/rtl.c b/gcc/rtl.c index c51b4feb3d4..4d037816c97 100644 --- a/gcc/rtl.c +++ b/gcc/rtl.c @@ -89,7 +89,8 @@ const char * const rtx_format[NUM_RTX_CODE] = { "b" is a pointer to a bitmap header. "B" is a basic block pointer. "t" is a tree pointer. - "r" a register. */ + "r" a register. + "p" is a poly_uint16 offset. */ #define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) FORMAT , #include "rtl.def" /* rtl expressions are defined here */ @@ -346,6 +347,7 @@ copy_rtx (rtx orig) case 't': case 'w': case 'i': + case 'p': case 's': case 'S': case 'T': @@ -500,6 +502,11 @@ rtx_equal_p_cb (const_rtx x, const_rtx y, rtx_equal_p_callback_function cb) } break; + case 'p': + if (maybe_ne (SUBREG_BYTE (x), SUBREG_BYTE (y))) + return 0; + break; + case 'V': case 'E': /* Two vectors must have the same length. */ @@ -637,6 +644,11 @@ rtx_equal_p (const_rtx x, const_rtx y) } break; + case 'p': + if (maybe_ne (SUBREG_BYTE (x), SUBREG_BYTE (y))) + return 0; + break; + case 'V': case 'E': /* Two vectors must have the same length. */ |