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)))))))))