PATCH: First part of 64-bit Darwin support, revised

Stan Shebs shebs@apple.com
Tue Aug 17 17:11:00 GMT 2004


That would be weird if it was connected with my patch, because I added 
DImode
patterns, and this error is coming from SImode rtl.

Stan

Fariborz Jahanian wrote:

> I am also seeing many failures (mostly with -Os) on ppc-darwin, 
> generally with the following
> symptoms:
>
> 970206-1.c: In function `f':
> 970206-1.c:13: error: unrecognizable insn:
> (insn:HI 23 22 24 0 (parallel [
>             (set (reg:SI 4 r4 [ arect ])
>                 (mem/s:SI (reg/f:SI 124) [5 arect+0 S4 A32]))
>             (set (reg:SI 5 r5 [ arect+4 ])
>                 (mem/s:SI (plus:SI (reg/f:SI 124)
>                         (const_int 4 [0x4])) [5 arect+4 S4 A32]))
>             (set (reg:SI 6 r6 [ arect+8 ])
>                 (mem/s:SI (plus:SI (reg/f:SI 124)
>                         (const_int 8 [0x8])) [5 arect+8 S4 A32]))
>             (set (reg:SI 7 r7 [ arect+12 ])
>                 (mem/s:SI (plus:SI (reg/f:SI 124)
>                         (const_int 12 [0xc])) [5 arect+12 S4 A32]))
>         ]) -1 (insn_list 22 (nil))
>     (expr_list:REG_DEAD (reg/f:SI 124)
>         (nil)))
> 970206-1.c:13: internal compiler error: in extract_insn, at recog.c:2037
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions
>
> - Fariborz
>
> On Aug 17, 2004, at 9:35 AM, David Edelsohn wrote:
>
>> Stan,
>>
>>     I have reverted the MD portion of the patch and the rs6000.c
>> reference to gen_macho_*_di.  The patch should have been tested on other
>> PowerPC configurations.
>>
>>     There are a number of problems with the patch and it should not
>> have been committed.  Regardless whether the patterns are suppose to be
>> Darwin-specific, they have effects on other configurations, as you have
>> seen, so they should not be approved as "Darwin" only.
>>
>>     As Andreas has pointed out, the patterns that invoke output_call()
>> must have some other return value or abort() in the non-TARGET_MACHO
>> case.
>>
>>     match_parallel with a predicate of "any_operand" now is wrong.
>>
>>     And the match_parallel patterns appear to be generating RTL that
>> is unrecognized by lmw patterns in rs6000.md as seen by ppclinux32 and
>> aix32.
>>
>> David
>>
>
>



More information about the Gcc-patches mailing list