aboutsummaryrefslogtreecommitdiffstats
path: root/tcg
AgeCommit message (Expand)AuthorFilesLines
2014-11-02tcg/mips: fix store softmmu slow pathAurelien Jarno1-1/+1
2014-09-29tcg: Always enable TCGv type checkingRichard Henderson1-55/+34
2014-09-29tcg-aarch64: Use 32-bit loads for qemu_ld_i32Richard Henderson2-14/+18
2014-09-29tcg-sparc: Use UMULXHI instructionRichard Henderson2-1/+6
2014-09-29tcg-sparc: Rename ADDX/SUBX insnsRichard Henderson1-7/+7
2014-09-29tcg-sparc: Use ADDXC in setcond_i64Richard Henderson1-0/+17
2014-09-29tcg-sparc: Fix setcond_i32 uninitialized valueRichard Henderson1-2/+5
2014-09-29tcg-sparc: Use ADDXC in addsub2_i64Richard Henderson2-5/+29
2014-09-29tcg-sparc: Support addsub2_i64Richard Henderson2-9/+67
2014-08-24tcg: dump op count into qemu logzhanghailiang1-4/+2
2014-06-29tcg/ppc: Fix support for 64-bit PPC MacOSX hostsPeter Maydell1-3/+3
2014-06-27tcg/ppc: Fix failure in tcg_out_mem_longRichard Henderson1-1/+4
2014-06-24tcg: mark tcg_out* and tcg_patch* with attribute 'unused'Peter Maydell1-8/+12
2014-06-24Fix new typos (found by codespell)Stefan Weil1-2/+2
2014-06-23tcg-ppc: Use the return address as a base pointerRichard Henderson1-12/+93
2014-06-23tcg-ppc: Merge cache-utils into the backendRichard Henderson3-1/+98
2014-06-23tcg-ppc: Rename the tcg/ppc64 backendRichard Henderson2-0/+0
2014-06-23tcg-ppc: Remove the backendRichard Henderson2-2042/+0
2014-06-23tcg-ppc64: Merge ppc32 shiftsRichard Henderson1-8/+32
2014-06-23tcg-ppc64: Support mulsh_i32Richard Henderson2-1/+6
2014-06-23tcg-ppc64: Merge ppc32 register usageRichard Henderson1-22/+39
2014-06-23tcg-ppc64: Merge ppc32 qemu_ld/stRichard Henderson1-84/+209
2014-06-23tcg-ppc64: Merge ppc32 brcond2, setcond2, muluhRichard Henderson2-2/+96
2014-06-23tcg-ppc64: Begin merging ppc32 with ppc64Richard Henderson2-43/+81
2014-06-23tcg-ppc64: Fix sub2 implementationRichard Henderson1-7/+7
2014-06-23tcg-ppc64: Merge 32-bit ABIs into the prologue / frame codeRichard Henderson1-7/+32
2014-06-23tcg-ppc64: Adjust tcg_out_call for ELFv2Ulrich Weigand1-0/+17
2014-06-23tcg-ppc64: Support the ppc64 elfv2 ABIRichard Henderson1-0/+4
2014-06-23tcg-ppc64: Use the correct test in tcg_out_callRichard Henderson1-3/+3
2014-06-23tcg-ppc64: Better parameterize the stack frameRichard Henderson1-28/+36
2014-06-23tcg-ppc64: Fix TCG_TARGET_CALL_STACK_OFFSETRichard Henderson1-1/+1
2014-06-23tcg-ppc64: Move call macros out of tcg-target.hRichard Henderson2-6/+5
2014-06-23tcg-ppc64: Make TCG_AREG0 and TCG_REG_CALL_STACK enum constantsRichard Henderson1-35/+11
2014-06-23tcg-ppc64: Use tcg_out_{ld,st,cmp} internallyRichard Henderson1-19/+14
2014-06-23tcg-ppc64: Relax register restrictions in tcg_out_mem_longRichard Henderson1-5/+7
2014-06-23tcg-ppc64: Move functions aroundRichard Henderson1-361/+361
2014-06-23tcg-ppc64: Avoid some hard-codings of TCG_TYPE_I64Richard Henderson1-10/+13
2014-06-23tcg-ppc: Use uintptr_t in ppc_tb_set_jmp_targetRichard Henderson1-1/+1
2014-06-18tcg/optimize: Don't special case TCG_OPF_CALL_CLOBBERRichard Henderson1-5/+4
2014-06-05Merge remote-tracking branch 'remotes/bonzini/softmmu-smap' into stagingPeter Maydell1-13/+0
2014-06-05softmmu: move all load/store functions to cpu_ldst.hPaolo Bonzini1-13/+0
2014-06-04TCG: Fix tcg_gen_extr_i64_tl for 32bitAlexander Graf1-1/+1
2014-06-04tcg: Remove TCG_TARGET_HAS_new_ldstRichard Henderson13-234/+28
2014-06-04tci: Convert to new ldst opcodesRichard Henderson2-47/+31
2014-06-04tcg-i386: Fix win64 qemu storeRichard Henderson1-1/+2
2014-05-28tcg/optimize: Remember garbage high bits for 32-bit opsRichard Henderson1-7/+26
2014-05-28tcg/optimize: Move updating of gen_opc_buf into tcg_opt_gen_mov*Richard Henderson1-61/+56
2014-05-28tcg-sparc: Make debug_frame constRichard Henderson1-13/+9
2014-05-28tcg-s390: Make debug_frame constRichard Henderson1-13/+9
2014-05-28tcg-arm: Make debug_frame constRichard Henderson1-13/+9
2014-05-28tcg-aarch64: Make debug_frame constRichard Henderson1-13/+9
2014-05-28tcg-i386: Make debug_frame constRichard Henderson1-21/+17
2014-05-28tcg: Allow the debug_frame data structure to be constantRichard Henderson1-4/+17
2014-05-28tcg: Remove sizemask and flags arguments to tcg_gen_callNRichard Henderson2-12/+9
2014-05-28tcg: Save flags and computed sizemask in TCGHelperInfoRichard Henderson1-0/+7
2014-05-28tcg: Register the helper info struct rather than the nameRichard Henderson1-2/+5
2014-05-28tcg: Inline tcg_gen_helperNRichard Henderson1-7/+0
2014-05-28tcg: Use helper-gen.h in tcg-op.hRichard Henderson1-150/+25
2014-05-28tcg: Push tcg-runtime routines into exec/helper-*Richard Henderson4-52/+31
2014-05-28tcg: Invert the inclusion of helper.hRichard Henderson1-4/+3
2014-05-28tcg: Optimize brcond2 and setcond2 ne/eqRichard Henderson1-0/+94
2014-05-27Merge remote-tracking branch 'remotes/rth/tcg-mips' into stagingPeter Maydell2-918/+945
2014-05-24tcg-mips: Enable direct chaining of TBsRichard Henderson1-1/+10
2014-05-24tcg-mips: Simplify movcondRichard Henderson1-49/+17
2014-05-24tcg-mips: Simplify brcond2Richard Henderson1-57/+20
2014-05-24tcg-mips: Improve setcond eq/ne vs zerosRichard Henderson1-4/+36
2014-05-24tcg-mips: Simplify setcond2Richard Henderson1-64/+31
2014-05-24tcg-mips: Simplify brcondRichard Henderson1-46/+41
2014-05-24tcg-mips: Simplify setcondRichard Henderson1-58/+67
2014-05-24tcg-mips: Commonize opcode implementationsRichard Henderson1-114/+98
2014-05-24tcg-mips: Improve add2/sub2Richard Henderson1-31/+56
2014-05-24tcg-mips: Hoist args loadsRichard Henderson1-98/+103
2014-05-24tcg-mips: Fix subtract immediate rangeRichard Henderson1-5/+11
2014-05-24tcg-mips: Name the opcode enumerationRichard Henderson1-9/+9
2014-05-24tcg-mips: Use EXT for AND on mips32r2Richard Henderson2-14/+50
2014-05-24tcg-mips: Use T9 for TCG_TMP1Richard Henderson1-1/+1
2014-05-24tcg-mips: Introduce TCG_TMP0, TCG_TMP1Richard Henderson1-114/+117
2014-05-24tcg-mips: Rearrange register allocationRichard Henderson2-11/+19
2014-05-24tcg-mips: Convert to new_ldstRichard Henderson2-53/+25
2014-05-24tcg-mips: Convert to new qemu_l/st helpersRichard Henderson1-51/+56
2014-05-24tcg-mips: Move softmmu slow path out of lineRichard Henderson1-389/+383
2014-05-24tcg-mips: Split large ldst offsetsRichard Henderson1-11/+12
2014-05-24tcg-mips: Fill the exit_tb delay slotRichard Henderson1-7/+18
2014-05-24tcg-mips: Use J and JAL opcodesRichard Henderson1-6/+40
2014-05-22tci: Fix tcg_out_callRichard Henderson1-0/+3
2014-05-15tcg-s390: Implement direct chaining of TBsRichard Henderson1-1/+3
2014-05-15tcg-s390: Improve setcondRichard Henderson1-6/+91
2014-05-15tcg-s390: Allow immediate operands to add2 and sub2Richard Henderson1-12/+52
2014-05-15tcg-s390: Implement tcg_register_jitRichard Henderson1-7/+55
2014-05-15tcg-s390: Use more risbg in the tlb sequenceRichard Henderson1-21/+28
2014-05-15tcg-s390: Move ldst helpers out of lineRichard Henderson1-92/+118
2014-05-15tcg-s390: Convert to new ldst opcodesRichard Henderson2-116/+56
2014-05-15tcg-s390: Integrate endianness into TCGMemOpRichard Henderson1-64/+60
2014-05-15tcg-s390: Convert to TCGMemOpRichard Henderson1-46/+36
2014-05-15tcg-s390: Fix off-by-one in wraparound andiRichard Henderson1-2/+2
2014-05-14tcg: Fix tcg_reg_alloc_mov vs no-op truncationRichard Henderson1-8/+11
2014-05-12tcg: Remove unreachable code in tcg_out_op and op_defsRichard Henderson11-245/+49
2014-05-12tcg: Use tcg_target_available_regs in tcg_reg_alloc_movRichard Henderson1-9/+10
2014-05-12tcg: Make call address a constant parameterRichard Henderson5-152/+72
2014-05-12tci: Create tcg_out_callRichard Henderson1-0/+5
2014-05-12tcg-mips: Split out tcg_out_callRichard Henderson1-8/+10
2014-05-12tcg-sparc: Create tcg_out_callRichard Henderson1-8/+14
2014-05-12tcg-ppc64: Rename tcg_out_calli to tcg_out_callRichard Henderson1-21/+16
2014-05-12tcg-ppc: Split out tcg_out_callRichard Henderson1-3/+8
2014-05-12tcg-s390: Rename tgen_calli to tcg_out_callRichard Henderson1-4/+4
2014-05-12tcg-i386: Rename tcg_out_calli to tcg_out_callRichard Henderson1-3/+3
2014-05-12tcg: Require TCG_TARGET_INSN_UNIT_SIZERichard Henderson1-3/+2
2014-05-12tci: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-6/+14
2014-05-12tcg-mips: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-80/+37
2014-05-12tcg-ia64: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-145/+78
2014-05-12tcg-s390: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-48/+45
2014-05-12tcg-aarch64: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-69/+53
2014-05-12tcg-arm: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-96/+55
2014-05-12tcg-sparc: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-69/+60
2014-05-12tcg-ppc: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-102/+94
2014-05-12tcg-ppc64: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-84/+81
2014-05-12tcg-i386: Define TCG_TARGET_INSN_UNIT_SIZERichard Henderson2-24/+26
2014-05-12tcg: Define tcg_insn_unit for code pointersRichard Henderson3-48/+100
2014-05-12tcg: Introduce byte pointer arithmetic helpersRichard Henderson1-0/+45
2014-05-12tcg: Avoid undefined behaviour patching code at unaligned addressesPeter Maydell2-6/+26
2014-05-12tcg: Avoid stores to unaligned addressesPeter Maydell1-3/+3
2014-04-28tcg-sparc: Accept stores of zeroRichard Henderson1-2/+2
2014-04-28tcg-sparc: Fix small 32-bit moviRichard Henderson1-0/+5
2014-04-28tcg-sparc: Fixup function argument typesRichard Henderson1-66/+51
2014-04-28tcg-sparc: Hoist common argument loads in tcg_out_opRichard Henderson1-63/+60
2014-04-28tcg-sparc: Don't handle mov/movi in tcg_out_opRichard Henderson1-7/+6
2014-04-28tcg-sparc: Tidy check_fit_* testsRichard Henderson1-15/+20
2014-04-28tcg-sparc: Implement muls2_i32Richard Henderson2-4/+16
2014-04-28tcg-sparc: Use the RETURN instructionRichard Henderson1-4/+10
2014-04-28tcg-sparc: Use 64-bit registers with sparcv8plusRichard Henderson3-361/+258
2014-04-28tcg-sparc: Support trunc_shr_i32Richard Henderson2-1/+9
2014-04-28tcg-sparc: Remove most uses of TCG_TARGET_REG_BITSRichard Henderson1-33/+37
2014-04-28tcg: Add INDEX_op_trunc_shr_i32Richard Henderson12-16/+67
2014-04-28tcg: Fix missed pointer size != TCG_TARGET_REG_BITS changesRichard Henderson1-2/+2
2014-04-24Merge remote-tracking branch 'remotes/rth/tags/tcg-next-20140422' into stagingPeter Maydell25-157/+160
2014-04-18tcg: Use HOST_WORDS_BIGENDIANRichard Henderson12-32/+12
2014-04-18tcg: Fix fallback from muls2_i64 to mulu2_i64Richard Henderson1-20/+18
2014-04-18tcg: Use tcg_gen_mulu2_i32 in tcg_gen_muls2_i32Richard Henderson1-4/+2
2014-04-18tcg: Relax requirement for mulu2_i32 on 32-bit hostsRichard Henderson5-1/+12
2014-04-18tcg-s390: Remove W constraintRichard Henderson1-24/+19
2014-04-18tcg-sparc: Use the type parameter to tcg_target_const_matchRichard Henderson1-1/+7
2014-04-18tcg-ppc64: Use the type parameter to tcg_target_const_matchRichard Henderson1-1/+9
2014-04-18tcg-aarch64: Remove w constraintRichard Henderson1-22/+18
2014-04-18tcg: Add TCGType parameter to tcg_target_const_matchRichard Henderson11-13/+13
2014-04-18tcg: Fix out of range shift in deposit optimizationsRichard Henderson1-6/+4
2014-04-18tcg: Mask shift quantities while foldingRichard Henderson1-15/+20
2014-04-18tcg: Use "unspecified behavior" for shiftsRichard Henderson1-5/+13
2014-04-18tcg: Fix warning (1 bit signed bitfield entry) and replace int by boolStefan Weil5-13/+13
2014-04-17tcg-ia64: Convert to new ldst opcodesRichard Henderson2-67/+35
2014-04-17tcg-ia64: Move part of softmmu slow path out of lineRichard Henderson1-62/+114
2014-04-17tcg-ia64: Convert to new ldst helpersRichard Henderson1-62/+80
2014-04-17tcg-ia64: Reduce code duplication in tcg_out_qemu_ldRichard Henderson1-37/+24
2014-04-17tcg-ia64: Move tlb addend load into tlb readRichard Henderson1-12/+12
2014-04-17tcg-ia64: Move bswap for store into tlb loadRichard Henderson1-63/+31
2014-04-17tcg-ia64: Re-bundle the tlb loadRichard Henderson1-23/+54
2014-04-17tcg-ia64: Optimize small arguments to exit_tbRichard Henderson1-3/+9
2014-04-16tcg-aarch64: Use tcg_out_mov in preference to tcg_out_movrRichard Henderson1-9/+7
2014-04-16tcg-aarch64: Prefer unsigned offsets before signed offsets for ldstRichard Henderson1-5/+6
2014-04-16tcg-aarch64: Introduce tcg_out_insn_3312, _3310, _3313Richard Henderson1-87/+89
2014-04-16tcg-aarch64: Merge aarch64_ldst_get_data/type into tcg_out_opRichard Henderson1-83/+32
2014-04-16tcg-aarch64: Introduce tcg_out_insn_3507Richard Henderson1-24/+33
2014-04-16tcg-aarch64: Support stores of zeroRichard Henderson1-16/+19
2014-04-16tcg-aarch64: Implement TCG_TARGET_HAS_new_ldstRichard Henderson2-60/+31
2014-04-16tcg-aarch64: Pass qemu_ld/st arguments directlyRichard Henderson1-32/+17
2014-04-16tcg-aarch64: Use TCGMemOp in qemu_ld/stRichard Henderson1-68/+63
2014-04-16tcg-aarch64: Use ADR to pass the return address to the ld/st helpersRichard Henderson1-2/+9
2014-04-16tcg-aarch64: Use tcg_out_call for qemu_ld/stRichard Henderson1-4/+2
2014-04-16tcg-aarch64: Avoid add with zero in tlb loadRichard Henderson1-9/+19
2014-04-16tcg-aarch64: Implement tcg_register_jitRichard Henderson1-15/+69
2014-04-16tcg-aarch64: Introduce tcg_out_insn_3314Richard Henderson1-67/+33
2014-04-16tcg-aarch64: Reuse LR in translated codeRichard Henderson2-33/+33
2014-04-16tcg-aarch64: Use CBZ and CBNZRichard Henderson1-2/+24
2014-04-16tcg-aarch64: Create tcg_out_brcondRichard Henderson1-20/+14
2014-04-16tcg-aarch64: Use symbolic names for branchesRichard Henderson1-31/+43
2014-04-16tcg-aarch64: Use adrp in tcg_out_moviRichard Henderson1-0/+23
2014-04-16tcg-aarch64: Special case small constants in tcg_out_moviRichard Henderson1-0/+10
2014-04-16tcg-aarch64: Use ORRI in tcg_out_moviRichard Henderson1-31/+39
2014-04-16tcg-aarch64: Use MOVN in tcg_out_moviRichard Henderson1-13/+50
2014-04-16tcg-aarch64: Use TCGType and TCGMemOp constantsRichard Henderson1-35/+38
2014-04-16tcg-aarch64: Use intptr_t apropriatelyRichard Henderson1-5/+5
2014-03-27tcg-arm: Avoid ldrd/strd for user-only emulationRichard Henderson1-4/+17
2014-03-17tcg-sparc: Convert to new ldst opcodesRichard Henderson2-100/+53
2014-03-17tcg-sparc: Convert to new ldst helpersRichard Henderson1-59/+131
2014-03-17tcg-sparc: Tidy tcg_out_tlb_load interfaceRichard Henderson1-40/+30
2014-03-17tcg-sparc: Use TCGMemOp within qemu_ldst routinesRichard Henderson1-51/+65
2014-03-17tcg-sparc: Improve tcg_out_moviRichard Henderson1-21/+31
2014-03-17tcg-sparc: Dont handle constant arguments to ext32 opsRichard Henderson1-12/+4
2014-03-17tcg-sparc: Don't handle remainderRichard Henderson2-23/+2
2014-03-17tcg-sparc: Use intptr_t as appropriateRichard Henderson1-11/+9
2014-03-17tcg-sparc: Tidy call+jump patternsRichard Henderson1-19/+19
2014-03-17tcg-sparc: Fix tlb readRichard Henderson1-21/+15
2014-03-17tcg-sparc: Fix ld64 for 32-bit modeRichard Henderson1-0/+1
2014-03-14tcg-aarch64: Introduce tcg_out_insn_3405Richard Henderson1-21/+27
2014-03-14tcg-aarch64: Support div, remRichard Henderson2-13/+45
2014-03-14tcg-aarch64: Support muluh, mulshRichard Henderson2-2/+14
2014-03-14tcg-aarch64: Support add2, sub2Richard Henderson2-4/+80
2014-03-14tcg-aarch64: Support depositRichard Henderson2-21/+49
2014-03-14tcg-aarch64: Use tcg_out_insn for setcondRichard Henderson1-9/+3
2014-03-14tcg-aarch64: Support movcondRichard Henderson2-2/+36
2014-03-14tcg-aarch64: Support andc, orc, eqv, not, negRichard Henderson2-10/+67