diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2013-12-17 19:42:31 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2013-12-17 19:42:31 +0000 |
commit | 40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe (patch) | |
tree | 3a1f548e37e35bb9a329fdc37452b39fe932027b /target-lm32 | |
parent | 013424d436b83f7ba8366b1d40bf82c4f6716f5e (diff) |
target-arm: Split A64 from A32/T32 gen_intermediate_code_internal()
The A32/T32 gen_intermediate_code_internal() is complicated because it
has to deal with:
* conditionally executed instructions
* Thumb IT blocks
* kernel helper page
* M profile exception-exit special casing
None of these apply to A64, so putting the "this is A64 so
call the A64 decoder" check in the middle of the A32/T32
loop is confusing and means the A64 decoder's handling of
things like conditional jump and singlestepping has to take
account of the conditional-execution jumps the main loop
might emit.
Refactor the code to give A64 its own gen_intermediate_code_internal
function instead.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-lm32')
0 files changed, 0 insertions, 0 deletions