]>
git.proxmox.com Git - qemu.git/blob - opreg_template.h
1 /* templates for various register related operations */
3 void OPPROTO
glue(op_movl_A0
,REGNAME
)(void)
8 void OPPROTO
glue(op_addl_A0
,REGNAME
)(void)
13 void OPPROTO
glue(glue(op_addl_A0
,REGNAME
),_s1
)(void)
18 void OPPROTO
glue(glue(op_addl_A0
,REGNAME
),_s2
)(void)
23 void OPPROTO
glue(glue(op_addl_A0
,REGNAME
),_s3
)(void)
28 void OPPROTO
glue(op_movl_T0
,REGNAME
)(void)
33 void OPPROTO
glue(op_movl_T1
,REGNAME
)(void)
38 void OPPROTO
glue(op_movh_T0
,REGNAME
)(void)
43 void OPPROTO
glue(op_movh_T1
,REGNAME
)(void)
48 void OPPROTO
glue(glue(op_movl
,REGNAME
),_T0
)(void)
53 void OPPROTO
glue(glue(op_movl
,REGNAME
),_T1
)(void)
58 void OPPROTO
glue(glue(op_movl
,REGNAME
),_A0
)(void)
63 /* mov T1 to REG if T0 is true */
64 void OPPROTO
glue(glue(op_cmovw
,REGNAME
),_T1_T0
)(void)
67 REG
= (REG
& 0xffff0000) | (T1
& 0xffff);
70 void OPPROTO
glue(glue(op_cmovl
,REGNAME
),_T1_T0
)(void)
76 /* NOTE: T0 high order bits are ignored */
77 void OPPROTO
glue(glue(op_movw
,REGNAME
),_T0
)(void)
79 REG
= (REG
& 0xffff0000) | (T0
& 0xffff);
82 /* NOTE: T0 high order bits are ignored */
83 void OPPROTO
glue(glue(op_movw
,REGNAME
),_T1
)(void)
85 REG
= (REG
& 0xffff0000) | (T1
& 0xffff);
88 /* NOTE: A0 high order bits are ignored */
89 void OPPROTO
glue(glue(op_movw
,REGNAME
),_A0
)(void)
91 REG
= (REG
& 0xffff0000) | (A0
& 0xffff);
94 /* NOTE: T0 high order bits are ignored */
95 void OPPROTO
glue(glue(op_movb
,REGNAME
),_T0
)(void)
97 REG
= (REG
& 0xffffff00) | (T0
& 0xff);
100 /* NOTE: T0 high order bits are ignored */
101 void OPPROTO
glue(glue(op_movh
,REGNAME
),_T0
)(void)
103 REG
= (REG
& 0xffff00ff) | ((T0
& 0xff) << 8);
106 /* NOTE: T1 high order bits are ignored */
107 void OPPROTO
glue(glue(op_movb
,REGNAME
),_T1
)(void)
109 REG
= (REG
& 0xffffff00) | (T1
& 0xff);
112 /* NOTE: T1 high order bits are ignored */
113 void OPPROTO
glue(glue(op_movh
,REGNAME
),_T1
)(void)
115 REG
= (REG
& 0xffff00ff) | ((T1
& 0xff) << 8);