summaryrefslogtreecommitdiff
path: root/gcc/rtl.def
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-29 13:22:04 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-29 13:22:04 +0000
commita4317a500be643b23f6fb9bdbbe8bbb0834a06b6 (patch)
treebc34bb01d0de6e7a66c83088615917c55ba26e27 /gcc/rtl.def
parent8c96295aab61f7672848d6d19221db5d69b29a86 (diff)
downloadgcc-a4317a500be643b23f6fb9bdbbe8bbb0834a06b6.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124280 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r--gcc/rtl.def3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def
index a49f1649e8a..741dd2926d7 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)