summary refs log tree commit diff stats
path: root/scripts/qapi-types.py
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-09-04 08:51:07 -0700
committerRichard Henderson <rth@twiddle.net>2013-10-12 16:19:19 -0700
commitb3e2bc500f5fe09763a107e2e28cb0e2d39ffb7c (patch)
tree46a6479cee93ddd3a821cb52af3f15420dac00bb /scripts/qapi-types.py
parent7352ee546ce0aba261d0e64595eae6e74e75e49d (diff)
downloadfocaccia-qemu-b3e2bc500f5fe09763a107e2e28cb0e2d39ffb7c.tar.gz
focaccia-qemu-b3e2bc500f5fe09763a107e2e28cb0e2d39ffb7c.zip
tcg-i386: Remove "cb" output restriction from qemu_st8 for i386
Once we form a combined qemu_st_i32 opcode, we won't be able to
have separate constraints based on size.  This one is fairly easy
to work around, since eax is available as a scratch register.

When storing variable data, this tends to merely exchange one mov
for another.  E.g.

-:  mov    %esi,%ecx
...
-:  mov    %cl,(%edx)
+:  mov    %esi,%eax
+:  mov    %al,(%edx)

Where we do have a regression is when storing constant data, in which
we may load the constant into edi, when only ecx/ebx ought to be used.

The proper way to recover this regression is to allow constants as
arguments to qemu_st_i32, so that we never load the constant data into
a register at all, must less the wrong register.  TBD.

Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'scripts/qapi-types.py')
0 files changed, 0 insertions, 0 deletions