[PATCH, PR65915] Fix float conversion split.
H.J. Lu
hjl.tools@gmail.com
Tue Apr 28 16:59:00 GMT 2015
On Tue, Apr 28, 2015 at 9:20 AM, Ilya Tocar <tocarip.intel@gmail.com> wrote:
>> > I've renamed EXT_SSE_REG_P into EXT_REX_SSE_REG_P for consistency.
>> > Ok for stage1?
>> Patch is OK for stage1.
>>
>> --
>> Thanks, K
>>
>>
>> > On 19 Mar 12:24, Ilya Tocar wrote:
>> > > Hi,
>> > >
>> > > There were some discussion about "x" constraints being too conservative
>> > > for some patterns in i386.md.
>> > > Patch below fixes it. This is probably stage1 material.
>> > >
>> > > ChangeLog:
>> > >
>> > > gcc/
>> > >
>> > 2015-03-23 Ilya Tocar <ilya.tocar@intel.com>
>> >
>> > * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
>> > * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
>> > constraint.
>> > (*cmpi<FPCMP:unord><MODEF:mode>_sse): Ditto.
>> > (*movxi_internal_avx512f): Ditto.
>> > (define_split): Check for xmm16+, when splitting scalar float_extend.
>> > (*extendsfdf2_mixed): Use "v" constraint.
>> > (*extendsfdf2_sse): Ditto.
>> > (define_split): Check for xmm16+, when splitting scalar float_truncate.
>> > (*truncdfsf_fast_sse): Use "v" constraint.
>> > (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
>> > (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
>> > (define_peephole2): Check for xmm16+, when converting scalar
>> > float_truncate.
>> > (define_peephole2): Check for xmm16+, when converting scalar
>> > float_extend.
>> > (*fop_<mode>_comm_mixed): Use "v" constraint.
>> > (*fop_<mode>_comm_sse): Ditto.
>> > (*fop_<mode>_1_mixed): Ditto.
>> > (*sqrt<mode>2_sse): Ditto.
>> > (*ieee_s<ieee_maxmin><mode>3): Ditto.
>> >
>> >
>
> Hi,
>
> Looks like I missed some splits, which caused PR65915.
> Patch below fixes it.
> Ok for trunk?
>
> 2015-04-28 Ilya Tocar <ilya.tocar@intel.com>
>
> * config/i386/i386.md (define_split): Check for xmm16+,
> when splitting scalar float conversion.
>
Need a testcase and PR# in ChangeLog.
--
H.J.
More information about the Gcc-patches
mailing list