]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* i386.md (doubleword shifts): Fix dumb mistakes in previous change.
authorJeffrey A Law <law@cygnus.com>
Fri, 1 Jan 1999 10:55:32 +0000 (10:55 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 1 Jan 1999 10:55:32 +0000 (03:55 -0700)
From-SVN: r24458

gcc/ChangeLog
gcc/config/i386/i386.md

index 1d11b0ca18071050c19eee3b3dff6f5354877b52..c034344c34d3629ee54ef7174a2531d205f1ccea 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jan  1 11:48:20 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
+
 Wed Dec 30 23:44:11 1998  Jeffrey A Law  (law@cygnus.com)
 
        * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
index dac2730afd1ae0b188fd6b1b4c2e0e7aa751597d..5762be55b92cc9c97fa2314cae4edf23b142b82a 100644 (file)
@@ -1,5 +1,5 @@
 ; GCC machine description for Intel X86.
-;; Copyright (C) 1988, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
 ;; Mostly by William Schelter.
 
 ;; This file is part of GNU CC.
@@ -4544,8 +4544,7 @@ byte_xor_operation:
   ""
   "*
 {
-  rtx xops[4], low[1], high[1];
-  static HOST_WIDE_INT ashldi_label_number;
+  rtx xops[5], low[1], high[1];
 
   CC_STATUS_INIT;
 
@@ -4554,17 +4553,16 @@ byte_xor_operation:
   xops[1] = GEN_INT (32);
   xops[2] = low[0];
   xops[3] = high[0];
+  xops[4] = gen_label_rtx ();
 
   output_asm_insn (AS3_SHIFT_DOUBLE (shld%L3,%0,%2,%3), xops);
   output_asm_insn (AS2 (sal%L2,%0,%2), xops);
   output_asm_insn (AS2 (test%B0,%1,%b0), xops);
-  fputs (\"\\tje \", asm_out_file);
-  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHLDI\", ashldi_label_number);
-  fputs (\"\\n\", asm_out_file);
+  output_asm_insn (AS1 (je,%X4), xops);
   output_asm_insn (AS2 (mov%L3,%2,%3), xops);  /* Fast shift by 32 */
   output_asm_insn (AS2 (xor%L2,%2,%2), xops);
-  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHLDI\", ashldi_label_number);
-  ashldi_label_number++;
+  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
+                             CODE_LABEL_NUMBER (xops[4]));
   RET;
 }")
 
@@ -4734,8 +4732,7 @@ byte_xor_operation:
   ""
   "*
 {
-  rtx xops[4], low[1], high[1];
-  static HOST_WIDE_INT ashrdi_label_number;
+  rtx xops[5], low[1], high[1];
 
   CC_STATUS_INIT;
 
@@ -4744,18 +4741,17 @@ byte_xor_operation:
   xops[1] = GEN_INT (32);
   xops[2] = low[0];
   xops[3] = high[0];
+  xops[4] = gen_label_rtx ();
 
   output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
   output_asm_insn (AS2 (sar%L3,%0,%3), xops);
   output_asm_insn (AS2 (test%B0,%1,%b0), xops);
-  fputs (\"\\tje \", asm_out_file);
-  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHRDI\", ashrdi_label_number);
-  fputs (\"\\n\", asm_out_file);
+  output_asm_insn (AS1 (je,%X4), xops);
   xops[1] = GEN_INT (31);
   output_asm_insn (AS2 (mov%L2,%3,%2), xops);
   output_asm_insn (AS2 (sar%L3,%1,%3), xops);  /* shift by 32 */
-  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHRDI\", ashrdi_label_number);
-  ashrdi_label_number++;
+  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
+                             CODE_LABEL_NUMBER (xops[4]));
   RET;
 }")
 
@@ -4891,8 +4887,7 @@ byte_xor_operation:
   ""
   "*
 {
-  rtx xops[4], low[1], high[1];
-  static HOST_WIDE_INT lshrdi_label_number;
+  rtx xops[5], low[1], high[1];
 
   CC_STATUS_INIT;
 
@@ -4901,17 +4896,16 @@ byte_xor_operation:
   xops[1] = GEN_INT (32);
   xops[2] = low[0];
   xops[3] = high[0];
+  xops[4] = gen_label_rtx ();
 
   output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops);
   output_asm_insn (AS2 (shr%L3,%0,%3), xops);
   output_asm_insn (AS2 (test%B0,%1,%b0), xops);
-  fputs (\"\\tje \", asm_out_file);
-  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LLSHRDI\", lshrdi_label_number);
-  fputs (\"\\n\", asm_out_file);
+  output_asm_insn (AS1 (je,%X4), xops);
   output_asm_insn (AS2 (mov%L2,%3,%2), xops);  /* Fast shift by 32 */
   output_asm_insn (AS2 (xor%L3,%3,%3), xops);
-  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LLSHRDI\", lshrdi_label_number);
-  lshrdi_label_number++;
+  ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
+                             CODE_LABEL_NUMBER (xops[4]));
   RET;
 }")