From c09e64987db14029d96c1a2fb0d05a74535f864b Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Thu, 18 Jun 1992 17:38:13 +0000 Subject: *** empty log message *** From-SVN: r1207 --- gcc/stmt.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'gcc/stmt.c') diff --git a/gcc/stmt.c b/gcc/stmt.c index 2c27596..11c122b 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -1012,7 +1012,8 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) for (tail = clobbers; tail; tail = TREE_CHAIN (tail)) { char *regname = TREE_STRING_POINTER (TREE_VALUE (tail)); - if (decode_reg_name (regname) >= 0) + i = decode_reg_name (regname); + if (i >= 0 || i == -4) ++nclobbers; } @@ -1183,9 +1184,15 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) if (j < 0) { - if (j == -3) + 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; } -- cgit v1.1