This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/63897] [5.0 regression] gcc.dg/torture/vector-2.c fails at on x86_64-apple-darwin14
- From: "izamyatin at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 17 Nov 2014 12:50:26 +0000
- Subject: [Bug target/63897] [5.0 regression] gcc.dg/torture/vector-2.c fails at on x86_64-apple-darwin14
- Auto-submitted: auto-generated
- References: <bug-63897-4 at http dot gcc dot gnu dot org/bugzilla/>
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)))