------- Comment #1 from pinskia at gcc dot gnu dot org 2005-12-02 18:41 ------- Confirmed.
local allocate does: Register 58 used 6 times across 12 insns; set 2 times; user var; dies in 2 places; pref AREG, else GENERAL_REGS. Which says that reg 58 prefers (r)ax. And then global allocate says/does: ;; 58 conflicts: 58 62 63 64 65 0 (ax) 1 2 4 7 ;; Register dispositions: 58 in 5 61 in 5 62 in 6 63 in 3 64 in 0 65 in 2 So reg 58 is allocated in rdi instead of rax where it should be. I wonder why it says it conflicts with it. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC build triplet|x86_64-unknown-linux | GCC host triplet|x86_64-unknown-linux | GCC target triplet|x86_64-unknown-linux | Keywords| |missed-optimization, ra Last reconfirmed|0000-00-00 00:00:00 |2005-12-02 18:41:53 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25225