Trying to work around a 16-bit x86 weirdness
DJ Delorie
dj@redhat.com
Tue Oct 21 16:49:00 GMT 2003
> Should I add a pattern for (set (match_operand:HI 0)
> (match_operand:DI 1)) just so I can catch these large CONST_INT's?
If this is the problem you want to solve, the solution is to write
your own predicate that exactly matches the operands you want to
match. In this case, something like this pseudo-code:
i86_movhi_src_operand ()
{
if (const_int in 0x8000..0xffff)
return true;
if (some_other_odd_case)
return false;
return general_operand();
}
Note, however, that allowing 0x8000..0xffff in a hi/losum split may
cause problems. i86 shouldn't need that kind of split, though, so
this should be a non-problem for you.
Also, this may not be the right thing to do to fix your problem anyway ;-)
More information about the Gcc
mailing list