Mike,
Having done some fine-reading on the header file "arlut_fifo_interface_regs.h" and its macro's followed by a quick simulation I think I finally can contribute constructively to your fifo interface.
The REGISTER_BIT macro should read
#define REGISTER_BIT(regName, bitName, bitNum)
ARLUT_FIFO_INTERFACE_##regName##_##bitName##_OFST = bitNum,
ARLUT_FIFO_INTERFACE_##regName##_##bitName##_MSK = (1 <<
ARLUT_FIFO_INTERFACE_##regName##_##bitName##_OFST)
The original one never takes account of the bitNum parameter (end of second line).
regards
henning