Hi, With respect to the MPFR build error, (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58578), is movs appropraite as shown below? When _err1 is negative the condition is evaluating it to be true.
/* C Codeoes */ if (_err1 > 0) { /* working code */ .loc 1 67 0 cmp r3, #0 ble .L6 /* not working code*/ .loc 1 67 0 movs r3, r3, asl #1 ble .L6 When I looked at the ARM documents, I found the following Condition flags ------------------- If S is specified, for MOV instructions: 1. update the N and Z flags according to the result 2. can update the C flag during the calculation of Operand2 (see Flexible second operand) 3. do not affect the V flag. And also le Signed less than or equal. (Z==1) || (N!=V) Does this means we cant movs at comparision. http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00861.html added this and I guess it is intentional. Am I missing anything here? Thanks, Kugan _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain