mbox series

[0/3] output *memory* operands need their address as *input*

Message ID 20210221222834.7974-1-luc.vanoostenryck@gmail.com (mailing list archive)
Headers show
Series output *memory* operands need their address as *input* | expand

Message

Luc Van Oostenryck Feb. 21, 2021, 10:28 p.m. UTC
These patches fix a problem with the linearization of asm statements
with output memory operands. These operands need to have their address
generated before the asm instruction but was generated after it.

Note: the problem wasn't visible when the address was a symbol
      because the OP_SYMADDR producing the address is simplified
      away at some later stage with the symbol directly handled
      by the memory operation.

Luc Van Oostenryck (3):
  asm: add testcase for problem with output addresses
  asm: factor out add_asm_rule() from add_asm_{in,out}put()
  asm: output *memory* operands need their address as *input*

 linearize.c                  | 54 +++++++++++++++++++++++-------------
 validation/linear/asm-out0.c | 25 +++++++++++++++++
 2 files changed, 60 insertions(+), 19 deletions(-)
 create mode 100644 validation/linear/asm-out0.c


base-commit: 60c1f2706e30eacc29296e6cb5d9327c85a01340