This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/25225] code generation -- extra instructions generated
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Dec 2005 18:41:53 -0000
- Subject: [Bug middle-end/25225] code generation -- extra instructions generated
- References: <bug-25225-10043@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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