--- /dev/null
+diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
+index 015dd1049fb..df80ad9117e 100644
+--- a/gcc/config/xtensa/xtensa.c
++++ b/gcc/config/xtensa/xtensa.c
+@@ -1780,7 +1780,8 @@ xtensa_emit_call (int callop, rtx *operands)
+ rtx tgt = operands[callop];
+
+ if (GET_CODE (tgt) == CONST_INT)
+- sprintf (result, "call%d\t0x%lx", WINDOW_SIZE, INTVAL (tgt));
++ sprintf (result, "call%d\t" HOST_WIDE_INT_PRINT_HEX,
++ WINDOW_SIZE, INTVAL (tgt));
+ else if (register_operand (tgt, VOIDmode))
+ sprintf (result, "callx%d\t%%%d", WINDOW_SIZE, callop);
+ else
+@@ -2351,14 +2352,14 @@ print_operand (FILE *file, rtx x, int letter)
+
+ case 'L':
+ if (GET_CODE (x) == CONST_INT)
+- fprintf (file, "%ld", (32 - INTVAL (x)) & 0x1f);
++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, (32 - INTVAL (x)) & 0x1f);
+ else
+ output_operand_lossage ("invalid %%L value");
+ break;
+
+ case 'R':
+ if (GET_CODE (x) == CONST_INT)
+- fprintf (file, "%ld", INTVAL (x) & 0x1f);
++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0x1f);
+ else
+ output_operand_lossage ("invalid %%R value");
+ break;
+@@ -2372,7 +2373,7 @@ print_operand (FILE *file, rtx x, int letter)
+
+ case 'd':
+ if (GET_CODE (x) == CONST_INT)
+- fprintf (file, "%ld", INTVAL (x));
++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x));
+ else
+ output_operand_lossage ("invalid %%d value");
+ break;
+@@ -2437,7 +2438,7 @@ print_operand (FILE *file, rtx x, int letter)
+ else if (GET_CODE (x) == MEM)
+ output_address (GET_MODE (x), XEXP (x, 0));
+ else if (GET_CODE (x) == CONST_INT)
+- fprintf (file, "%ld", INTVAL (x));
++ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x));
+ else
+ output_addr_const (file, x);
+ }