https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80367
--- Comment #6 from jwjagersma at gmail dot com --- So "esp" is not a valid register to clobber? I thought it would only make the compiler use ebp instead to reference stack memory operands. After all esp-relative operands wouldn't be valid after a push/pop in inline asm. Also, I identified the minimum compiler flags required to reproduce this issue: $ /usr/local/djgpp/bin/i586-pc-msdosdjgpp-g++ -march=pentium3 -masm=intel -mstackrealign -O3 vbe.ii src/vbe.cpp: In member function 'virtual void jw::video::vbe2::set_palette(const px32*, const px32*, std::size_t, bool)': src/vbe.cpp:647:9: internal compiler error: in print_reg, at config/i386/i386.c:16549