This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] ARM half-precision floating point, 6/8 (really about part 2 now)
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: Sandra Loosemore <sandra at codesourcery dot com>
- Cc: GCC Patches s <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 14 May 2009 23:58:36 +0200
- Subject: Re: [PATCH] ARM half-precision floating point, 6/8 (really about part 2 now)
- References: <49E65EE5.email@example.com> <49E6E19C.firstname.lastname@example.org> <4A0C7AC6.email@example.com>
On Thu, May 14, 2009 at 22:10, Sandra Loosemore <firstname.lastname@example.org> wrote:
> Paolo Bonzini wrote:
>> Also, I came across the bug you fix in part 2 for my cond-optab work.
>>> 2009-04-15 ?Sandra Loosemore ?<email@example.com>
>>> ? ?gcc/
>>> ? ?* optabs.c (prepare_float_lib_cmp): ?Test that the comparison,
>>> ? ?swapped, and reversed optabs exist before trying to use them.
>> This will actually be unnecessary after the cond-optab merge. ?The bug
>> here is that can_compare_p tries widening the operand and says "we can
>> do UNLT by going through SFmode", so that UNLT is not split into
>> UNORDERED and LT. ?Then however prepare_cmp_insn does not try widening
>> and prepare_float_lib_cmp crashes when it tries HFmode because UNLT does
>> not have a libcall and hence an optab. ?On the branch, widening is tried
>> before libcalls, which works.
>> If I beat you to committing the branch, I'll ask you to try reverting
>> that part. ?If (as it is likely) you're first, I'll test whether I can
>> change this to an assert.
> I got distracted before I could follow up on this, and now I see you've
> beaten me to it with the cond-optab merge. ?I just re-tested and found that
> the fp16 operations fall over in the cond-optab-merged version without my
> own optabs patch. ?Do you have another not-yet-committed patch that is
> supposed to address this? ?Otherwise I will just go ahead and commit mine,
> since it has already been approved.
Go ahead, I'll take a look after the entire series is committed.