m68k: some ideas for a future second_abs_long implementation. no functional changes.

git-svn-id: trunk@29806 -
This commit is contained in:
Károly Balogh 2015-02-23 03:37:51 +00:00
parent c72f58bcc5
commit d85b49755c

View File

@ -184,6 +184,29 @@ implementation
end;
end;
{ ideas for second_abs_long (KB) }
{ This is probably faster on 68000 than the generic implementation,
because shifting is slow on the original 68000, maybe also on the 68020?
Also needs to be tested on 040/060. This can also work on a CF.
input - d0, output - d2
move.l d0,d2
btst #31,d2
sne d1
extb.l d1 (or ext.w + ext.l on 68000)
eor.l d1,d2
sub.l d1,d2
}
{ Solution using bitfield extraction, we don't support the necessary asm
construct for this yet, probably this is the fastest on 020, slower on
040/060 than the one above, doesn't work on '000 or CF.
input - d0, output - d2
move.l d0,d2
bfexts d0[0:1],d1
eor.l d1,d2
sub.l d1,d2
}
begin
cinlinenode:=t68kinlinenode;
end.