summaryrefslogtreecommitdiffstats
path: root/target-alpha
Commit message (Collapse)AuthorAgeFilesLines
* target-alpha: Remove cpu_unique, cpu_sysval, cpu_uspRichard Henderson2014-04-171-19/+18Star
| | | | | | | | | | | | | Technically, these variables could have been referenced both via offsets from env and as TCG registers, which would be illegal. Of course, that could only be done from PALcode, and ours doesn't do that. But honestly, these are used infrequently enough that they don't really need to be TCG registers. We wind up with exactly the same code if we follow the letter of the law and issue explicit ld/st. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Tidy alpha_translate_initRichard Henderson2014-04-171-35/+43
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Don't issue goto_tb under singlestepRichard Henderson2014-04-171-1/+2
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Use non-local temps for zero/sinkRichard Henderson2014-04-171-2/+2
| | | | | | These values are no longer live across branches. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Use extract to get insn fieldsRichard Henderson2014-04-171-27/+22Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert mfpr/mtpr to source/sinkRichard Henderson2014-04-171-33/+19Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_cpys et al to source/sinkRichard Henderson2014-04-171-76/+24Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_fcvtlq/ql to source/sinkRichard Henderson2014-04-173-50/+36Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_fcmov to source/sinkRichard Henderson2014-04-171-30/+14Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_bcond to source/sinkRichard Henderson2014-04-171-18/+6Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert most ieee insns to source/sinkRichard Henderson2014-04-171-52/+17Star
| | | | | | | This one fixes a bug, previously noted as supressing exceptions in the (unlikely) case the destination register was $f31. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_ieee_input to source/sinkRichard Henderson2014-04-171-19/+13Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert MVIOP2 to source/sinkRichard Henderson2014-04-171-19/+4Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert ARITH3 to source/sinkRichard Henderson2014-04-171-69/+39Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert FARITH3 to source/sinkRichard Henderson2014-04-171-53/+12Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert FARITH2 to source/sinkRichard Henderson2014-04-171-32/+11Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_zap/not to source/sinkRichard Henderson2014-04-171-30/+11Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_ins_h/l to source/sinkRichard Henderson2014-04-171-61/+50Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_ext_h/l to source/sinkRichard Henderson2014-04-171-40/+26Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_msk_h/l to source/sinkRichard Henderson2014-04-171-28/+19Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_cmov to source/sinkRichard Henderson2014-04-171-44/+22Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert ARITH3_EX to source/sinkRichard Henderson2014-04-171-43/+6Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_cmp to source/sinkRichard Henderson2014-04-171-35/+5Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_store_conditional to source/sinkRichard Henderson2014-04-171-5/+1Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert gen_load/store_mem to source/sinkRichard Henderson2014-04-171-38/+29Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x1F to source/sinkRichard Henderson2014-04-171-20/+10Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x1E to source/sinkRichard Henderson2014-04-171-2/+4
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x1C to source/sinkRichard Henderson2014-04-171-54/+19Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x1B to source/sinkRichard Henderson2014-04-171-19/+13Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x1A to source/sinkRichard Henderson2014-04-171-5/+4Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x18 to source/sinkRichard Henderson2014-04-171-9/+9
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x17 to source/sinkRichard Henderson2014-04-171-21/+20Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x14 to source/sinkRichard Henderson2014-04-171-26/+18Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x13 to source/sinkRichard Henderson2014-04-171-39/+10Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x12 to source/sinkRichard Henderson2014-04-171-36/+27Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Convert opcode 0x11 to source/sinkRichard Henderson2014-04-171-89/+37Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Introduce functions for source/sinkRichard Henderson2014-04-171-233/+163Star
| | | | | | | This will allow cleaner handling of $31 and $f31. Convert opcodes 0x08, 0x09, 0x10 as examples. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Introduce REQUIRE_REG_31Richard Henderson2014-04-171-26/+44
| | | | | | | | We were missing quite a few checks for Ra or Rb required to be 31. Further, the one place we did check we also checked for no literal operand and the Handbook says nothing about that. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: Introduce REQUIRE_TB_FLAGRichard Henderson2014-04-171-184/+133Star
| | | | | | | The methods by which we check for cpu features varied wildly across the function. Using a nice macro cleans this up. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: fix the bracesPaolo Bonzini2014-04-171-133/+180
| | | | | | | | Conform to coding style, and avoid further occurrences of bugs due to misplaced braces. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-alpha: fix subl and s8subl indentationPaolo Bonzini2014-03-171-1/+2
| | | | | | | | Two missing braces, one close and one open, fabulously let the code compile. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* cputlb: Change tlb_set_page() argument to CPUStateAndreas Färber2014-03-131-1/+1
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>
* cputlb: Change tlb_flush() argument to CPUStateAndreas Färber2014-03-132-2/+2
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>
* cputlb: Change tlb_flush_page() argument to CPUStateAndreas Färber2014-03-131-1/+1
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>
* exec: Change cpu_abort() argument to CPUStateAndreas Färber2014-03-131-1/+1
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>
* translate-all: Change cpu_restore_state() argument to CPUStateAndreas Färber2014-03-132-6/+3Star
| | | | | | This lets us drop some local variables in tlb_fill() functions. Signed-off-by: Andreas Färber <afaerber@suse.de>
* cpu-exec: Change cpu_loop_exit() argument to CPUStateAndreas Färber2014-03-132-4/+4
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>
* exec: Change tlb_fill() argument to CPUStateAndreas Färber2014-03-131-3/+5
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>
* cpu: Move breakpoints field from CPU_COMMON to CPUStateAndreas Färber2014-03-131-2/+2
| | | | | | | | Most targets were using offsetof(CPUFooState, breakpoints) to determine how much of CPUFooState to clear on reset. Use the next field after CPU_COMMON instead, if any, or sizeof(CPUFooState) otherwise. Signed-off-by: Andreas Färber <afaerber@suse.de>
* cpu: Move exception_index field from CPU_COMMON to CPUStateAndreas Färber2014-03-132-7/+15
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>