The STM always tries to perform 32-bit ATB writes to maximize trace bandwidth efficiency. The STM can therefore hold trace packet nibbles until enough nibbles have been generated to enable a 32-bit write. The exception to this is when:
an ATB flush is requested
the STM is disabled
auto-flush is enabled
authentication permissions are removed.
In these cases, the STM can perform a smaller-size ATB write after byte aligning the data.