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