A lookup such as this always generates a computed column:
(deflookup l1 (X) ((i8 Y)))
When it seems that this is unnecessary, since we could lower the casted term into a register access with a given mask. This is particularly important for conditional lookups into assembly modules where casts have been introduced.