On Wed, 2023-12-13 at 14:32 +0800, Jiahao Xu wrote: > > 在 2023/12/13 下午2:21, Xi Ruoyao 写道: > > On Wed, 2023-12-13 at 14:17 +0800, Jiahao Xu wrote: > > > This test was extracted from the hot functions of 526.blender_r. Setting > > > LOGICAL_OP_NON_SHORT_CIRCUIT to 0 resulted in a 26% decrease in dynamic > > > instruction count and a 13.4% performance improvement. After applying > > > the patch mentioned above, the assembly code looks much better with > > > LOGICAL_OP_NON_SHORT_CIRCUIT=1, bringing an 11% improvement to 526. > > > Based on this, setting LOGICAL_OP_NON_SHORT_CIRCUIT to 0 further > > > improved the performance of 526 by 3%. The definition of > > > LOGICAL_OP_NON_SHORT_CIRCUIT determines how gimple is generated, while > > > the optimizations you made determine how rtl is generated. They are not > > > conflicting and combining them would yield better results. Currently, I > > > have only tested it on 526, and I will continue testing its impact on > > > the entire SPEC 2017 suite. > > The problem with LOGICAL_OP_NON_SHORT_CIRCUIT = 0 is it may regress > > fixed-point only code. In practice the usage of -ffast-math is very > > rare ("real" Linux packages invoking floating-point operations often > > just malfunction with it) and it seems not good to regress common cases > > with uncommon cases. > > > Setting LOGICAL_OP_NON_SHORT_CIRCUIT to 0 in SPEC2017 intrate benchmark > results in a 1.6% decrease in dynamic instruction count and an overall > performance improvement of 0.5%. Most of the SPEC2017 int programs > experience a decrease in instruction count, and there are no instances > of performance regression observed.
Ok then. But add these info into commit message. -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University