------- Comment #3 from bonzini at gnu dot org 2009-02-04 16:03 ------- requires computed gotos and floats, even smaller testcase
void test(char *ip, double *reg_f) { static void * const addrs[] = {&&L1, &&L2}; double reg_f_a; reg_f_a = 0.0; goto *addrs[*++ip]; L1: reg_f_a = reg_f[*++ip]; L2: reg_f[0] = reg_f_a; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37488