The datasheet makes no mention of fifos in the UART or USART sections. They can use DMA, however...
Looking at the source code, in RingBuffer.h:
#define SERIAL_BUFFER_SIZE 64
Also, it looks like buffering is only used for reception, not transmission. From UARTClass.cpp:
size_t UARTClass::write( const uint8_t uc_data )
{
// Check if the transmitter is ready
while ((_pUart->UART_SR & UART_SR_TXRDY) != UART_SR_TXRDY)
;
// Send character
_pUart->UART_THR = uc_data;
return 1;
}
Hopefully this will soon change to buffered transmit like AVR has used since Arduino 1.0.