bfin.md (<optab>di3): Now a define_expand which expands logical operations piecewise.
authorBernd Schmidt <bernd.schmidt@analog.com>
Fri, 4 May 2007 11:00:00 +0000 (11:00 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Fri, 4 May 2007 11:00:00 +0000 (11:00 +0000)
commite4fae5f757ec925170556bd2f51cf2dc1cc43523
tree5e90d244e8886c3b5560c49f27af20794970ee95
parent80b9cbc9555a09d0aca886dbe89ea023660af2ca
bfin.md (<optab>di3): Now a define_expand which expands logical operations piecewise.

* config/bfin/bfin.md (<optab>di3): Now a define_expand which expands
logical operations piecewise.
(<optab>di_zesidi_di, <optab>di_sesidi_di, negdi2, one_cmpldi2,
zero_extendsidi2, subdi_di_zesidi, subdi_zesidi_di, subdi_di_sesidi,
subdi_sesidi_di): Delete.
(add_with_carry): Produce carry in CC instead of a DREG to shorten
the generated sequence.  Allow three-reg add in constraints.  Rewrite
the rtl expression for carry to avoid zero_extend of a constant.
(sub_with_carry): New pattern.
(adddi3, subdi3): Change into define_expand.  For subtract, generate a
different sequence not involving jumps.
(notbi): Now a named pattern.

From-SVN: r124414
gcc/ChangeLog
gcc/config/bfin/bfin.md