https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66978
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- A small testcase: [hjl@gnu-6 pr66978]$ cat x.i extern int foo (int *); int bar (int *p) { __attribute__ ((noinline, noclone)) int hack_digit (void) { return foo (p); } return hack_digit (); } [hjl@gnu-6 pr66978]$ make /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -O2 -mx32 -maddress-mode=short -S -o x.s x.i x.i: In function \u2018hack_digit\u2019: x.i:6:7: internal compiler error: in emit_move_insn, at expr.c:3552 int hack_digit (void) ^ 0x9d9caf emit_move_insn(rtx_def*, rtx_def*) /export/gnu/import/git/sources/gcc/gcc/expr.c:3551 0xa55586 expand_function_start(tree_node*) /export/gnu/import/git/sources/gcc/gcc/function.c:5210 0x8ae9da execute /export/gnu/import/git/sources/gcc/gcc/cfgexpand.c:6105 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. Makefile:15: recipe for target 'x.s' failed make: *** [x.s] Error 1 [hjl@gnu-6 pr66978]$