The documentation of ASM_INPUT_P implied that the flag has no effect on ASM_EXPRs that have operands (and which therefore must be extended asms). In fact we require ASM_INPUT_P to be false for all extended asms.
Tested on aarch64-linux-gnu. OK to install? Richard gcc/ * tree.h (ASM_INPUT_P): Fix documentation. --- gcc/tree.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/tree.h b/gcc/tree.h index 5dcbb2fb5dd..c501019717f 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1428,8 +1428,9 @@ class auto_suppress_location_wrappers #define ASM_INPUTS(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 2) #define ASM_CLOBBERS(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 3) #define ASM_LABELS(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 4) -/* Nonzero if we want to create an ASM_INPUT instead of an - ASM_OPERAND with no operands. */ +/* Nonzero if the asm is a basic asm, zero if it is an extended asm. + Basic asms use a plain ASM_INPUT insn pattern whereas extended asms + use an ASM_OPERANDS insn pattern. */ #define ASM_INPUT_P(NODE) (ASM_EXPR_CHECK (NODE)->base.static_flag) #define ASM_VOLATILE_P(NODE) (ASM_EXPR_CHECK (NODE)->base.public_flag) /* Nonzero if we want to consider this asm as minimum length and cost -- 2.25.1