home *** CD-ROM | disk | FTP | other *** search
- *** /dh1/gcc-2.2.2/stmt.c Mon May 25 19:53:22 1992
- --- stmt.c Sun Jul 19 21:23:00 1992
- ***************
- *** 1013,1017 ****
- {
- char *regname = TREE_STRING_POINTER (TREE_VALUE (tail));
- ! if (decode_reg_name (regname) >= 0)
- ++nclobbers;
- }
- --- 1010,1015 ----
- {
- char *regname = TREE_STRING_POINTER (TREE_VALUE (tail));
- ! i = decode_reg_name (regname);
- ! if (i >= 0 || i == -4)
- ++nclobbers;
- }
- ***************
- *** 1184,1190 ****
- if (j < 0)
- {
- ! if (j == -3)
- continue;
-
- error ("unknown register name `%s' in `asm'", regname);
- return;
- --- 1182,1194 ----
- if (j < 0)
- {
- ! if (j == -3) /* `cc', which is not a register */
- continue;
-
- + if (j == -4) /* `memory', don't cache memory across asm */
- + {
- + XVECEXP (body, 0, i++) = gen_rtx (CLOBBER, VOIDmode, const0_rtx);
- + continue;
- + }
- +
- error ("unknown register name `%s' in `asm'", regname);
- return;
- *** /dh1/gcc-2.2.2/varasm.c Thu May 21 18:24:40 1992
- --- varasm.c Sun Jul 19 21:22:28 1992
- ***************
- *** 213,218 ****
- /* Decode an `asm' spec for a declaration as a register name.
- Return the register number, or -1 if nothing specified,
- ! or -2 if the ASMSPEC is not `cc' and is not recognized,
- ! or -3 if ASMSPEC is `cc' and is not recognized.
- Accept an exact spelling or a decimal number.
- Prefixes such as % are optional. */
- --- 214,220 ----
- /* Decode an `asm' spec for a declaration as a register name.
- Return the register number, or -1 if nothing specified,
- ! or -2 if the ASMSPEC is not `cc' or `memory' and is not recognized,
- ! or -3 if ASMSPEC is `cc' and is not recognized,
- ! or -4 if ASMSPEC is `memory' and is not recognized.
- Accept an exact spelling or a decimal number.
- Prefixes such as % are optional. */
- ***************
- *** 258,261 ****
- --- 260,266 ----
- #endif /* ADDITIONAL_REGISTER_NAMES */
-
- + if (!strcmp (asmspec, "memory"))
- + return -4;
- +
- if (!strcmp (asmspec, "cc"))
- return -3;
-