On 07/23/2015 03:28 PM, Richard Sandiford wrote:
Ping

Richard Sandiford <richard.sandif...@arm.com> writes:
The pattern was accepting a nonimediate_operand, using the C condition
to weed out certain types of memory, but was then using an "r" constraint
to force a register.  This patch makes the predicate match the constraint
and removes the C condition.

Tested by building fr30-elf and using:

int
foo (int i)
{
   __typeof(&&a) foo[] = { &&a, &&a, &&b, &&c };

  restart:
   goto *foo[i];

  a:
   return 1;

  b:
   i += 1;
   goto restart;

  c:
   return 2;
}

to triger an indirect jump (checked via -dp).  OK to install?

Thanks,
Richard


gcc/
        * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
        instead of nonimmediate_operand.  Remove C condiition.
OK.

Jeff

Reply via email to