diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2012-09-08 03:45:43 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-09-10 13:38:33 +0200 |
commit | 6845df48cec9cc6833429942b3ceed333a791119 (patch) | |
tree | 029b48d677d0f3f078315d528a2d2672fe5dd995 /disas.c | |
parent | 19b0516fb4fd22b08c6ee42ea4162aaf3b9c8ee1 (diff) |
tcg/s390: fix ld/st with CONFIG_TCG_PASS_AREG0
The load/store slow path has been broken in e141ab52d:
- We need to move 4 registers for store functions and 3 registers for
load functions and not the reverse.
- According to the s390x calling convention the arguments of a function
should be zero extended. This means that the register shift should be
done with TCG_TYPE_I64 to ensure the higher word is correctly zero
extended when needed.
I am aware that CONFIG_TCG_PASS_AREG0 is being removed and thus that
this patch can be improved, but doing so means it can also be applied to
the 1.1 and 1.2 stable branches.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'disas.c')
0 files changed, 0 insertions, 0 deletions