aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2019-11-14 13:44:05 +0000
committerRichard Henderson <rth@gcc.gnu.org>2019-11-14 05:44:05 -0800
commit0be72bfaeb94de26a8fcdac98aabe42139f98bbb (patch)
tree5022f7c4630b24a970435db45daec4c51fe661b4 /gcc/config
parentcc4defc12c7e36137786d122e2f60bef48e575f9 (diff)
downloadgcc-0be72bfaeb94de26a8fcdac98aabe42139f98bbb.zip
gcc-0be72bfaeb94de26a8fcdac98aabe42139f98bbb.tar.gz
gcc-0be72bfaeb94de26a8fcdac98aabe42139f98bbb.tar.bz2
arm: Fix the "c" constraint
The existing definition using register class CC_REG does not work because CC_REGNUM does not support normal modes, and so fails to match register_operand. Use a non-register constraint and the cc_register predicate instead. * config/arm/constraints.md (c): Use cc_register predicate. From-SVN: r278224
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/constraints.md5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/arm/constraints.md b/gcc/config/arm/constraints.md
index b76de81..e02b678 100644
--- a/gcc/config/arm/constraints.md
+++ b/gcc/config/arm/constraints.md
@@ -94,8 +94,9 @@
"@internal
Thumb only. The union of the low registers and the stack register.")
-(define_register_constraint "c" "CC_REG"
- "@internal The condition code register.")
+(define_constraint "c"
+ "@internal The condition code register."
+ (match_operand 0 "cc_register"))
(define_register_constraint "Cs" "CALLER_SAVE_REGS"
"@internal The caller save registers. Useful for sibcalls.")