The STM32's CRC calculation unit has a register named CRC_IDR. This 32 bit register allows the user to store 8bits of data. There seems to be no link between this register and rest of the CRC operation. Does this register have a purpose? Is there some aspect of computing 32 bit CRC that makes this 8bit register useful?
According to their reference book
Bits 31:8 Reserved, must be kept at reset value.
Bits 7:0 General-purpose 8-bit data register bits Can be used as a temporary storage location for one byte. This register is not affected by CRC resets generated by the RESET bit in the CRC_CR register.
I would guess they had plans when making the CRC in silicon to use 4 bytes and in the end only needed the upper 3.