https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101139
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #5) > Created attachment 57993 [details] > Patch but it does not work for the code in this testcase > > I have to look into why it is not working for the testcase in comment #0 > (factor_out_conditional_operation is not even called) but it does work for: > ``` > short f(int a, short b, short c) > { > if (a) > return __builtin_bswap16(b); > return __builtin_bswap16(c); > } > ``` This patch was committed as r15-2986-gcd2f394418be0c.