Example my assembly with gcc -02 flag
Before:

After:

--
v4: d3dcompiler: replaced to char, wchar_t parameter if possible
wcmdmain: replaced to char, wchar_t parameter if possible
https://gitlab.winehq.org/wine/wine/-/merge_requests/6158
--
v5: msvcrt/tests: Add tests of _strnicmp_l().
include: Add _strnicmp_l() declaration.
msvcrt/tests: Test _stricmp() with multiple bytes characters.
msvcrt: Correct the result of non-ASCII characters for _strnicmp_l().
msvcrt/tests: Test _tolower_l() with DBCS.
msvcrt: Improve DBCS support for _tolower_l().
msvcrt/tests: Test tolower() with DBCS.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6703
--
v4: msvcrt/tests: Add tests of _strnicmp_l().
include: Add _strnicmp_l() declaration.
msvcrt/tests: Test _stricmp() with multiple bytes characters.
msvcrt: Correct the result of non-ASCII characters for _strnicmp_l().
msvcrt/tests: Test _tolower_l() with DBCS.
msvcrt: Improve DBCS support for _tolower_l().
msvcrt/tests: Test tolower() with DBCS.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6703
--
v3: msvcrt/tests: Add tests of _strnicmp_l().
include: Add _strnicmp_l() declaration.
msvcrt/tests: Test _stricmp() with multiple bytes characters.
msvcrt: Correct the result of non-ASCII characters for _strnicmp_l().
msvcrt/tests: Test _tolower_l() with DBCS.
msvcrt: Improve DBCS support for _tolower_l().
msvcrt/tests: Test tolower() with DBCS.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6703