diff --git a/mach/i386/ce/EM_table b/mach/i386/ce/EM_table index afb97d7e..31bbca92 100644 --- a/mach/i386/ce/EM_table +++ b/mach/i386/ce/EM_table @@ -343,20 +343,18 @@ C_dvf default ==> arg_error("C_dvf", $1). C_fif - $1 == 4 ==> "call .fif4". - $1 == 8 ==> "call .fif8". + $1 == 4 ==> C_lor((arith)1); + "call .fif4"; + "pop ebx". + $1 == 8 ==> C_lor((arith)1); + "call .fif8"; + "pop ebx". default ==> arg_error("C_fif", $1). C_fef - $1 == 4 ==> "pop eax"; - "push eax"; - "push eax"; + $1 == 4 ==> C_lor((arith)1); "call .fef4". - $1 == 8 ==> "pop eax"; - "pop ebx"; - "push eax"; - "push ebx"; - "push eax"; + $1 == 8 ==> C_lor((arith)1); "call .fef8". default ==> arg_error("C_fef", $1). diff --git a/mach/i86/ce/EM_table b/mach/i86/ce/EM_table index 45177495..971344f6 100644 --- a/mach/i86/ce/EM_table +++ b/mach/i86/ce/EM_table @@ -414,26 +414,18 @@ C_dvf default ==> arg_error("C_dvf", $1). C_fif - $1 == 4 ==> "call .fif4". - $1 == 8 ==> "call .fif8". + $1 == 4 ==> C_lor((arith)1); + "call .fif4"; + "pop bx". + $1 == 8 ==> C_lor((arith)1); + "call .fif8"; + "pop bx". default ==> arg_error("C_fif", $1). C_fef - $1 == 4 ==> "pop ax"; - "pop bx"; - "push bx"; - "push bx"; - "push ax"; + $1 == 4 ==> C_lor((arith)1); "call .fef4". - $1 == 8 ==> "pop ax"; - "pop bx"; - "pop cx"; - "pop dx"; - "push dx"; - "push dx"; - "push cx"; - "push bx"; - "push ax"; + $1 == 8 ==> C_lor((arith)1); "call .fef8". default ==> arg_error("C_fef", $1).