OSDN Git Service

* sparc.c (print_operand): Handle new codes H/L.
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Sep 1996 20:39:46 +0000 (20:39 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Sep 1996 20:39:46 +0000 (20:39 +0000)
* sparc.md (lo_sum_di_sp32,adddi3_sp32,subdi3_sp32,
mulsidi3_sp32,const_mulsidi3,umulsidi3_sp32,const_umulsidi3,
smacdi,umacdi,anddi3_sp32,iordi3_sp32,xordi3_sp32,negdi2_sp32):
Add little endian support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12845 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/sparc/sparc.c

index 81c291d..bd51b32 100644 (file)
@@ -3925,6 +3925,20 @@ print_operand (file, x, code)
       else
        output_operand_lossage ("Invalid %%Y operand");
       return;
+    case 'L':
+      /* Print out the low order register name of a register pair.  */
+      if (WORDS_BIG_ENDIAN)
+       fputs (reg_names[REGNO (x)+1], file);
+      else
+       fputs (reg_names[REGNO (x)], file);
+      return;
+    case 'H':
+      /* Print out the high order register name of a register pair.  */
+      if (WORDS_BIG_ENDIAN)
+       fputs (reg_names[REGNO (x)], file);
+      else
+       fputs (reg_names[REGNO (x)+1], file);
+      return;
     case 'R':
       /* Print out the second register name of a register pair or quad.
         I.e., R (%o0) => %o1.  */