This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/63897] [5.0 regression] gcc.dg/torture/vector-2.c fails at on x86_64-apple-darwin14


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

Igor Zamyatin <izamyatin at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at redhat dot com

--- Comment #5 from Igor Zamyatin <izamyatin at gmail dot com> ---
This again looks like RA issue (similar to the issue discussed in PR63620)

After ira we have

(insn/f 64 3 2 2 (parallel [
            (set (reg:SI 94)
                (unspec:SI [
                        (const_int 0 [0])
                    ] UNSPEC_SET_GOT))
            (clobber (reg:CC 17 flags))
        ]) 683 {set_got}
     (expr_list:REG_UNUSED (reg:CC 17 flags)
        (expr_list:REG_EQUIV (unspec:SI [
                    (const_int 0 [0])
                ] UNSPEC_SET_GOT)
            (expr_list:REG_CFA_FLUSH_QUEUE (nil)
                (nil)))))
.....

(insn 36 32 37 4 (set (reg/v:V4SI 92 [ t ])
        (vec_merge:V4SI (vec_duplicate:V4SI (const_int 1 [0x1]))
            (const_vector:V4SI [
                    (const_int 0 [0])
                    (const_int 0 [0])
                    (const_int 0 [0])
                    (const_int 0 [0])
                ])
            (const_int 1 [0x1]))) /nfs/ims/home/izamyati/test_63897.c:11 2456
{vec_setv4si_0}
     (expr_list:REG_EQUAL (const_vector:V4SI [
                (const_int 1 [0x1])
                (const_int 0 [0])
                (const_int 0 [0])
                (const_int 0 [0])
            ])
        (nil)))

and after RA 

(insn/f 64 3 2 2 (parallel [
            (set (reg:SI 0 ax [94])       <---- got is in ax
                (unspec:SI [
                        (const_int 0 [0])
                    ] UNSPEC_SET_GOT))
            (clobber (reg:CC 17 flags))
        ]) 683 {set_got}
     (expr_list:REG_EQUIV (unspec:SI [
                (const_int 0 [0])
            ] UNSPEC_SET_GOT)
        (expr_list:REG_CFA_FLUSH_QUEUE (nil)
            (nil))))

.......

(call_insn/i 21 20 22 2 (set (reg:SI 0 ax)      <--- ax is changed
        (call (mem:QI (symbol_ref:SI ("memcmp") [flags 0x41]  <function_decl
0x141d86bd0 __builtin_memcmp>) [0 __builtin_memcmp S1 A8])
            (const_int 16 [0x10]))) /nfs/ims/home/izamyati/test_63897.c:21 664
{*call_value}
     (expr_list:REG_EH_REGION (const_int 0 [0])
        (nil))
    (nil))
(insn 22 21 23 2 (parallel [
            (set (reg/f:SI 7 sp)
                (plus:SI (reg/f:SI 7 sp)
                    (const_int 16 [0x10])))
            (clobber (reg:CC 17 flags))
        ]) /nfs/ims/home/izamyati/test_63897.c:21 220 {*addsi_1}
     (expr_list:REG_ARGS_SIZE (const_int 0 [0])
        (nil)))
(insn 23 22 26 2 (set (reg:SI 0 ax [102])
        (reg:SI 0 ax)) /nfs/ims/home/izamyati/test_63897.c:21 90
{*movsi_internal}
     (nil))

.....

(insn 72 32 36 4 (set (reg:SI 0 ax [116])   <--- ax is again used as got
        (plus:SI (reg:SI 0 ax [94])
            (const:SI (unspec:SI [
                        (symbol_ref/u:SI ("*LC0") [flags 0x2])
                    ] UNSPEC_MACHOPIC_OFFSET))))
/nfs/ims/home/izamyati/test_63897.c:11 213 {*leasi}
     (expr_list:REG_EQUAL (symbol_ref/u:SI ("*LC0") [flags 0x2])
        (nil)))
(insn 36 72 37 4 (set (reg/v:V4SI 21 xmm0 [orig:92 t ] [92])
        (vec_merge:V4SI (vec_duplicate:V4SI (mem/u/c:SI (reg:SI 0 ax [116]) [0 
S4 A32]))
            (const_vector:V4SI [
                    (const_int 0 [0])
                    (const_int 0 [0])
                    (const_int 0 [0])
                    (const_int 0 [0])
                ])
            (const_int 1 [0x1]))) /nfs/ims/home/izamyati/test_63897.c:11 2456
{vec_setv4si_0}
     (expr_list:REG_EQUAL (const_vector:V4SI [
                (const_int 1 [0x1])
                (const_int 0 [0])
                (const_int 0 [0])
                (const_int 0 [0])
            ])
        (nil)))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]