http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55889
--- Comment #4 from David Edelsohn <dje at gcc dot gnu.org> 2013-01-09 02:52:51
UTC ---
Selective scheduling is failing for one of the new AIX TLS instructions when
encountered for that testcase. The necessary options are:
-O -fschedule-insns -fselective-scheduling -fpic -fprofile-generate
moveup_expr_cached() is called with expr->vinsn->insn_rtx of:
(insn 145 0 0 (set (reg:SI 192)
(mem/u/c:SI (unspec:SI [
(symbol_ref:SI ("*LCM..2") [flags 0x2])
(reg:SI 2 2)
] UNSPEC_TOCREL) [0 S4 A8])) 346 {*movsi_internal1}
(nil))
and insn
(insn 17 16 20 2 (parallel [
(set (reg:SI 3 3)
(unspec:SI [
(reg:SI 3 3)
(reg:SI 4 4)
] UNSPEC_TLSTLS))
(clobber (reg:SI 0 0))
(clobber (reg:SI 4 4))
(clobber (reg:SI 5 5))
(clobber (reg:SI 11 11))
(clobber (reg:CC 68 0))
(clobber (reg:SI 65 lr))
]) /nasfarm/dje/src/src/gcc/testsuite/gcc.dg/tree-prof/pr50907.c:5 443
{tls_get_addr_internalsi}
(expr_list:REG_DEAD (reg:SI 4 4)
(expr_list:REG_UNUSED (reg:CC 68 0)
(expr_list:REG_UNUSED (reg:SI 65 lr)
(expr_list:REG_UNUSED (reg:SI 11 11)
(expr_list:REG_UNUSED (reg:SI 5 5)
(expr_list:REG_UNUSED (reg:SI 4 4)
(expr_list:REG_UNUSED (reg:SI 0 0)
(nil)))))))))