All uses of xs_hi_nonmemory_operand allow constraint "i", which means that they allow consts, symbol_refs and label_refs. The definition of xs_hi_nonmemory_operand accounted for consts, but not for symbol_refs and label_refs.
gcc/ * config/stormy16/predicates.md (xs_hi_nonmemory_operand): Handle symbol_ref and label_ref. --- gcc/config/stormy16/predicates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/stormy16/predicates.md b/gcc/config/stormy16/predicates.md index 67c2ddc107c..085c9c5ed2d 100644 --- a/gcc/config/stormy16/predicates.md +++ b/gcc/config/stormy16/predicates.md @@ -152,7 +152,7 @@ (define_predicate "xstormy16_carry_plus_operand" }) (define_predicate "xs_hi_nonmemory_operand" - (match_code "const_int,reg,subreg,const") + (match_code "const_int,reg,subreg,const,symbol_ref,label_ref") { return nonmemory_operand (op, mode); }) -- 2.25.1