byte_from_pos & CEIL_DIV_EXPR
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Fri Apr 7 19:34:00 GMT 2000
Is there some reason why byte_from_pos uses CEIL_DIV_EXPR rather than,
say, TRUNC_DIV_EXPR? I would expect that TRUNC_DIV_EXPR or
FLOOR_DIV_EXPR would be more correct, since if something starts at a
bitwise offset of 11, then it starts at a byte offset of 1, not 2.
Sorry, I was away for a week.
There is indeed a problem here, but it's more subtle. The problem is that
byte_from_pos can be used in both contexts: where you want the byte
containing the value and where you want to use it as a length.
My feeling is that we should use it for the former purpose only and thus
TRUNC_DIV is correct.
But I need to look at this more. Sometime over the weekend.
More information about the Gcc
mailing list