[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] d257e0: tcg: Use TCGMemOp for TCGLabelQemuLds
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] d257e0: tcg: Use TCGMemOp for TCGLabelQemuLdst.opc |
Date: |
Mon, 14 Oct 2013 11:00:05 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: d257e0d7aeb72f4280666590f81ca5f0a38697f8
https://github.com/qemu/qemu/commit/d257e0d7aeb72f4280666590f81ca5f0a38697f8
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/tcg-be-ldst.h
Log Message:
-----------
tcg: Use TCGMemOp for TCGLabelQemuLdst.opc
Signed-off-by: Richard Henderson <address@hidden>
Commit: 37c5d0d5d1ad4e603dc50411c85bad6f726357a2
https://github.com/qemu/qemu/commit/37c5d0d5d1ad4e603dc50411c85bad6f726357a2
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/i386/tcg-target.c
Log Message:
-----------
tcg-i386: Use TCGMemOp within qemu_ldst routines
Step one in the transition, with constants passed down from tcg_out_op.
Signed-off-by: Richard Henderson <address@hidden>
Commit: 7352ee546ce0aba261d0e64595eae6e74e75e49d
https://github.com/qemu/qemu/commit/7352ee546ce0aba261d0e64595eae6e74e75e49d
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/i386/tcg-target.c
Log Message:
-----------
tcg-i386: Tidy softmmu routines
Pass two TCGReg to tcg_out_tlb_load, rather than idx+args.
Move ldst_optimization routines just below tcg_out_tlb_load to avoid
the need for forward declarations.
Use TCGReg enum in preference to int where apprpriate.
Signed-off-by: Richard Henderson <address@hidden>
Commit: b3e2bc500f5fe09763a107e2e28cb0e2d39ffb7c
https://github.com/qemu/qemu/commit/b3e2bc500f5fe09763a107e2e28cb0e2d39ffb7c
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/i386/tcg-target.c
Log Message:
-----------
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 <address@hidden>
Commit: 8221a267fdc6e8eebbeb8d810b58efbe3a7d913e
https://github.com/qemu/qemu/commit/8221a267fdc6e8eebbeb8d810b58efbe3a7d913e
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/i386/tcg-target.c
M tcg/i386/tcg-target.h
Log Message:
-----------
tcg-i386: Support new ldst opcodes
No support for helpers with non-default endianness yet,
but good enough to test the opcodes.
Signed-off-by: Richard Henderson <address@hidden>
Commit: 099fcf2e3689a702a0948b53f3cd42926bbe044a
https://github.com/qemu/qemu/commit/099fcf2e3689a702a0948b53f3cd42926bbe044a
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/arm/tcg-target.c
Log Message:
-----------
tcg-arm: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <address@hidden>
Commit: 0315c51ea954766df8ab6697502dff22f5364f77
https://github.com/qemu/qemu/commit/0315c51ea954766df8ab6697502dff22f5364f77
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/arm/tcg-target.c
Log Message:
-----------
tcg-arm: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <address@hidden>
Commit: a485cff09c44fffea121401cd3dcea13b8d1fe27
https://github.com/qemu/qemu/commit/a485cff09c44fffea121401cd3dcea13b8d1fe27
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/arm/tcg-target.c
Log Message:
-----------
tcg-arm: Tidy variable naming convention in qemu_ld/st
s/addr_reg2/addrhi/
s/addr_reg/addrlo/
s/data_reg2/datahi/
s/data_reg/datalo/
Signed-off-by: Richard Henderson <address@hidden>
Commit: 15ecf6e3946b0d2f0b6deb95c321604b8741a882
https://github.com/qemu/qemu/commit/15ecf6e3946b0d2f0b6deb95c321604b8741a882
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/arm/tcg-target.c
M tcg/arm/tcg-target.h
Log Message:
-----------
tcg-arm: Convert to new ldst opcodes
Signed-off-by: Richard Henderson <address@hidden>
Commit: 091d5677713d5e8e48ad670655d6bf1bac0b064d
https://github.com/qemu/qemu/commit/091d5677713d5e8e48ad670655d6bf1bac0b064d
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/arm/tcg-target.c
Log Message:
-----------
tcg-arm: Improve GUEST_BASE qemu_ld/st
If we pull the code to emit the actual load/store into a subroutine,
we can share the reg+reg addressing mode code between softmmu and
usermode. This lets us load GUEST_BASE into a temporary register
rather than attempting to add it piece-wise to the address.
Which lets us use movw+movt for armv7, rather than (up to) 4 adds.
Code size for pre-armv7 stays the same.
Signed-off-by: Richard Henderson <address@hidden>
Commit: f1a16dcdd5d52aa92563c8798d1b3e304c1245f9
https://github.com/qemu/qemu/commit/f1a16dcdd5d52aa92563c8798d1b3e304c1245f9
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/ppc/tcg-target.c
Log Message:
-----------
tcg-ppc: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <address@hidden>
Commit: a058557381e6bb4c7688572bba7b3a4c01234955
https://github.com/qemu/qemu/commit/a058557381e6bb4c7688572bba7b3a4c01234955
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/ppc64/tcg-target.c
Log Message:
-----------
tcg-ppc64: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <address@hidden>
Commit: 92d0acda271f54a96956b9aef5031e702e12a700
https://github.com/qemu/qemu/commit/92d0acda271f54a96956b9aef5031e702e12a700
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/ppc/tcg-target.c
Log Message:
-----------
tcg-ppc: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <address@hidden>
Commit: e349a8d4ffb63e8e16c67d1702dd728d781424d6
https://github.com/qemu/qemu/commit/e349a8d4ffb63e8e16c67d1702dd728d781424d6
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/ppc64/tcg-target.c
Log Message:
-----------
tcg-ppc64: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <address@hidden>
Commit: 5dd391604f590938dd9fd335102442f1612e5eed
https://github.com/qemu/qemu/commit/5dd391604f590938dd9fd335102442f1612e5eed
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/ppc/tcg-target.c
M tcg/ppc/tcg-target.h
Log Message:
-----------
tcg-ppc: Support new ldst opcodes
Signed-off-by: Richard Henderson <address@hidden>
Commit: 1768ec0623c1253df3bf1424b07fbccb164e85fb
https://github.com/qemu/qemu/commit/1768ec0623c1253df3bf1424b07fbccb164e85fb
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M tcg/ppc64/tcg-target.c
M tcg/ppc64/tcg-target.h
Log Message:
-----------
tcg-ppc64: Support new ldst opcodes
Signed-off-by: Richard Henderson <address@hidden>
Commit: f8da40aefbd1b40a0c5ab6fb25987943fe01125c
https://github.com/qemu/qemu/commit/f8da40aefbd1b40a0c5ab6fb25987943fe01125c
Author: Richard Henderson <address@hidden>
Date: 2013-10-12 (Sat, 12 Oct 2013)
Changed paths:
M target-alpha/translate.c
Log Message:
-----------
target-alpha: Convert to new ldst opcodes
Or, partially. The fundamental primitives for the port are gen_load_mem
and gen_store_mem, which take a callback to emit the memory operation.
For that, we continue to use the original inline functions that forward
to the new ops, rather than replicate the same thing privately.
That said, all free-standing calls to tcg_gen_qemu_* have been converted.
The 32-bit floating-point references now use _i32 opcodes, eliminating
a truncate or extension.
Signed-off-by: Richard Henderson <address@hidden>
Commit: 1680d485777ecf436d724631ea8722cc0c66990e
https://github.com/qemu/qemu/commit/1680d485777ecf436d724631ea8722cc0c66990e
Author: Anthony Liguori <address@hidden>
Date: 2013-10-14 (Mon, 14 Oct 2013)
Changed paths:
M target-alpha/translate.c
M tcg/arm/tcg-target.c
M tcg/arm/tcg-target.h
M tcg/i386/tcg-target.c
M tcg/i386/tcg-target.h
M tcg/ppc/tcg-target.c
M tcg/ppc/tcg-target.h
M tcg/ppc64/tcg-target.c
M tcg/ppc64/tcg-target.h
M tcg/tcg-be-ldst.h
Log Message:
-----------
Merge remote-tracking branch 'rth/tcg-ldst-6' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-ldst-6:
target-alpha: Convert to new ldst opcodes
tcg-ppc64: Support new ldst opcodes
tcg-ppc: Support new ldst opcodes
tcg-ppc64: Convert to le/be ldst helpers
tcg-ppc: Convert to le/be ldst helpers
tcg-ppc64: Use TCGMemOp within qemu_ldst routines
tcg-ppc: Use TCGMemOp within qemu_ldst routines
tcg-arm: Improve GUEST_BASE qemu_ld/st
tcg-arm: Convert to new ldst opcodes
tcg-arm: Tidy variable naming convention in qemu_ld/st
tcg-arm: Convert to le/be ldst helpers
tcg-arm: Use TCGMemOp within qemu_ldst routines
tcg-i386: Support new ldst opcodes
tcg-i386: Remove "cb" output restriction from qemu_st8 for i386
tcg-i386: Tidy softmmu routines
tcg-i386: Use TCGMemOp within qemu_ldst routines
tcg: Use TCGMemOp for TCGLabelQemuLdst.opc
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Compare: https://github.com/qemu/qemu/compare/ded77da3cd6b...1680d485777e
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] d257e0: tcg: Use TCGMemOp for TCGLabelQemuLdst.opc,
GitHub <=