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]

Re: [PATCH] Optimize in RTL vector AND { -1, -1, ... }, IOR { -1, -1, ... } and XOR { -1, -1, ... } (take 2)


On 10/31/11 14:24, Henderson, Stuart wrote:
>> 2011-09-26  Jakub Jelinek  <jakub@redhat.com>
>>
>>       * rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
>>       from 3 x MAX_MACHINE_MODE.
>>       (CONSTM1_RTX): Define.
>>       * emit-rtl.c (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
>>       from 3 x MAX_MACHINE_MODE.
>>       (gen_rtx_CONST_VECTOR): Use CONSTM1_RTX if all inner constants are
>>       CONSTM1_RTX.
>>       (init_emit_once): Initialize CONSTM1_RTX for MODE_INT and
>>       MODE_VECTOR_INT modes.
>>       * simplify-rtx.c (simplify_binary_operation_1) <case IOR, XOR, AND>:
>>       Optimize if one operand is CONSTM1_RTX.
>>       * config/i386/i386.c (ix86_expand_sse_movcc): Optimize mask ? -1 : x
>>       into mask | x.
> 
> FYI - this patch (179238) breaks the Blackfin compiler build with an internal compiler error during configure of libgcc:
> conftest.c:1:0: internal compiler error: in gen_const_vector, at emit-rtl.c:5491

This fixes it. Looks obvious enough to me; hence will commit Monday if
no objections.


Bernd

Attachment: partialm1.diff
Description: Text document


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