summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beasm.h
Commit message (Collapse)AuthorAge
* beasm: Give label constraints the "register" class 'exec'.Christoph Mallon2019-04-05
|
* beasm: Tell the backends how to handle the fallthrough exec output of be_Asm.Christoph Mallon2019-04-05
|
* beasm: Add BE_ASM_OPERAND_LABEL and tell the backends how to emit it.Christoph Mallon2019-04-05
|
* amd64, ia32: Support all address modes in inline asm.Christoph Mallon2019-03-25
|
* beasm: Factor out common code to add an immediate operand.Christoph Mallon2019-03-06
|
* beasm: Add helper function to check for occurrence of modifiers.Christoph Mallon2019-03-04
|
* beasm: Ensure that a matching or in-out constraint can be fulfilled by ↵Christoph Mallon2018-07-27
| | | | | | marking the input as killed. This fixes backend/asm_live_through_matching.c.
* ir: Overhaul representation of ASM constraints in the IR.Christoph Mallon2018-05-11
| | | | | | | | | | Now the constraints are a mapping from the template position to the input/output positions instead of the other way round. Also there is only one list of constraints instead of a separate one for input and output. This simplifies handling quite a bit, in particular the numbering. E.g. "=m" actually is an input (for the address) and this caused miscounting when the constraints were processed. Also processing of 64 bit operands also lead to miscounting. This fixes x86code/asm_test15.c and x86code/asm_test19.c
* be: Factor out code to add an output to an asm node.Christoph Mallon2018-05-09
|
* be: Factor out code to add an input to an asm node.Christoph Mallon2018-05-09
|
* be: Factor out code to prepare information collection for an asm node.Christoph Mallon2018-05-09
|
* be: Use a common struct to hold basic asm operand information.Christoph Mallon2018-05-08
|
* be: Factor out parsing of register names for clobbers.Christoph Mallon2018-05-04
|
* be: Factor out code to check, whether the kind of an asm constraint is valid ↵Christoph Mallon2017-01-02
| | | | of the given modifier.
* be: Make the kind of asm constraints backend-independent.Christoph Mallon2017-01-02
|
* be: Rename bearch_${ARCH}{.c,_t.h} -> ${ARCH}_bearch{.c,_t.h} for consistency.Christoph Mallon2016-03-15
|
* be: Factorise the code to count the number of asm operands.Christoph Mallon2015-06-05
|
* be: Pass the inputs and in requirements as ARRF to be_make_asm().Christoph Mallon2015-06-05
|
* be: Pass the out requirements as ARRF to be_make_asm().Christoph Mallon2015-06-05
|
* be: Factorise code to make a be_Asm node and set its requirements.Christoph Mallon2015-06-05
|
* be: Introduce a generic be_Asm node.Christoph Mallon2015-06-05
|
* be: Factorise code to parse asm constraints.Christoph Mallon2015-05-29
| | | | | * This also resolves an out-of-bounds access when a '#' is encountered. * This also corrects a wrong format specifier in a panic message in the x86 backend.
* be: Factorise code to make a register requirement for an asm operand.Christoph Mallon2015-05-29
| | | | Now we get a nice abort instead of silently generating invalid code, when a sparc immediate constraint cannot be fulfilled.
* be: Move be_emit_asm() into a separate file for asm handling.Christoph Mallon2015-05-29