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

            Bug ID: 71779
           Summary: isl miscompiled with -mabi=ilp32
           Product: gcc
           Version: 6.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sch...@linux-m68k.org
  Target Milestone: ---
            Target: aarch64-*-*

Created attachment 38840
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38840&action=edit
Test case

$ gcc -mabi=ilp32 -O2 -S isl_input.i

.L926:
        ldr     x20, [x29, 128] // tmp466, %sfp
        ldr     w0, [x19]       //, s_2(D)->ctx
        stp     w4, w3, [x29, 120]      // tmp529, tmp526, %sfp
        orr     x1, x20, x21, lsl 32    //, tmp466, obj1$v,
        bl      to_union        //

The first insn loads 64 bits from [x29,128], but this contains the address of
isl_obj_map_vtable, which is 32 bits.  The orr insn is assuming the 32 top bits
of x20 are zero, but they contain the unitialized bits from [x29,128].

Reply via email to