diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-03-09 07:36:43 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-03-09 07:36:43 +0000 |
commit | 09fb10e8536409ff71e3580d00064a9ca99bc3a8 (patch) | |
tree | 48b68219ea2954e8bd644e2a8f092df8fd7a9b90 /gcc/rtl.def | |
parent | 58d16c5f65a4e27ed9c17f0dd1135a6d9d941bfd (diff) | |
download | gcc-09fb10e8536409ff71e3580d00064a9ca99bc3a8.tar.gz |
* rtl.def (ASM_INPUT): Add location.
* rtl.h (ASM_INPUT_SOURCE_LOCATION): New.
(ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New.
(decode_asm_operands): Add loc operand.
(gen_rtx_ASM_INPUT, gen_rtx_ASM_INPUT_loc): Define.
* stmt.c (expand_asm): Rename to...
(expand_asm_loc): ... this. Add locus argument. Pass it on to
gen_rtx_ASM_INPUT_loc.
(expand_asm_expr): Adjust.
* recog.c (decode_asm_operands): Add loc operand.
(check_asm_operands, extract_insn): Adjust.
* reload1.c (maybe_fix_stack_asms): Likewise.
* final.c (asm_insn_count): Likewise.
(final_scan_insn): Output # line before and after asm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122742 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 7a04d88735c..a49f1649e8a 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -168,15 +168,15 @@ DEF_RTL_EXPR(COND_EXEC, "cond_exec", "ee", RTX_EXTRA) /* Several operations to be done in parallel (perhaps under COND_EXEC). */ DEF_RTL_EXPR(PARALLEL, "parallel", "E", RTX_EXTRA) +#ifdef USE_MAPPED_LOCATION /* A string that is passed through to the assembler as input. One can obviously pass comments through by using the assembler comment syntax. These occur in an insn all by themselves as the PATTERN. They also appear inside an ASM_OPERANDS as a convenient way to hold a string. */ -DEF_RTL_EXPR(ASM_INPUT, "asm_input", "s", RTX_EXTRA) +DEF_RTL_EXPR(ASM_INPUT, "asm_input", "si", RTX_EXTRA) -#ifdef USE_MAPPED_LOCATION /* An assembler instruction with operands. 1st operand is the instruction template. 2nd operand is the constraint for the output. @@ -190,6 +190,14 @@ DEF_RTL_EXPR(ASM_INPUT, "asm_input", "s", RTX_EXTRA) 6th is the source line number. */ DEF_RTL_EXPR(ASM_OPERANDS, "asm_operands", "ssiEEi", RTX_EXTRA) #else +/* A string that is passed through to the assembler as input. + One can obviously pass comments through by using the + assembler comment syntax. + These occur in an insn all by themselves as the PATTERN. + They also appear inside an ASM_OPERANDS + as a convenient way to hold a string. */ +DEF_RTL_EXPR(ASM_INPUT, "asm_input", "ssi", RTX_EXTRA) + /* An assembler instruction with operands. 1st operand is the instruction template. 2nd operand is the constraint for the output. |