making GCC generate <i686 code
Posted: Mon May 25, 2009 10:08 am
I made some modifications to various functions within my kernel, and now there is an error in Bochs when I run it:
CMOV_GdEd: -enable-cpu-level=6 required
I think this means I had to compile Bochs to emulate an i686 processor in order to get some specific instruction to work. When I compile my kernel with TCC instead of GCC, everything works perfectly. So I think GCC is making i686 optimizations on my code, which I don't want. I have no other optimizations, except for -fomit-frame-pointer on all code; removing this flag does nothing to fix things. My current version of GCC is i686-pc-linux-gnu 4.3.2. How can I make GCC restrict it's instruction set to an i386/i486 instead of an i686?
Or am I misinterpreting this error?
CMOV_GdEd: -enable-cpu-level=6 required
I think this means I had to compile Bochs to emulate an i686 processor in order to get some specific instruction to work. When I compile my kernel with TCC instead of GCC, everything works perfectly. So I think GCC is making i686 optimizations on my code, which I don't want. I have no other optimizations, except for -fomit-frame-pointer on all code; removing this flag does nothing to fix things. My current version of GCC is i686-pc-linux-gnu 4.3.2. How can I make GCC restrict it's instruction set to an i386/i486 instead of an i686?
Or am I misinterpreting this error?