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

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
ix86_update_stack_alignment_2 got

(mem:V16SI (plus:DI (mult:DI (reg:DI 0 ax [orig:158 _101 ] [158])
            (const_int 8 [0x8]))
        (reg/f:DI 5 di [169])) [13  S64 A512])

and RTL points-to isn't available.   ix86_decompose_address got

(gdb) call debug (parts.base)
(reg/f:DI 5 di [169])
(gdb) call debug (parts.index)
(reg:DI 0 ax [orig:158 _101 ] [158])
(gdb) call debug (parts.disp)
<nil>
(gdb) 

It assumes that this is on stack.  But %rdi comes from:

(insn 126 3 47 6 (set (reg/f:DI 5 di [169])
        (symbol_ref:DI ("s_polygonUv") [flags 0x2]  <var_decl 0x7f54beafb000
s_polygonUv>)) 99 {*movdi_internal}
     (expr_list:REG_EQUIV (symbol_ref:DI ("s_polygonUv") [flags 0x2]  <var_decl
0x7f54beafb000 s_polygonUv>)
        (nil)))

where s_polygonUv is a global variable.

Reply via email to