On Wed, Sep 2, 2015 at 9:01 AM, Kyrill Tkachov <kyrylo.tkac...@arm.com> wrote: > > On 02/09/15 16:18, Zamyatin, Igor wrote: >>> >>> >>> On 19/08/15 17:57, Jeff Law wrote: >>>> >>>> On 08/12/2015 08:31 AM, Kyrill Tkachov wrote: >>>>> >>>>> 2015-08-10 Kyrylo Tkachov <kyrylo.tkac...@arm.com> >>>>> >>>>> * ifcvt.c (struct noce_if_info): Add then_simple, else_simple, >>>>> then_cost, else_cost fields. Change branch_cost field to >>>>> unsigned int. >>>>> (end_ifcvt_sequence): Call set_used_flags on each insn in the >>>>> sequence. >>>>> Include rtl-iter.h. >>>>> (noce_simple_bbs): New function. >>>>> (noce_try_move): Bail if basic blocks are not simple. >>>>> (noce_try_store_flag): Likewise. >>>>> (noce_try_store_flag_constants): Likewise. >>>>> (noce_try_addcc): Likewise. >>>>> (noce_try_store_flag_mask): Likewise. >>>>> (noce_try_cmove): Likewise. >>>>> (noce_try_minmax): Likewise. >>>>> (noce_try_abs): Likewise. >>>>> (noce_try_sign_mask): Likewise. >>>>> (noce_try_bitop): Likewise. >>>>> (bbs_ok_for_cmove_arith): New function. >>>>> (noce_emit_all_but_last): Likewise. >>>>> (noce_emit_insn): Likewise. >>>>> (noce_emit_bb): Likewise. >>>>> (noce_try_cmove_arith): Handle non-simple basic blocks. >>>>> (insn_valid_noce_process_p): New function. >>>>> (contains_mem_rtx_p): Likewise. >>>>> (bb_valid_for_noce_process_p): Likewise. >>>>> (noce_process_if_block): Allow non-simple basic blocks >>>>> where appropriate. >>>>> >>>>> 2015-08-11 Kyrylo Tkachov <kyrylo.tkac...@arm.com> >>>>> >>>>> * gcc.dg/ifcvt-1.c: New test. >>>>> * gcc.dg/ifcvt-2.c: Likewise. >>>>> * gcc.dg/ifcvt-3.c: Likewise. >> >> Looks like ifcvt-3.c fails on x86_64. I see >> >> New failures: >> FAIL: gcc.dg/ifcvt-3.c scan-rtl-dump ce1 "3 true changes made" >> >> Could you please take a look? > > > Hmm, these pass for me on x86_64-pc-linux-gnu. > The test is most probably failing due to branch costs being too low for the > transformation to kick in. The test passes for me with -mtune=intel and > -mtune=generic. > Do you know what the default tuning CPU is used for that failing test?
I opened: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67462 -- H.J.