i586 compatability macros (CMOVcc substitutes) for NET branch
git-svn-id: svn://kolibrios.org@1857 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
9d6354c990
commit
ba8ddae0aa
@ -541,6 +541,24 @@ local .jumpaddr
|
||||
.jumpaddr:
|
||||
}
|
||||
|
||||
macro cmovg reg1, reg2 {
|
||||
|
||||
local .jumpaddr
|
||||
|
||||
jle .jumpaddr
|
||||
mov reg1, reg2
|
||||
.jumpaddr:
|
||||
}
|
||||
|
||||
macro cmovl reg1, reg2 {
|
||||
|
||||
local .jumpaddr
|
||||
|
||||
jge .jumpaddr
|
||||
mov reg1, reg2
|
||||
.jumpaddr:
|
||||
}
|
||||
|
||||
end if
|
||||
|
||||
; constants
|
||||
|
@ -101,6 +101,49 @@ end if
|
||||
|
||||
macro Mov op1,op2,op3 ; op1 = op2 = op3
|
||||
{
|
||||
mov op2,op3
|
||||
mov op1,op2
|
||||
mov op2,op3
|
||||
mov op1,op2
|
||||
}
|
||||
|
||||
|
||||
if __CPU_type eq p5 ; CMOVcc isnt supported on the P5
|
||||
|
||||
cmove fix cmovz
|
||||
macro cmovz reg1, reg2 {
|
||||
|
||||
local .jumpaddr
|
||||
|
||||
jnz .jumpaddr
|
||||
mov reg1, reg2
|
||||
.jumpaddr:
|
||||
}
|
||||
|
||||
cmovne fix cmovnz
|
||||
macro cmovnz reg1, reg2 {
|
||||
|
||||
local .jumpaddr
|
||||
|
||||
jz .jumpaddr
|
||||
mov reg1, reg2
|
||||
.jumpaddr:
|
||||
}
|
||||
|
||||
macro cmovg reg1, reg2 {
|
||||
|
||||
local .jumpaddr
|
||||
|
||||
jle .jumpaddr
|
||||
mov reg1, reg2
|
||||
.jumpaddr:
|
||||
}
|
||||
|
||||
macro cmovl reg1, reg2 {
|
||||
|
||||
local .jumpaddr
|
||||
|
||||
jge .jumpaddr
|
||||
mov reg1, reg2
|
||||
.jumpaddr:
|
||||
}
|
||||
|
||||
end if
|
||||
|
Loading…
Reference in New Issue
Block a user