aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1996-09-25 20:39:46 +0000
committerDoug Evans <dje@gnu.org>1996-09-25 20:39:46 +0000
commit0f39a9aa8b5eb478f5ad3082c7f5bb17b146efef (patch)
tree54f03aa48235aaa03a2a8eed8f300e2734d6bcd3
parentba619c961fb49d694be7be516ed168caec072a2c (diff)
downloadgcc-0f39a9aa8b5eb478f5ad3082c7f5bb17b146efef.zip
gcc-0f39a9aa8b5eb478f5ad3082c7f5bb17b146efef.tar.gz
gcc-0f39a9aa8b5eb478f5ad3082c7f5bb17b146efef.tar.bz2
sparc.c (print_operand): Handle new codes H/L.
* sparc.c (print_operand): Handle new codes H/L. * 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. From-SVN: r12845
-rw-r--r--gcc/config/sparc/sparc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 81c291d..bd51b32 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -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. */