}
LENDFUNC(READ,WRITE,2,raw_setcc_m,(MEMW d, IMM cc))
-LOWFUNC(READ,NONE,3,raw_cmov_b_rr,(RW1 d, R1 s, IMM cc))
-{
- /* replacement using branch and mov */
- int uncc=(cc^1);
- emit_byte(0x70+uncc);
- emit_byte(3); /* skip next 2 bytes if not cc=true */
- emit_byte(0x88);
- emit_byte(0xc0+8*s+d);
-}
-LENDFUNC(READ,NONE,3,raw_cmov_b_rr,(RW1 d, R1 s, IMM cc))
-
-LOWFUNC(READ,NONE,3,raw_cmov_w_rr,(RW2 d, R2 s, IMM cc))
-{
- if (have_cmov) {
- emit_byte(0x66);
- emit_byte(0x0f);
- emit_byte(0x40+cc);
- emit_byte(0xc0+8*d+s);
- }
- else { /* replacement using branch and mov */
- int uncc=(cc^1);
- emit_byte(0x70+uncc);
- emit_byte(3); /* skip next 3 bytes if not cc=true */
- emit_byte(0x66);
- emit_byte(0x89);
- emit_byte(0xc0+8*s+d);
- }
-}
-LENDFUNC(READ,NONE,3,raw_cmov_w_rr,(RW2 d, R2 s, IMM cc))
-
LOWFUNC(READ,NONE,3,raw_cmov_l_rr,(RW4 d, R4 s, IMM cc))
{
if (have_cmov) {
}
MENDFUNC(2,setcc_m,(IMM d, IMM cc))
-MIDFUNC(3,cmov_b_rr,(RW1 d, RR1 s, IMM cc))
-{
- if (d==s)
- return;
- CLOBBER_CMOV;
- s=readreg(s,1);
- d=rmw(d,1,1);
- raw_cmov_b_rr(d,s,cc);
- unlock2(s);
- unlock2(d);
-}
-MENDFUNC(3,cmov_b_rr,(RW1 d, RR1 s, IMM cc))
-
-MIDFUNC(3,cmov_w_rr,(RW2 d, RR2 s, IMM cc))
-{
- if (d==s)
- return;
- CLOBBER_CMOV;
- s=readreg(s,2);
- d=rmw(d,2,2);
- raw_cmov_w_rr(d,s,cc);
- unlock2(s);
- unlock2(d);
-}
-MENDFUNC(3,cmov_w_rr,(RW2 d, RR2 s, IMM cc))
-
MIDFUNC(3,cmov_l_rr,(RW4 d, RR4 s, IMM cc))
{
if (d==s)