diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2008-04-11 14:40:55 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2008-04-11 14:40:55 +0000 |
commit | 9fdd7520f9094f83012c8a0617f9d5e80bdd2662 (patch) | |
tree | 0e38d51e4c942999391bd69d58cb8d526275a728 /gcc/config/bfin/bfin.md | |
parent | 0a4bf1d3718d9eb52fae4970455baeafda19ccd6 (diff) | |
download | gcc-9fdd7520f9094f83012c8a0617f9d5e80bdd2662.zip gcc-9fdd7520f9094f83012c8a0617f9d5e80bdd2662.tar.gz gcc-9fdd7520f9094f83012c8a0617f9d5e80bdd2662.tar.bz2 |
constraints.md: New file.
* config/bfin/constraints.md: New file.
* config/bfin/bfin.md: Include it.
(adddi3): Use satisfies_constraint functions instead of the old macros.
* config/bfin/bfin.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN,
CONST_18UBIT_IMM_P, CONST_16BIT_IMM_P, CONST_16UBIT_IMM_P,
CONST_7BIT_IMM_P, CONST_7NBIT_IMM_P, CONST_5UBIT_IMM_P,
CONST_4BIT_IMM_P, CONST_4UBIT_IMM_P, CONST_3BIT_IMM_P,
CONST_3UBIT_IMM_P, CONST_OK_FOR_K, CONST_OK_FOR_P, CONST_OK_FOR_M,
CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER,
EXTRA_CONSTRAINT): Delete.
* config/bfin/predicates.md (highbits_operand, reg_or_7bit_operand,
reg_or_neg7bit_operand): Use satisfies_constraint functions instead
of the old macros.
* config/bfin/bfin.c: Include "tm-constrs.h".
(bfin_secondary_reload, split_load_immediate, bfin_rtx_costs):
Use satisfies_constraint functions instead of the old macros.
* doc/md.texi (Blackfin Constraints): Update file name reference.
From-SVN: r134198
Diffstat (limited to 'gcc/config/bfin/bfin.md')
-rw-r--r-- | gcc/config/bfin/bfin.md | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md index 2a4631d..f535799 100644 --- a/gcc/config/bfin/bfin.md +++ b/gcc/config/bfin/bfin.md @@ -258,7 +258,7 @@ ;; Operand and operator predicates (include "predicates.md") - +(include "constraints.md") ;;; FRIO branches have been optimized for code density ;;; this comes at a slight cost of complexity when @@ -1018,7 +1018,7 @@ xops[7] = gen_rtx_REG (BImode, REG_CC); if (!register_operand (xops[4], SImode) && (GET_CODE (xops[4]) != CONST_INT - || !CONST_OK_FOR_K (INTVAL (xops[4]), "Ks7"))) + || !satisfies_constraint_Ks7 (xops[4]))) xops[4] = force_reg (SImode, xops[4]); if (!reg_overlap_mentioned_p (operands[0], operands[1]) && !reg_overlap_mentioned_p (operands[0], operands[2])) @@ -1027,7 +1027,7 @@ emit_insn (gen_movbisi (xops[6], xops[7])); if (!register_operand (xops[5], SImode) && (GET_CODE (xops[5]) != CONST_INT - || !CONST_OK_FOR_K (INTVAL (xops[5]), "Ks7"))) + || !satisfies_constraint_Ks7 (xops[5]))) xops[5] = force_reg (SImode, xops[5]); if (xops[5] != const0_rtx) emit_insn (gen_addsi3 (xops[1], xops[3], xops[5])); |