diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-20 08:06:03 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-20 08:06:03 +0000 |
commit | 8be6418a183e7dfd7ef630cd7bca01b6cd1ba4dc (patch) | |
tree | 9b49007667dfc5c56e9b32efbd8e34309b1823d3 | |
parent | d8a228c351372347dc2dfc9c131243ae6be6b78a (diff) | |
download | gcc-8be6418a183e7dfd7ef630cd7bca01b6cd1ba4dc.tar.gz |
* reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
"=u" is used together with "st" resp. "st(1)" clobber.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41446 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reg-stack.c | 15 |
2 files changed, 19 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6de127a3dcc..002d84494d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2001-04-20 Jakub Jelinek <jakub@redhat.com> + * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp. + "=u" is used together with "st" resp. "st(1)" clobber. + +2001-04-20 Jakub Jelinek <jakub@redhat.com> + * gcse.c (gcse_main): Fix comment typo. (delete_null_pointer_check): Likewise. (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes. diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 43bedebd90a..6327b24e96e 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -662,7 +662,20 @@ check_asm_stack_operands (insn) malformed_asm = 1; } else - reg_used_as_output[REGNO (recog_data.operand[i])] = 1; + { + int j; + + for (j = 0; j < n_clobbers; j++) + if (REGNO (recog_data.operand[i]) == REGNO (clobber_reg[j])) + { + error_for_asm (insn, "Output constraint %d cannot be specified together with \"%s\" clobber", + i, reg_names [REGNO (clobber_reg[j])]); + malformed_asm = 1; + break; + } + if (j == n_clobbers) + reg_used_as_output[REGNO (recog_data.operand[i])] = 1; + } } |