+Wed Apr 14 00:18:22 1999 Jan Hubicka <hubicka@freesoft.cz>
+
+ * i386.md (neghi2): Do not output prefixed opcode when possible.
+ (ashlhi3): Likewise.
+
Wed Apr 14 00:08:46 1999 Richard Henderson <rth@cygnus.com>
* i386.c (memory_address_length): New function.
[(set (match_operand:HI 0 "nonimmediate_operand" "=rm")
(neg:HI (match_operand:HI 1 "nonimmediate_operand" "0")))]
""
- "neg%W0 %0")
+ "*
+ if (REG_P (operands[0]) && i386_cc_probably_useless_p (insn))
+ {
+ CC_STATUS_INIT;
+ return AS1(neg%L0,%0);
+ }
+ return AS1(neg%W0,%0);")
(define_insn "negqi2"
[(set (match_operand:QI 0 "nonimmediate_operand" "=qm")
"*
{
if (REG_P (operands[2]))
- return AS2 (sal%W0,%b2,%0);
+ {
+ if (REG_P (operands[0]) && i386_cc_probably_useless_p (insn))
+ {
+ CC_STATUS_INIT;
+ return AS2 (sal%L0,%b2,%k0);
+ }
+ return AS2 (sal%W0,%b2,%0);
+ }
if (REG_P (operands[0]) && operands[2] == const1_rtx)
- return AS2 (add%W0,%0,%0);
+ {
+ if (i386_cc_probably_useless_p (insn))
+ {
+ CC_STATUS_INIT;
+ return AS2 (add%L0,%k0,%k0);
+ }
+ return AS2 (add%W0,%0,%0);
+ }
+ if (REG_P (operands[0]) && i386_cc_probably_useless_p (insn))
+ {
+ CC_STATUS_INIT;
+ return AS2 (sal%L0,%2,%k0);
+ }
return AS2 (sal%W0,%2,%0);
}")