This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

optimization question

I want to perform math compares using constants so that we test that the compare operation performs correctly. The compiler obviously recognizes that the compare operation produces a true result with the constants given so it doesn't generate any code for it. What can I specify to the compiler to tell it to generate code for what it sees and not perform any optimization?
Here is an example piece of the code:

    BOOL BoolResult = FALSE;
    /*---------------------------------------------------
     * integer compare operations
     *---------------------------------------------------*/
    if ( (10000 <  20000) &&
          (20000 <= 30000) &&
          (30000 >  25000) &&
          (25000 >= 20000) &&
          (20000 == 20000) &&
          (20000 != 20001)
       )
    {
            BoolResult = TRUE;
    }

Parents
  • That is a fundamental misconception of the nature of a high-level language!

    You should not think of HLL source code as a sequence of instructions that the compiler simply transliterates into a sequence of machine instructions.

    If you want to guarantee a specific set of machine instructions then, as already noted, you must write in assembler.

Reply
  • That is a fundamental misconception of the nature of a high-level language!

    You should not think of HLL source code as a sequence of instructions that the compiler simply transliterates into a sequence of machine instructions.

    If you want to guarantee a specific set of machine instructions then, as already noted, you must write in assembler.

Children
No data