This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/13313] Wrong code 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: 6 Dec 2003 07:36:25 -0000
- Subject: [Bug target/13313] Wrong code generated
- References: <20031205121014.13313.mike@ml-solutions.co.uk>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-06 07:36 -------
Actually combine is doing the right thing (expect for the target being wrong).
The problem is in the target.
I do not how to solve this problem but it is related to the pattern for zero_extendqisi2_h8300:
(define_insn "*zero_extendqisi2_h8300"
[(set (match_operand:SI 0 "register_operand" "=r,r")
(zero_extend:SI (match_operand:QI 1 "general_operand_src" "0,g>")))]
"TARGET_H8300"
"@
mov.b #0,%x0\;sub.w %e0,%e0
mov.b %R1,%w0\;mov.b #0,%x0\;sub.w %e0,%e0"
[(set_attr "length" "4,8")
(set_attr "cc" "clobber,clobber")])
This is not a regression (can should be able to see using the old machine descriptions).
--
What |Removed |Added
----------------------------------------------------------------------------
Component|optimization |target
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13313