aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rl78
diff options
context:
space:
mode:
authorKaushik Phatak <kaushikp@gcc.gnu.org>2013-07-12 08:38:24 +0000
committerKaushik Phatak <kaushikp@gcc.gnu.org>2013-07-12 08:38:24 +0000
commitdd4afcc2f0b8edde8373be1eed2215bdd39b6d4e (patch)
treef0a2966ca93869b5fba7578f15e2539b5ded743e /gcc/config/rl78
parent8a2f89ddd0687fa0596e8bcb75aed8932d5967bb (diff)
downloadgcc-dd4afcc2f0b8edde8373be1eed2215bdd39b6d4e.zip
gcc-dd4afcc2f0b8edde8373be1eed2215bdd39b6d4e.tar.gz
gcc-dd4afcc2f0b8edde8373be1eed2215bdd39b6d4e.tar.bz2
config/rl78/constraints.md (U): New constraint.
From-SVN: r200919
Diffstat (limited to 'gcc/config/rl78')
-rw-r--r--gcc/config/rl78/constraints.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/rl78/constraints.md b/gcc/config/rl78/constraints.md
index 01aff39..8b03cf3 100644
--- a/gcc/config/rl78/constraints.md
+++ b/gcc/config/rl78/constraints.md
@@ -256,6 +256,19 @@
(match_test "!rl78_far_p (op) && rl78_as_legitimate_address (VOIDmode, XEXP (op, 0), true, ADDR_SPACE_GENERIC)"))
)
+(define_memory_constraint "U"
+ "memory references valid with mov to/from a/ax"
+ (and (match_code "mem")
+ (match_test "rl78_virt_insns_ok ()
+|| satisfies_constraint_Wab (op)
+|| satisfies_constraint_Wbc (op)
+|| satisfies_constraint_Wde (op)
+|| satisfies_constraint_Wd2 (op)
+|| satisfies_constraint_Whl (op)
+|| satisfies_constraint_Wh1 (op)
+|| satisfies_constraint_Whb (op)
+|| satisfies_constraint_Ws1 (op)
+|| satisfies_constraint_Wfr (op) ")))
(define_memory_constraint "Qbi"
"built-in compare types"