Revision 3d7b417e target-ppc/helper_regs.h
b/target-ppc/helper_regs.h | ||
---|---|---|
21 | 21 |
#if !defined(__HELPER_REGS_H__) |
22 | 22 |
#define __HELPER_REGS_H__ |
23 | 23 |
|
24 |
static always_inline target_ulong hreg_load_xer (CPUPPCState *env) |
|
25 |
{ |
|
26 |
return (xer_so << XER_SO) | |
|
27 |
(xer_ov << XER_OV) | |
|
28 |
(xer_ca << XER_CA) | |
|
29 |
(xer_bc << XER_BC) | |
|
30 |
(xer_cmp << XER_CMP); |
|
31 |
} |
|
32 |
|
|
33 |
static always_inline void hreg_store_xer (CPUPPCState *env, target_ulong value) |
|
34 |
{ |
|
35 |
xer_so = (value >> XER_SO) & 0x01; |
|
36 |
xer_ov = (value >> XER_OV) & 0x01; |
|
37 |
xer_ca = (value >> XER_CA) & 0x01; |
|
38 |
xer_cmp = (value >> XER_CMP) & 0xFF; |
|
39 |
xer_bc = (value >> XER_BC) & 0x7F; |
|
40 |
} |
|
41 |
|
|
42 | 24 |
/* Swap temporary saved registers with GPRs */ |
43 | 25 |
static always_inline void hreg_swap_gpr_tgpr (CPUPPCState *env) |
44 | 26 |
{ |
Also available in: Unified diff