+ mfpvr, mfdcr, mtdcr, mfdec and mtdec opcodes (mantis #18878)

git-svn-id: trunk@21500 -
This commit is contained in:
Jonas Maebe 2012-06-06 18:17:55 +00:00
parent 769a4ecc6a
commit df99ef17b6
3 changed files with 11 additions and 7 deletions

View File

@ -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

View File

@ -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];

View File

@ -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;