Commit 81eace42 by Geoff Keating Committed by Geoffrey Keating

rs6000.c (print_operand): Don't use %l for 'low part', it's already in use.

* config/rs6000/rs6000.c (print_operand): Don't use %l for 'low
part', it's already in use.  Use %K instead.  Add a return at the
end of what is now %K.
* config/rs6000/rs6000.md (elf_low): Use %K instead of %l.

From-SVN: r32853
parent 7a678b64
2000-03-31 Geoff Keating <geoffk@cygnus.com>
* config/rs6000/rs6000.c (print_operand): Don't use %l for 'low
part', it's already in use. Use %K instead. Add a return at the
end of what is now %K.
* config/rs6000/rs6000.md (elf_low): Use %K instead of %l.
Sat Apr 1 02:05:29 MET DST 2000 Jan Hubicka <jh@suse.cz> Sat Apr 1 02:05:29 MET DST 2000 Jan Hubicka <jh@suse.cz>
* builtins.c (expand_builtin_apply): Pass proper parameters to * builtins.c (expand_builtin_apply): Pass proper parameters to
......
...@@ -3325,6 +3325,8 @@ print_operand (file, x, code) ...@@ -3325,6 +3325,8 @@ print_operand (file, x, code)
putc ((DEFAULT_ABI == ABI_SOLARIS) ? '.' : '$', file); putc ((DEFAULT_ABI == ABI_SOLARIS) ? '.' : '$', file);
return; return;
/* %a is output_address. */
case 'A': case 'A':
/* If X is a constant integer whose low-order 5 bits are zero, /* If X is a constant integer whose low-order 5 bits are zero,
write 'l'. Otherwise, write 'r'. This is a kludge to fix a bug write 'l'. Otherwise, write 'r'. This is a kludge to fix a bug
...@@ -3350,6 +3352,9 @@ print_operand (file, x, code) ...@@ -3350,6 +3352,9 @@ print_operand (file, x, code)
putc (((INT_LOWPART(x) & 1) == 0 ? 'r' : 'l'), file); putc (((INT_LOWPART(x) & 1) == 0 ? 'r' : 'l'), file);
return; return;
/* %c is output_addr_const if a CONSTANT_ADDRESS_P, otherwise
output_operand. */
case 'C': case 'C':
{ {
enum rtx_code code = GET_CODE (x); enum rtx_code code = GET_CODE (x);
...@@ -3496,7 +3501,7 @@ print_operand (file, x, code) ...@@ -3496,7 +3501,7 @@ print_operand (file, x, code)
fprintf (file, HOST_WIDE_INT_PRINT_DEC, ~ INT_LOWPART (x)); fprintf (file, HOST_WIDE_INT_PRINT_DEC, ~ INT_LOWPART (x));
return; return;
case 'l': case 'K':
/* X must be a symbolic constant on ELF. Write an /* X must be a symbolic constant on ELF. Write an
expression suitable for an 'addi' that adds in the low 16 expression suitable for an 'addi' that adds in the low 16
bits of the MEM. */ bits of the MEM. */
...@@ -3516,6 +3521,9 @@ print_operand (file, x, code) ...@@ -3516,6 +3521,9 @@ print_operand (file, x, code)
fputs ("@l", file); fputs ("@l", file);
print_operand (file, XEXP (XEXP (x, 0), 1), 0); print_operand (file, XEXP (XEXP (x, 0), 1), 0);
} }
return;
/* %l is output_asm_label. */
case 'L': case 'L':
/* Write second word of DImode or DFmode reference. Works on register /* Write second word of DImode or DFmode reference. Works on register
...@@ -3610,6 +3618,8 @@ print_operand (file, x, code) ...@@ -3610,6 +3618,8 @@ print_operand (file, x, code)
fprintf (file, "%d", i); fprintf (file, "%d", i);
return; return;
/* %n outputs the negative of its operand. */
case 'N': case 'N':
/* Write the number of elements in the vector times 4. */ /* Write the number of elements in the vector times 4. */
if (GET_CODE (x) != PARALLEL) if (GET_CODE (x) != PARALLEL)
......
...@@ -7923,7 +7923,7 @@ ...@@ -7923,7 +7923,7 @@
"TARGET_ELF && ! TARGET_64BIT" "TARGET_ELF && ! TARGET_64BIT"
"@ "@
{cal|la} %0,%2@l(%1) {cal|la} %0,%2@l(%1)
{ai|addic} %0,%1,%l2") {ai|addic} %0,%1,%K2")
;; Set up a register with a value from the GOT table ;; Set up a register with a value from the GOT table
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment