There is no performance penalty in any modern compiler that I am aware of (effectively no code will be emitted).
You can have a look here: https://godbolt.org/z/DmeYL-
You can have a look here: https://godbolt.org/z/DmeYL-
The one byte rule does nothing here, because its value is undefined and its address not observable.
edit: if you find a case where an empty struct parameter causes code to be emitted, let's consider filing bugs.