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
This commit is contained in:
Richard Henderson 2019-11-14 13:44:05 +00:00 committed by Richard Henderson
parent cc4defc12c
commit 0be72bfaeb
2 changed files with 5 additions and 2 deletions

View file

@ -1,5 +1,7 @@
2019-11-14 Richard Henderson <richard.henderson@linaro.org>
* config/arm/constraints.md (c): Use cc_register predicate.
* config/aarch64/constraints.md (c): New constraint.
2019-11-14 Jan Hubicka <hubicka@ucw.cz>

View file

@ -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.")