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

Reply via email to