* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
From-SVN: r30153
This commit is contained in:
parent
ad678cb0ed
commit
20819a093e
2 changed files with 17 additions and 3 deletions
|
@ -1,3 +1,7 @@
|
|||
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>
|
||||
|
||||
* i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
|
||||
|
|
|
@ -3641,11 +3641,21 @@
|
|||
(match_operand:SI 2 "general_operand" "K,i,mr")))
|
||||
(clobber (reg:CC 17))]
|
||||
""
|
||||
; %%% There was a note about "Assembler has weird restrictions",
|
||||
; concerning alternative 1 when op1 == op0. True?
|
||||
; For the {r,0,i} alternative (i.e., register <- register * immediate),
|
||||
; 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, %0|%0, %2}
|
||||
imul{l}\\t{%2, %1, %0|%0, %1, %2}
|
||||
imul{l}\\t{%2, %0|%0, %2}"
|
||||
[(set_attr "type" "imul")
|
||||
(set_attr "length" "2,3,2")])
|
||||
|
|
Loading…
Add table
Reference in a new issue