diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-25 06:30:37 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-25 06:30:37 +0000 |
commit | 15825211eb0510be71059605ac4afa57bebc2d5a (patch) | |
tree | 945c1c63be1b0a0e86b8f5c5cd051b4efb824162 /gcc | |
parent | c726530ab6e1e90360487fcf6db50f16089ba2a5 (diff) | |
download | gcc-15825211eb0510be71059605ac4afa57bebc2d5a.tar.gz |
* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30153 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 16 |
2 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b02d218826d..a2713d9aa0c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 7807b7bbd97..5f903b64c21 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -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")]) |