Statistics
| Branch: | Revision:

root / target-i386 @ 701ed211

Name Size
Makefile.objs 394 Bytes
TODO 1 kB
arch_dump.c 12 kB
arch_memory_mapping.c 7.9 kB
cc_helper.c 8.6 kB
cc_helper_template.h 6.2 kB
cpu-qom.h 1.9 kB
cpu.c 75.2 kB
cpu.h 38.1 kB
excp_helper.c 4.1 kB
fpu_helper.c 29.8 kB
helper.c 40.8 kB
helper.h 7.2 kB
hyperv.c 1.2 kB
hyperv.h 1.2 kB
int_helper.c 10.4 kB
ioport-user.c 1.6 kB
kvm-stub.c 375 Bytes
kvm.c 66 kB
kvm_i386.h 1.3 kB
machine.c 15.2 kB
mem_helper.c 3.6 kB
misc_helper.c 15.1 kB
ops_sse.h 70.9 kB
ops_sse_header.h 12.5 kB
seg_helper.c 79.2 kB
shift_helper_template.h 2.8 kB
smm_helper.c 10.1 kB
svm.h 5.7 kB
svm_helper.c 26.7 kB
topology.h 4.8 kB
translate.c 264.1 kB

Latest revisions

# Date Author Comment
701ed211 02/19/2013 01:39 am Richard Henderson

target-i386: Decode the VEX prefixes

No actual required uses of these encodings yet.

Signed-off-by: Richard Henderson <>

4a6fd938 02/19/2013 01:39 am Richard Henderson

target-i386: Tidy prefix parsing

Avoid duplicating switch statement between 32 and 64-bit modes.

Signed-off-by: Richard Henderson <>

988c3eb0 02/19/2013 01:39 am Richard Henderson

target-i386: Use CC_SRC2 for ADC and SBB

Add another slot in ENV and store two of the three inputs. This lets us
do less work when carry-out is not needed, and avoids the unpredictable
CC_OP after translating these insns.

Signed-off-by: Richard Henderson <>

db9f2597 02/19/2013 01:25 am Richard Henderson

target-i386: Make helper_cc_compute_{all,c} const

Pass the data in explicitly, rather than indirectly via env.
This avoids all sorts of unnecessary register spillage.

Signed-off-by: Richard Henderson <>

8601c0b6 02/19/2013 01:21 am Richard Henderson

target-i386: Don't reference ENV through most of cc helpers

In preparation for making this a const helper.

By using the proper types in the parameters to the helper functions,
we get to avoid quite a lot of subsequent casting.

Signed-off-by: Richard Henderson <>

63633fe6 02/19/2013 01:03 am Richard Henderson

target-i386: use gen_op for cmps/scas

Replace low-level ops with a higher-level "cmp %al, (A0)" in the case
of scas, and "cmp T0, (A0)" in the case of cmps.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Richard Henderson <>

dc259201 02/19/2013 01:03 am Richard Henderson

target-i386: introduce gen_jcc1_noeob

A jump that ends a basic block or otherwise falls back to CC_OP_DYNAMIC
will always have to call gen_op_set_cc_op. However, not all jumps end
a basic block, so introduce a variant that does not do this.

This was partially undone earlier (i386: drop cc_op argument of gen_jcc1),...

891a5133 02/19/2013 01:03 am Richard Henderson

target-i386: Update cc_op before TCG branches

Placing the CC_OP_DYNAMIC at the join is less effective than
before the branch, as the branch will have forced global registers
to their home locations. This way we have a chance to discard
CC_SRC2 before it gets stored....

a3251186 02/19/2013 01:03 am Richard Henderson

target-i386: optimize flags checking after sub using CC_SRCT

After a comparison or subtraction, the original value of the LHS will
currently be reconstructed using an addition. However, in most cases
it is already available: store it in a temp-local variable and save 1...

3b9d3cf1 02/19/2013 01:03 am Paolo Bonzini

target-i386: kill cpu_T3

It is almost unused, and it is simpler to pass a TCG value directly
to gen_shiftd_rm_T1_T3. This value is then written to t2 without
going through a temporary register.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Richard Henderson <>

View revisions

Also available in: Atom