[Bug middle-end/84877] Local stack copy of BLKmode parameter on the stack is not aligned when the requested alignment exceeds MAX_SUPPORTED_STACK_ALIGNMENT

dave.anglin at bell dot net gcc-bugzilla@gcc.gnu.org
Sun Jul 7 15:10:00 GMT 2019


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

--- Comment #11 from dave.anglin at bell dot net ---
On 2019-07-06 3:39 p.m., amylaar at gcc dot gnu.org wrote:
> Since the esirisc port is not in the FSF tree, it doesn't really count for
> testing; also, the behaviour will vary depending on argument passing of the
> target, so we need to test a variety of targets.
Test still fails on hppa:

(gdb) disass
Dump of assembler code for function main:
=> 0x00010388 <+0>:     stw rp,-14(sp)
   0x0001038c <+4>:     addil L%0,dp,r1
   0x00010390 <+8>:     ldo 80(sp),sp
   0x00010394 <+12>:    ldo 10(r1),r1
   0x00010398 <+16>:    ldw 0(r1),ret0
   0x0001039c <+20>:    ldw 4(r1),ret1
   0x000103a0 <+24>:    stw ret0,-78(sp)
   0x000103a4 <+28>:    stw ret1,-74(sp)
   0x000103a8 <+32>:    ldo -78(sp),r26
   0x000103ac <+36>:    ldw 8(r1),r19
   0x000103b0 <+40>:    ldw c(r1),r20
   0x000103b4 <+44>:    stw r19,-70(sp)
   0x000103b8 <+48>:    stw r20,-6c(sp)
   0x000103bc <+52>:    b,l 0x10660 <foo>,rp
   0x000103c0 <+56>:    nop

$sp is aligned on entry to main:
(gdb) p/x $sp
$1 = 0xf8d02300

However, the invisible reference is a $sp - 0x78.  That's not sufficiently
aligned.

Dave


More information about the Gcc-bugs mailing list