This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, i386]: Fix PR 70998, CE in pre_and_rev_post_order_compute, at cfganal.c


Hello!

As exposed by r235906 [1], we should not widen DFmode memory access to
V2DFmode in the splitter.

Attached patch introduces two new patterns that use correct mode of
memory operand. These two patterns are appropriate for the
TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters, as they don't need to
widen memory access.

2016-05-08  Uros Bizjak  <ubizjak@gmail.com>

    PR target/70998
    * config/i386/sse.md (*sse2_vd_cvtsd2ss): New insn pattern.
    (*sse2_vd_cvtss2sd): Ditto.
    * config/i386/i386.md
    (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf splitter):
    Generate *sse2_vd_cvtsd2ss pattern.
    (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df splitter):
    Generate *sse2_vd_cvtss2sd pattern.

Patch was bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.

Committed to mainline SVN.

[1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=235906

Uros.

Attachment: p.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]