https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111835
--- Comment #3 from Siarhei Volkau <lis8215 at gmail dot com> --- I don't think that it is duplicate of the bug 104387 because there's only one store. And this bug is simply disappears if we change the source code a bit. e.g. - change (int8_t)*src; to *(int8_t*)src; or change argument uint8_t * dst to int8_t * dst But if we have multiple stores, extension will remain in any condition.