This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/15533] Missed move to partial register
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 05 Jan 2012 22:40:30 +0000
- Subject: [Bug target/15533] Missed move to partial register
- Auto-submitted: auto-generated
- References: <bug-15533-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15533
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|rtl-optimization |target
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-01-05 22:40:30 UTC ---
Trying 8 -> 9:
Failed to match this instruction:
(parallel [
(set (reg:HI 68)
(ior:HI (zero_extend:HI (mem/c/i:QI (symbol_ref:DI ("a") <var_decl
0x7fd37fc73140 a>) [0 a+0 S1 A8]))
(reg:HI 69)))
(clobber (reg:CC 17 flags))
])
Failed to match this instruction:
(set (reg:HI 68)
(ior:HI (zero_extend:HI (mem/c/i:QI (symbol_ref:DI ("a") <var_decl
0x7fd37fc73140 a>) [0 a+0 S1 A8]))
(reg:HI 69)))
Should be matched to do:
orb a, %al
And:
Trying 8, 7 -> 9:
Failed to match this instruction:
(parallel [
(set (reg:HI 68)
(ior:HI (and:HI (subreg:HI (reg:SI 67 [ b ]) 0)
(const_int -256 [0xffffffffffffff00]))
(zero_extend:HI (mem/c/i:QI (symbol_ref:DI ("a") <var_decl
0x7fd37fc73140 a>) [0 a+0 S1 A8]))))
(clobber (reg:CC 17 flags))
])
Failed to match this instruction:
(set (reg:HI 68)
(ior:HI (and:HI (subreg:HI (reg:SI 67 [ b ]) 0)
(const_int -256 [0xffffffffffffff00]))
(zero_extend:HI (mem/c/i:QI (symbol_ref:DI ("a") <var_decl
0x7fd37fc73140 a>) [0 a+0 S1 A8]))))
Should be matched to do:
movb a, %al
So this is a target issue.