Commit 20819a09 by Mark Mitchell Committed by Mark Mitchell

* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.

From-SVN: r30153
parent ad678cb0
Sun Oct 24 20:52:40 1999 Mark Mitchell <mark@codesourcery.com>
* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
Sun Oct 24 21:02:46 1999 Richard Henderson <rth@cygnus.com> Sun Oct 24 21:02:46 1999 Richard Henderson <rth@cygnus.com>
* i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into * i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
......
...@@ -3641,11 +3641,21 @@ ...@@ -3641,11 +3641,21 @@
(match_operand:SI 2 "general_operand" "K,i,mr"))) (match_operand:SI 2 "general_operand" "K,i,mr")))
(clobber (reg:CC 17))] (clobber (reg:CC 17))]
"" ""
; %%% There was a note about "Assembler has weird restrictions", ; For the {r,0,i} alternative (i.e., register <- register * immediate),
; concerning alternative 1 when op1 == op0. True? ; there are two ways of writing the exact same machine instruction
; in assembly language. One, for example, is:
;
; imul $12, %eax
;
; while the other is:
;
; imul $12, %eax, %eax
;
; The first is simply short-hand for the latter. But, some assemblers,
; like the SCO OSR5 COFF assembler, don't handle the first form.
"@ "@
imul{l}\\t{%2, %1, %0|%0, %1, %2} imul{l}\\t{%2, %1, %0|%0, %1, %2}
imul{l}\\t{%2, %0|%0, %2} imul{l}\\t{%2, %1, %0|%0, %1, %2}
imul{l}\\t{%2, %0|%0, %2}" imul{l}\\t{%2, %0|%0, %2}"
[(set_attr "type" "imul") [(set_attr "type" "imul")
(set_attr "length" "2,3,2")]) (set_attr "length" "2,3,2")])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment