aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-10-25 06:30:37 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-10-25 06:30:37 +0000
commit20819a093ee01295ac3e0ec0d21e873a47b22513 (patch)
tree945c1c63be1b0a0e86b8f5c5cd051b4efb824162 /gcc
parentad678cb0edb5e83aec891771440bc21b45868172 (diff)
downloadgcc-20819a093ee01295ac3e0ec0d21e873a47b22513.zip
gcc-20819a093ee01295ac3e0ec0d21e873a47b22513.tar.gz
gcc-20819a093ee01295ac3e0ec0d21e873a47b22513.tar.bz2
* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
From-SVN: r30153
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.md16
2 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b02d218..a2713d9 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 7807b7b..5f903b6 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")])