https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83926
--- Comment #10 from Peter Bergner <bergner at gcc dot gnu.org> --- A similar error happens with the __builtin_vsx_udiv_2di() that happens with __builtin_vsx_div_2di(), which shows the splitter for vsx_udiv_v2di calling gen_udivdi3() directly: [bergner@makalu-lp1 PR83926]$ cat udiv.i __attribute__ ((altivec(vector__))) unsigned long long foo (__attribute__ ((altivec(vector__))) unsigned long long a, __attribute__ ((altivec(vector__))) unsigned long long b) { return __builtin_vsx_udiv_2di (a, b); } [bergner@makalu-lp1 PR83926]$ /home/bergner/gcc/build/gcc-fsf-mainline-pr83926-debug/gcc/xgcc -B/home/bergner/gcc/build/gcc-fsf-mainline-pr83926-debug/gcc -S -mcpu=power8 -O1 -m32 -mno-fold-gimple udiv.i gimple folding of rs6000 builtins has been disabled. udiv.i: In function ‘foo’: udiv.i:6:1: error: unrecognizable insn: } ^ (insn 16 15 17 2 (set (reg:DI 127) (udiv:DI (reg:DI 125) (reg:DI 126))) "udiv.i":6 -1 (nil)) during RTL pass: subreg2 udiv.i:6:1: internal compiler error: in extract_insn, at recog.c:2304 0x10ddd69f _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/bergner/gcc/gcc-fsf-mainline-pr83926/gcc/rtl-error.c:108