diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2007-04-29 13:22:04 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2007-04-29 13:22:04 +0000 |
commit | 26c5953d277f00dbef89d7d6122e94a282a35bca (patch) | |
tree | bc34bb01d0de6e7a66c83088615917c55ba26e27 /gcc/rtl.def | |
parent | 88250695a74466517aa5d501fd735291cf6e4497 (diff) | |
download | gcc-26c5953d277f00dbef89d7d6122e94a282a35bca.zip gcc-26c5953d277f00dbef89d7d6122e94a282a35bca.tar.gz gcc-26c5953d277f00dbef89d7d6122e94a282a35bca.tar.bz2 |
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
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index a49f164..741dd29 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -657,6 +657,9 @@ DEF_RTL_EXPR(SS_MINUS, "ss_minus", "ee", RTX_BIN_ARITH) /* Negation with signed saturation. */ DEF_RTL_EXPR(SS_NEG, "ss_neg", "e", RTX_UNARY) +/* Absolute value with signed saturation. */ +DEF_RTL_EXPR(SS_ABS, "ss_abs", "e", RTX_UNARY) + /* Shift left with signed saturation. */ DEF_RTL_EXPR(SS_ASHIFT, "ss_ashift", "ee", RTX_BIN_ARITH) |