PR gas/4124
authorNick Clifton <nickc@redhat.com>
Wed, 21 Mar 2007 16:08:14 +0000 (16:08 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 21 Mar 2007 16:08:14 +0000 (16:08 +0000)
* config/tc-alpha.c (emit_ustX): Fix ustq code generation.

gas/ChangeLog
gas/config/tc-alpha.c

index 1c7b0fe..ca2f6dd 100644 (file)
@@ -1,3 +1,8 @@
+2007-03-21  Anton Ertl  <anton@mips.complang.tuw>
+
+       PR gas/4124
+       * config/tc-alpha.c (emit_ustX): Fix ustq code generation.
+
 2007-03-21  H.J. Lu  <hongjiu.lu@intel.com>
 
        * Makefile.am: Run dep-am.
index 3765b08..e8f0bad 100644 (file)
@@ -1,6 +1,6 @@
 /* tc-alpha.c - Processor-specific code for the DEC Alpha AXP CPU.
    Copyright 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-   2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
    Contributed by Carnegie Mellon University, 1993.
    Written by Alessandro Forin, based on earlier gas-1.38 target CPU files.
    Modified by Ken Raeburn for gas-2.x and ECOFF support.
@@ -2383,15 +2383,15 @@ emit_ustX (const expressionS *tok,
   newtok[2] = newtok[0];
   assemble_tokens ("or", newtok, 3, 1);
 
-  /* Emit "stq_u $t9, 0($at)".  */
-  set_tok_reg (newtok[0], AXP_REG_T9);
-  set_tok_const (newtok[1], 0);
-  set_tok_preg (newtok[2], AXP_REG_AT);
-  assemble_tokens ("stq_u", newtok, 3, 1);
-
   /* Emit "stq_u $t10, size-1($at)".  */
   set_tok_reg (newtok[0], AXP_REG_T10);
   set_tok_const (newtok[1], (1 << lgsize) - 1);
+  set_tok_preg (newtok[2], AXP_REG_AT);
+  assemble_tokens ("stq_u", newtok, 3, 1);
+
+  /* Emit "stq_u $t9, 0($at)".  */
+  set_tok_reg (newtok[0], AXP_REG_T9);
+  set_tok_const (newtok[1], 0);
   assemble_tokens ("stq_u", newtok, 3, 1);
 }