From: law Date: Fri, 1 Jan 1999 10:53:08 +0000 (+0000) Subject: * i386.md (doubleword shifts): Fix dumb mistakes in previous change. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=abde1b18a42cb69456ddc6a3166d21b5e76deeb9;p=platform%2Fupstream%2Flinaro-gcc.git * i386.md (doubleword shifts): Fix dumb mistakes in previous change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24457 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index ded8f4e..e8adf94 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -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. @@ -4687,8 +4687,7 @@ byte_xor_operation: "" "* { - rtx xops[4], low[1], high[1]; - static int ashldi_label_number; + rtx xops[5], low[1], high[1]; CC_STATUS_INIT; @@ -4697,17 +4696,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; }") @@ -4877,8 +4875,7 @@ byte_xor_operation: "" "* { - rtx xops[4], low[1], high[1]; - static int ashrdi_label_number; + rtx xops[5], low[1], high[1]; CC_STATUS_INIT; @@ -4887,18 +4884,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; }") @@ -5043,8 +5039,7 @@ byte_xor_operation: "" "* { - rtx xops[4], low[1], high[1]; - static int lshrdi_label_number; + rtx xops[5], low[1], high[1]; CC_STATUS_INIT; @@ -5053,17 +5048,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; }")