https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61577

--- Comment #21 from dave.anglin at bell dot net ---
On 2019-07-01 12:53 p.m., elowe at elowe dot com wrote:
> Working assembler for hello world program:
>
> => 0x4000000000000c90 <+0>:     [MII]       alloc r33=ar.pfs,5,4,0
>    0x4000000000000c91 <+1>:                 mov r34=r12
>    0x4000000000000c92 <+2>:                 mov r32=b0
>    0x4000000000000ca0 <+16>:    [MII]       mov r35=r1
>    0x4000000000000ca1 <+17>:                addl r36=-16,r1;;
>    0x4000000000000ca2 <+18>:                nop.i 0x0
>
> Bad assembler:
>
> => 0x4000000000000c00 <+0>:     [MII]       alloc r33=ar.pfs,5,4,0
>    0x4000000000000c01 <+1>:                 mov r34=r12
>    0x4000000000000c02 <+2>:                 mov r32=b0
>    0x4000000000000c10 <+16>:    [MLX]       cmp.lt p0,p0=r0,r0 <<< Illegal
> Instruction
>    0x4000000000000c11 <+17>:                movl r36=0x42c018000000000;;
>    0x4000000000000c20 <+32>:    [MIB]       add r36=r1,r36
>    0x4000000000000c21 <+33>:                nop.i 0x0
I can't help with ia64 instructions.  This looks like a different bug from the
original report.

Are you using GNU or HP tools?  Did you specify "--with-gnu-as" and/or
"--with-gnu-ld" in
your configure options?

On hppa, the HP assembler is not recommended.  I'm a bit surprised that the
illegal instruction
wasn't an assembler error.

I would switch to testing trunk as any fix will be applied to it first.

If you add "-da" to the compile options for the hello world program, you should
see the RTL
generated in various compilation stages.  Ultimately, the final stage is output
as assembler.  Comparing
your working compiler to the broken compiler may give clues as to what is
broken and when it occurs.

"-save-temps -v" is another useful option.  It saves intermediate files and
shows intermediate
compilation commands.

Reply via email to