On 2021-04-09 10:46 -0400, Chris Fowler wrote: > I'm revisiting something I worked on a few years ago where I worked through > LFS > 7.7 on a i586 device that lacks CMOV. There are -march options for 'no MMX', > but nothing for 'no CMOV'. Where in the GCC source are those defined and can > I > create one for 'no CMOV' before I start building /tools
> I am fully aware that other OSS packages could use CMOV with inline assembly. > I'm just wanting GCC to forget it even exists when it tries to implement CMOV > during -03 optimization. GCC won't generate CMOV if it can't make sure it's avaliable for the target. If you see some CMOV in your binaries, the possiblities are: 1. it comes from (maybe inline) assembly 2. some package have CMOV in (maybe inline) assembly, or it tells the compiler to generate CMOV, it means either: (1) it is buggy, or (2) it has runtime checking to avoid execution of CMOV on platforms w/o it 3. you are using wrong -march setting 4. there is a GCC bug (unlikely - I just took a look at GCC code for checking if CMOV is usable. The code seems correct.). -- Xi Ruoyao <xry...@mengyan1223.wang> School of Aerospace Science and Technology, Xidian University -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style