Hi Paul, Apologies for the delay in reply, my @imgtec.com address has since become defunct and I have only come across your e-mail in my ever-lagging routine mailing traffic review.
On Wed, 14 Mar 2018, Paul Hua wrote: > I noticed that data-sym-pool.c fails on -O0 flags. > > -O0 output : > -----------------cut---------------------- > frob: > .frame $17,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 > .mask 0x00020000,0 > .fmask 0x00000000,0 > addiu $sp,-8 > sd $17,0($sp) > move $17,$sp > lw $2,$L4 > move $sp,$17 > ld $17,0($sp) > addiu $sp,8 > jr $31 > .type __pool_frob_3, @object > __pool_frob_3: > .align 2 > $L3: > .word __gnu_local_gp > $L4: > .word 305419896 > .type __pend_frob_3, @function > __pend_frob_3: > .insn > .end frob > .size frob, .-frob > .ident "GCC: (gcc trunk r258495 mips64el o32 n32 n64) 8.0.1 > 20180313 (experimental)" > -------------end---------------------------------------------- > > Is it expected ? maybe we should add skip-if -O0 flags. Thanks for your report. I think instead we should relax the matching pattern and also accept an arbitrary number of label-`.word' pairs ahead of and/or after the required one in the constant pool. I'll post a fix. Maciej