diff options
author | Alan Hayward <alan.hayward@arm.com> | 2018-08-06 09:07:57 +0000 |
---|---|---|
committer | Alan Hayward <alahay01@gcc.gnu.org> | 2018-08-06 09:07:57 +0000 |
commit | 601e86a57f6ec7e9acdfe5767779a3c62735b0e6 (patch) | |
tree | 4b7c46858f06d0eca3f66da9b402027d4f825a9b /gcc/rtl.def | |
parent | 6e9f49e4560d19812307d6f50bee4d418c42dfe0 (diff) |
Add CLOBBER_HIGH expression
Includes documentation.
2018-08-06 Alan Hayward <alan.hayward@arm.com>
* doc/rtl.texi (clobber_high): Add.
(parallel): Add in clobber high
* rtl.c (rtl_check_failed_code3): Add function.
* rtl.def (CLOBBER_HIGH): Add expression.
* rtl.h (RTL_CHECKC3): Add macro.
(rtl_check_failed_code3): Add declaration.
(XC3EXP): Add macro.
From-SVN: r263326
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 2578a0ccb9e..0ed27505545 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -312,6 +312,16 @@ DEF_RTL_EXPR(USE, "use", "e", RTX_EXTRA) is considered undeletable before reload. */ DEF_RTL_EXPR(CLOBBER, "clobber", "e", RTX_EXTRA) +/* Indicate that the upper parts of something are clobbered in a way that we + don't want to explain. The MODE references the lower bits that will be + preserved. Anything above that size will be clobbered. + + CLOBBER_HIGH only occurs as the operand of a PARALLEL rtx. It cannot appear + in other contexts, and unlike CLOBBER, it cannot appear on its own. + CLOBBER_HIGH can only be used with fixed register rtxes. */ + +DEF_RTL_EXPR(CLOBBER_HIGH, "clobber_high", "e", RTX_EXTRA) + /* Call a subroutine. Operand 1 is the address to call. Operand 2 is the number of arguments. */ |