Commit 31460ed2 by Jakub Jelinek Committed by Jakub Jelinek

re PR target/87598 (Rejects "%a0" with constant)

	PR target/87598
	* config/aarch64/aarch64.c (aarch64_print_address_internal): Don't
	call output_operand_lossage on VOIDmode CONST_INTs.  After
	output_operand_lossage do return false.

	* gcc.target/aarch64/asm-5.c: New test.

From-SVN: r266852
parent c0d105c6
2018-12-06 Jakub Jelinek <jakub@redhat.com>
PR target/87598
* config/aarch64/aarch64.c (aarch64_print_address_internal): Don't
call output_operand_lossage on VOIDmode CONST_INTs. After
output_operand_lossage do return false.
2018-12-06 Richard Biener <rguenther@suse.de> 2018-12-06 Richard Biener <rguenther@suse.de>
* df-problems.c (df_rd_local_compute): Use bitmap_release. * df-problems.c (df_rd_local_compute): Use bitmap_release.
...@@ -7635,8 +7635,13 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x, ...@@ -7635,8 +7635,13 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
unsigned int size; unsigned int size;
/* Check all addresses are Pmode - including ILP32. */ /* Check all addresses are Pmode - including ILP32. */
if (GET_MODE (x) != Pmode) if (GET_MODE (x) != Pmode
output_operand_lossage ("invalid address mode"); && (!CONST_INT_P (x)
|| trunc_int_for_mode (INTVAL (x), Pmode) != INTVAL (x)))
{
output_operand_lossage ("invalid address mode");
return false;
}
if (aarch64_classify_address (&addr, x, mode, true, type)) if (aarch64_classify_address (&addr, x, mode, true, type))
switch (addr.type) switch (addr.type)
......
2018-12-06 Jakub Jelinek <jakub@redhat.com> 2018-12-06 Jakub Jelinek <jakub@redhat.com>
PR target/87598
* gcc.target/aarch64/asm-5.c: New test.
PR tree-optimization/85726 PR tree-optimization/85726
* gcc.dg/tree-ssa/pr85726-1.c: New test. * gcc.dg/tree-ssa/pr85726-1.c: New test.
* gcc.dg/tree-ssa/pr85726-2.c: New test. * gcc.dg/tree-ssa/pr85726-2.c: New test.
......
/* PR target/87598 */
/* { dg-do compile } */
void
foo (void)
{
__asm__ ("# %a0" : : "i" (0));
}
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