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.