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