And if you use -O2 as gcc option, you may find it does nothing. They are using the same assemble language.
On Wed, Dec 5, 2012 at 3:26 PM, Li, Zhen-Hua <[email protected]> wrote: > Infact, your patch does remove an orl operation, but add a new "move" > operation. > > You can test such two functions: > int func1(int rm1, int rm2){ > int i = 0; > i |= rm1; > i |= rm2; > } > > and > > int func(int rm1, int rm2){ > int i; > i = rm1; > i |= rm2; > } > > Use gcc to compile them to assemble with "-S" operation, and you will find it. > > On Tue, Dec 4, 2012 at 10:46 PM, Santosh Shilimkar > <[email protected]> wrote: >> On Tuesday 04 December 2012 07:25 PM, Grant Likely wrote: >>> >>> On Tue, Dec 4, 2012 at 11:44 AM, Santosh Shilimkar >>> <[email protected]> wrote: >>>> >>>> On Tuesday 04 December 2012 04:56 PM, Cong Ding wrote: >>>>> >>>>> >>>>> the initialization of variable ret is unnecessary, we can remove it >>>>> while >>>>> save >>>>> one time "or" operation. >>>>> >>>>> Signed-off-by: Cong Ding <[email protected]> >>>>> --- >>>> >>>> >>>> Looks ok. >>>> Acked-by: Santosh Shilimkar<[email protected]> >>>> >>> >>> Thanks for the patch, but I don't think it matters enough to apply it. >>> The existing code isn't wrong. >>> >> The patch was removing an additional operation and hence i didn't >> contest it. I agree with your comment though. >> >> Regards >> Santosh >> >> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to [email protected] >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

