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, i386]: Macroize add and sub patterns


On Wed, Oct 7, 2009 at 6:42 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Wed, Oct 07, 2009 at 03:26:09PM +0200, Eric Botcazou wrote:
>> > Unfortunately this broke bootstrap on x86_64-linux.
>>
>> Confirmed, this is -m32 so i686-linux is broken as well.
>>
>> > (insn 8 7 9 2 a-strunb.adb:357 (set (reg:SI 99 [ D.8603 ])
>> > ? ? ? ? (plus:SI (reg:SI 80)
>> > ? ? ? ? ? ? (const_int 8 [0x8]))) -1 (nil))
>> >
>> > is now considered insn_invalid_p. ?I think the bug is that while before
>> > lea_1 (etc.) were defined before addsi_1 (etc.), it is now defined after
>> > it. This means in this insn addsi_1 is matched instead of lea_1 in recog,
>> > with num_clobbers 1, clobbering a hard register.
>>
>> I was about to debug it, thanks for beating me to it. ;-)
>
> Moving *lea_1_rex64 through
> ;; Convert lea to the lea pattern to avoid flags dependency.
> define_split right after
> ;; Add instructions
> let me go far further in the bootstrap, but it still died during libjava
> build, where assembly has stuff like:
> .globl _ZGAN8__JArrayC1Ev *INTERNAL*
> so likely jc1 got miscompiled or something. ?I don't have time to dig into
> this further :(.
>

That is

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41620


-- 
H.J.


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