* combine.c (can_combine_p): Don't combine with an asm whose
output is a hard register.
From-SVN: r15940
+Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
+
+ * combine.c (can_combine_p): Don't combine with an asm whose
+ output is a hard register.
+
Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
* c-decl.c (start_struct): Ensure that structs with forward
&& p != succ && volatile_refs_p (PATTERN (p)))
return 0;
+ /* If INSN is an asm, and DEST is a hard register, reject, since it has
+ to be an explicit register variable, and was chosen for a reason. */
+
+ if (GET_CODE (src) == ASM_OPERANDS
+ && GET_CODE (dest) == REG && REGNO (dest) < FIRST_PSEUDO_REGISTER)
+ return 0;
+
/* If there are any volatile insns between INSN and I3, reject, because
they might affect machine state. */