https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122332
--- Comment #4 from David Binderman <dcb314 at hotmail dot com> ---
Reduced code seems to be:
int g_168, g_547, g_650_5_7_1;
long g_1592, func_17_p_20;
int(safe_mod_func_uint32_t_u_u)(unsigned ui1, int ui2) {
return ui2 == 0 ? ui1 : 0;
}
static void func_17();
void func_1() {
int *l_1832 = &g_547;
g_168 = 0;
for (; g_168 <= 2; g_168 += 1)
*l_1832 = 0;
func_17();
}
void func_17() {
unsigned __trans_tmp_7;
int *l_1894 = &g_650_5_7_1, *l_1911 = &g_650_5_7_1;
for (; func_17_p_20; --func_17_p_20) {
long *l_1922 = &g_1592;
int i = 0;
for (; i < 2; i++) {
__trans_tmp_7 = safe_mod_func_uint32_t_u_u(*l_1894, g_547);
*l_1911 = 1 != (*l_1922)-- & __trans_tmp_7;
}
}
}