https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113467

--- Comment #9 from Sam James <sjames at gcc dot gnu.org> ---
I get an ICE with that:
```
/tmp/build/./gcc/xgcc -B/tmp/build/./gcc/ -B/tmp/gcc/x86_64-pc-linux-gnu/bin/
-B/tmp/gcc/x86_64-pc-linux-gnu/lib/ -isystem
/tmp/gcc/x86_64-pc-linux-gnu/include -isystem
/tmp/gcc/x86_64-pc-linux-gnu/sys-include    -g -O2 -m32 -O2  -g -O2 -DIN_GCC  
-W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic
-mlong-double-80 -DUSE_ELF_SYMVER  -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector  -fpic -mlong-double-80 -DUSE_ELF_SYMVER  -I. -I.
-I../../.././gcc -I/home/sam/git/gcc/libgcc -I/home/sam/git/gcc/libgcc/.
-I/home/sam/git/gcc/libgcc/../gcc -I/home/sam/git/gcc/libgcc/../include
-I/home/sam/git/gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS  -DUSE_TLS  -o bid128_div.o -MT bid128_div.o -MD -MP -MF
bid128_div.dep -c /home/sam/git/gcc/libgcc/config/libbid/bid128_div.c
during GIMPLE pass: vect
In file included from /home/sam/git/gcc/libgcc/config/libbid/bid_internal.h:27,
                                                                               
                                                                 from
/home/sam/git/gcc/libgcc/config/libbid/bid_div_macros.h:27,
                 from /home/sam/git/gcc/libgcc/config/libbid/bid128_div.c:25:
/home/sam/git/gcc/libgcc/config/libbid/bid128_div.c: In function
'__bid128_div':
/home/sam/git/gcc/libgcc/config/libbid/bid_conf.h:181:20: internal compiler
error: in single_pred_edge, at basic-block.h:342
  181 | #define bid128_div __bid128_div
      |                    ^~~~~~~~~~~~
/home/sam/git/gcc/libgcc/config/libbid/bid_conf.h:1047:6: note: in definition
of macro 'BID128_FUNCTION_ARG2'
 1047 |      fn_name (UINT128 bid_##arg_name1,      \
      |      ^~~~~~~
/home/sam/git/gcc/libgcc/config/libbid/bid128_div.c:36:23: note: in expansion
of macro 'bid128_div'
   36 | BID128_FUNCTION_ARG2 (bid128_div, x, y)
      |                       ^~~~~~~~~~
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.
make[4]: *** [Makefile:653: bid128_div.o] Error 1
```

Reduced:
```
typedef struct {
  int w;
} UINT128;
UINT128 get_BID128_coeff;
int get_BID128_coeff_0_1, get_BID128_coeff_0_0, get_BID128_tmp2,
    get_BID128_expon;
void get_BID128() {
  while ((get_BID128_coeff.w || get_BID128_coeff_0_0) && get_BID128_expon) {
    if (get_BID128_tmp2)
      get_BID128_coeff_0_1++;
    get_BID128_expon--;
  }
}
```

Reply via email to