On Oct 17, 2010, at 13:48, David Bond wrote:
> OPTABLE(YOP) enables long-displacement which ignores USING ranges when
> assembling long-displacement capable instructions. (I strongly disagree
> with that design decision because it destroys the usefulness of USING ranges.)
>
Good point. A range explicitly stated on the USING instruction should
always be respected. Is the behavior you describe a consequence of a
default USING range of 4095 and reluctance of the developers either to
change a default or require programmers to specify the range repeatedly?
And the existence of multiple displacement ranges makes the domain
check on dependent USINGs problematical. But it was always so. The
folloing nonsensical but valid sequence is improperly prohibited:
USING X,R2
USING Y,X+100000000
LA R1,Y-99999999
As others and I have argued before, dependent USING should provide for
specifying both upper and lower bounds on the range. This could have
been useful previously, necessary now that the hardware supports
negative displacements.
-- gil