rtl.def (SS_ABS): New code.
authorBernd Schmidt <bernd.schmidt@analog.com>
Sun, 29 Apr 2007 13:22:04 +0000 (13:22 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Sun, 29 Apr 2007 13:22:04 +0000 (13:22 +0000)
commit26c5953d277f00dbef89d7d6122e94a282a35bca
treebc34bb01d0de6e7a66c83088615917c55ba26e27
parent88250695a74466517aa5d501fd735291cf6e4497
rtl.def (SS_ABS): New code.

* rtl.def (SS_ABS): New code.
* config/bfin/bfin.c (print_operand): New modifier 'v'.
(enum bfin_builtins): Add BFIN_BUILTIN_SUM_2X16, BFIN_BUILTIN_ABS_1x32,
BFIN_BUILTIN_ROUND_1x32, BFIN_BUILTIN_MULT_1x32x32,
BFIN_BUILTIN_MULT_1x32x32NS, BFIN_BUILTIN_SSASHIFT_1x32.
(bfin_init_builtins): Define them.
(bdesc_1arg, bdesc_2arg): Add some of them here, ...
(bfin_expand_builtin): ... and handle the others here.
* config/bfin/bfin.md (ssabssi2, ssroundsi2, ssashiftsi3,
flag_mul_macv2hi_parts_acconly_andcc0): New patterns.
(ss_absv2hi2): Renamed from absv2hi; use ss_abs code.
(ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3): Shift count
operand is only HImode.

From-SVN: r124280
gcc/ChangeLog
gcc/config/bfin/bfin.c
gcc/config/bfin/bfin.md
gcc/rtl.def