mirror of
https://github.com/esphome/esphome.git
synced 2026-09-23 04:58:38 +00:00
Each of these methods called encode_field_raw() then a value encoder, causing a store-load pair on pos_ between the tag and value writes. Inline the tag write into the same __restrict__ local scope as the value write so the compiler can emit tag + value with a single pos_ load at start and store at end. Verified on Xtensa: encode_uint32 now does one load + two writes + one store (was load-store-load-store).