# other operations
CondJmp => {
+ state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump: CMP A, B && JMPxx LABEL",
reg_req => { in => [ "gp", "gp", "gp", "gp", "none" ] },
},
TestJmp => {
+ state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump: TEST A, B && JMPxx LABEL",
reg_req => { in => [ "gp", "gp" ] },
},
CJmpAM => {
+ state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump without CMP (replaces CondJmp): JMPxx LABEL",
reg_req => { in => [ "gp", "gp", "gp", "gp", "none" ], out => [ "none", "none" ] },
},
CJmp => {
+ state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump without CMP (replaces TestJmp): JMPxx LABEL",
reg_req => { in => [ "gp", "gp" ] },
},
SwitchJmp => {
+ state => "pinned",
op_flags => "L|X|Y",
comment => "construct switch",
reg_req => { in => [ "gp" ], out => [ "none" ] },
},
xCondJmp => {
+ state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump: UCOMIS A, B && JMPxx LABEL",
reg_req => { in => [ "gp", "gp", "xmm", "xmm", "none" ], out => [ "none", "none" ] },
# other
vfCondJmp => {
+ state => "pinned",
op_flags => "L|X|Y",
comment => "represents a virtual floating point compare",
reg_req => { in => [ "gp", "gp", "vfp", "vfp", "none" ], out => [ "none", "none", "eax" ] },