mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-05 18:07:56 +02:00
+ mfpvr, mfdcr, mtdcr, mfdec and mtdec opcodes (mantis #18878)
git-svn-id: trunk@21500 -
This commit is contained in:
parent
769a4ecc6a
commit
df99ef17b6
@ -93,9 +93,10 @@ const
|
||||
a_insrwi_, a_rotlwi, a_rotlwi_, a_rotlw, a_rotlw_, a_slwi, a_slwi_,
|
||||
a_srwi, a_srwi_, a_clrlwi, a_clrlwi_, a_clrrwi, a_clrrwi_, a_clrslwi,
|
||||
a_clrslwi_, a_none, a_none, a_none, a_none, a_none, a_none, a_none,
|
||||
a_none, a_none {move to special prupose reg}, a_none {move from special purpose reg},
|
||||
a_none, a_none {move to special purpose reg}, a_none {move from special purpose reg},
|
||||
a_none, a_none, a_none, a_none, a_none, a_none, a_not, a_not_, a_none, a_none, a_none,
|
||||
a_none, a_none, a_none, a_none);
|
||||
a_none, a_none, a_none, a_none,
|
||||
a_none, a_none, a_none, a_none, a_none);
|
||||
|
||||
function TCpuAsmOptimizer.cmpi_mfcr_opt(p, next1, next2: taicpu): boolean;
|
||||
var
|
||||
@ -449,9 +450,10 @@ const
|
||||
a_insrwi_, a_rotlwi_, a_rotlwi_, a_rotlw_, a_rotlw_, a_slwi_, a_slwi_,
|
||||
a_srwi_, a_srwi_, a_clrlwi_, a_clrlwi_, a_clrrwi_, a_clrrwi_, a_clrslwi_,
|
||||
a_clrslwi_, a_none, a_none, a_none, a_none, a_none, a_none, a_none,
|
||||
a_none, a_none {move to special prupose reg}, a_none {move from special purpose reg},
|
||||
a_none, a_none {move to special purpose reg}, a_none {move from special purpose reg},
|
||||
a_none, a_none, a_none, a_none, a_mr_, a_mr_, a_not_, a_not_, a_none, a_none, a_none,
|
||||
a_none, a_none, a_none, a_none);
|
||||
a_none, a_none, a_none, a_none,
|
||||
a_none, a_none, a_none, a_none, a_none);
|
||||
|
||||
function changetomodifyflags(p: taicpu): boolean;
|
||||
begin
|
||||
|
@ -83,9 +83,10 @@ uses
|
||||
a_insrwi_, a_rotlwi, a_rotlwi_, a_rotlw, a_rotlw_, a_slwi, a_slwi_,
|
||||
a_srwi, a_srwi_, a_clrlwi, a_clrlwi_, a_clrrwi, a_clrrwi_, a_clrslwi,
|
||||
a_clrslwi_, a_blr, a_bctr, a_blrl, a_bctrl, a_crset, a_crclr, a_crmove,
|
||||
a_crnot, a_mt {move to special prupose reg}, a_mf {move from special purpose reg},
|
||||
a_crnot, a_mt {move to special purpose reg}, a_mf {move from special purpose reg},
|
||||
a_nop, a_li, a_lis, a_la, a_mr, a_mr_, a_not, a_not_, a_mtcr, a_mtlr, a_mflr,
|
||||
a_mtctr, a_mfctr, a_mftbu, a_mfxer);
|
||||
a_mtctr, a_mfctr, a_mftbu, a_mfxer,
|
||||
a_mfpvr, a_mfdcr, a_mtdcr, a_mfdec, mtdec);
|
||||
|
||||
{# This should define the array of instructions as string }
|
||||
op2strtable=array[tasmop] of string[8];
|
||||
|
@ -75,7 +75,8 @@ interface
|
||||
'srwi', 'srwi.', 'clrlwi', 'clrlwi.', 'clrrwi', 'clrrwi.', 'clrslwi',
|
||||
'clrslwi.', 'blr', 'bctr', 'blrl', 'bctrl', 'crset', 'crclr', 'crmove',
|
||||
'crnot', 'mt', 'mf','nop', 'li', 'lis', 'la', 'mr','mr.','not', 'not.',
|
||||
'mtcr', 'mtlr', 'mflr','mtctr', 'mfctr', 'mftbu', 'mfxer');
|
||||
'mtcr', 'mtlr', 'mflr','mtctr', 'mfctr', 'mftbu', 'mfxer',
|
||||
'mfpvr', 'mfdcr', 'mtdcr', 'mfdec', 'mtdec');
|
||||
|
||||
function gas_regnum_search(const s:string):Tregister;
|
||||
function gas_regname(r:Tregister):string;
|
||||
|
Loading…
Reference in New Issue
Block a user