summaryrefslogtreecommitdiffstats
path: root/gas
diff options
context:
space:
mode:
authorJim Wilson <wilson@tuliptree.org>1992-12-15 03:46:14 +0000
committerJim Wilson <wilson@tuliptree.org>1992-12-15 03:46:14 +0000
commit8fc0776d4e1f1bce1cad52caba66cc587cfb8f95 (patch)
tree3c1ebcdc59a3dbc47d07910826c63116f634a875 /gas
parent85f0a8484fae7fc4f28b85298253e786645a5b6a (diff)
downloadppe42-binutils-8fc0776d4e1f1bce1cad52caba66cc587cfb8f95.tar.gz
ppe42-binutils-8fc0776d4e1f1bce1cad52caba66cc587cfb8f95.zip
For SPARC V9, for RELOC_WDISP2_14, upper 2 bits start at bit 20 now, instead
of bit 19.
Diffstat (limited to 'gas')
-rw-r--r--gas/config/tc-sparc.c51
1 files changed, 22 insertions, 29 deletions
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index dd03ac0e59..b9b3912e4e 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -552,10 +552,10 @@ md_assemble (str)
case SPECIAL_CASE_FDIV:
/* According to information leaked from Sun, the "fdiv" instructions
- on early SPARC machines would produce incorrect results sometimes.
- The workaround is to add an fmovs of the destination register to
- itself just after the instruction. This was true on machines
- with Weitek 1165 float chips, such as the Sun-4/260 and /280. */
+ on early SPARC machines would produce incorrect results sometimes.
+ The workaround is to add an fmovs of the destination register to
+ itself just after the instruction. This was true on machines
+ with Weitek 1165 float chips, such as the Sun-4/260 and /280. */
special_case = 0;
assert (the_insn.reloc == NO_RELOC);
toP = frag_more (4);
@@ -626,9 +626,9 @@ sparc_ip (str)
the_insn.reloc = NO_RELOC;
/*
- * Build the opcode, checking as we go to make
- * sure that the operands match
- */
+ * Build the opcode, checking as we go to make
+ * sure that the operands match
+ */
for (args = insn->args;; ++args)
{
switch (*args)
@@ -639,9 +639,9 @@ sparc_ip (str)
case 'K':
{
/* Load is 0; Store is 1.
- We compute the mask based on the values
- we find in S. OK is set set
- if we see something we don't like. */
+ We compute the mask based on the values
+ we find in S. OK is set set
+ if we see something we don't like. */
int ok = 1;
int mask = 0;
while (ok == 1)
@@ -1309,16 +1309,16 @@ sparc_ip (str)
break;
}
/* Note that if the getExpression() fails, we
- will still have created U entries in the
- symbol table for the 'symbols' in the input
- string. Try not to create U symbols for
- registers, etc. */
+ will still have created U entries in the
+ symbol table for the 'symbols' in the input
+ string. Try not to create U symbols for
+ registers, etc. */
{
/* This stuff checks to see if the
- expression ends in +%reg If it does,
- it removes the register from the
- expression, and re-sets 's' to point
- to the right place */
+ expression ends in +%reg If it does,
+ it removes the register from the
+ expression, and re-sets 's' to point
+ to the right place */
char *s1;
@@ -1350,9 +1350,9 @@ sparc_ip (str)
s = expr_end;
/* Check for invalid constant values. Don't
- warn if constant was inside %hi or %lo,
- since these truncate the constant to
- fit. */
+ warn if constant was inside %hi or %lo,
+ since these truncate the constant to
+ fit. */
if (immediate_max != 0
&& the_insn.reloc != RELOC_LO10
&& the_insn.reloc != RELOC_HI22
@@ -1755,7 +1755,7 @@ md_apply_fix (fixP, val)
} /* on overflow */
val = (val >>= 2) + 1;
- buf[1] |= ((val >> 14) & 0x3) << 3;
+ buf[1] |= ((val >> 14) & 0x3) << 4;
buf[2] |= (val >> 8) & 0x3f;
buf[3] = val & 0xff;
break;
@@ -2235,11 +2235,4 @@ tc_aout_pre_write_hook (headers)
return;
} /* tc_aout_pre_write_hook() */
-/*
- * Local Variables:
- * comment-column: 0
- * fill-column: 131
- * End:
- */
-
/* end of tc-sparc.c */
OpenPOWER on IntegriCloud