From: Luke Kenneth Casson Leighton Date: Sat, 23 Jan 2021 15:22:32 +0000 (+0000) Subject: whoops, sv_analyse needs to create semi-colon field separators not commas X-Git-Tag: convert-csv-opcode-to-binary~377 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c6fdcb27f8f0fd261d200beabf218c7fc759261e;p=libreriscv.git whoops, sv_analyse needs to create semi-colon field separators not commas --- diff --git a/openpower/isatables/LDSTRM-2P-2S1D.csv b/openpower/isatables/LDSTRM-2P-2S1D.csv index 0f52f6436..6b6925c02 100644 --- a/openpower/isatables/LDSTRM-2P-2S1D.csv +++ b/openpower/isatables/LDSTRM-2P-2S1D.csv @@ -26,7 +26,7 @@ lbzux,2P,EXTRA2,d:RT,d:RA,s:RB,0,RA_OR_ZERO,RB,0,RT,0,0 lhzux,2P,EXTRA2,d:RT,d:RA,s:RB,0,RA_OR_ZERO,RB,0,RT,0,0 lwaux,2P,EXTRA2,d:RT,d:RA,s:RB,0,RA_OR_ZERO,RB,0,RT,0,0 lhaux,2P,EXTRA2,d:RT,d:RA,s:RB,0,RA_OR_ZERO,RB,0,RT,0,0 -stdux,2P,EXTRA2,d:RA,"s:RS,s:RA",s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 -stwux,2P,EXTRA2,d:RA,"s:RS,s:RA",s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 -stbux,2P,EXTRA2,d:RA,"s:RS,s:RA",s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 -sthux,2P,EXTRA2,d:RA,"s:RS,s:RA",s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 +stdux,2P,EXTRA2,d:RA,s:RS;s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 +stwux,2P,EXTRA2,d:RA,s:RS;s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 +stbux,2P,EXTRA2,d:RA,s:RS;s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 +sthux,2P,EXTRA2,d:RA,s:RS;s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 diff --git a/openpower/isatables/LDSTRM-2P-3S.csv b/openpower/isatables/LDSTRM-2P-3S.csv index 29245100b..cd1827f76 100644 --- a/openpower/isatables/LDSTRM-2P-3S.csv +++ b/openpower/isatables/LDSTRM-2P-3S.csv @@ -10,7 +10,7 @@ sthbrx,2P,EXTRA2,s:RS,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 sthcix,2P,EXTRA2,s:RS,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 stbcix,2P,EXTRA2,s:RS,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 stdcix,2P,EXTRA2,s:RS,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,0 -stwcx,2P,EXTRA2,"s:RS,d:CR0",s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 -stdcx,2P,EXTRA2,"s:RS,d:CR0",s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 -stbcx,2P,EXTRA2,"s:RS,d:CR0",s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 -sthcx,2P,EXTRA2,"s:RS,d:CR0",s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 +stwcx,2P,EXTRA2,s:RS;d:CR0,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 +stdcx,2P,EXTRA2,s:RS;d:CR0,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 +stbcx,2P,EXTRA2,s:RS;d:CR0,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 +sthcx,2P,EXTRA2,s:RS;d:CR0,s:RA,s:RB,0,RA_OR_ZERO,RB,RS,0,0,CR0 diff --git a/openpower/isatables/RM-1P-2S1D.csv b/openpower/isatables/RM-1P-2S1D.csv index 6a702118b..a80719482 100644 --- a/openpower/isatables/RM-1P-2S1D.csv +++ b/openpower/isatables/RM-1P-2S1D.csv @@ -22,72 +22,72 @@ modsd,1P,EXTRA3,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0 modsw,1P,EXTRA3,d:RT,s:RA,s:RB,0,RA,RB,0,RT,0,0 26/6=fmrgow,1P,EXTRA3,d:FRT,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,0 30/6=fmrgew,1P,EXTRA3,d:FRT,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,0 -rlwnm,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -rldcl,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -rldcr,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -subfc,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulhdu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -addc,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulhwu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -slw,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -sld,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -and,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -subf,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -andc,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -mulhd,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulhw,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -nor,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -subfe,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -adde,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulld,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mullw,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -add,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -eqv,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -xor,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -divdeu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divweu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -orc,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -divde,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divwe,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -or,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -divdu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divwu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -nand,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,RS,RB,0,RA,0,CR0 -divd,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divw,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -subfco,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulhdu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -addco,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulhwu,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -srw,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -srd,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -subfo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulhd,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulhw,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -subfeo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -addeo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mulldo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -mullwo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -addo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -sraw,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -srad,1P,EXTRA3,"d:RA,d:CR0",s:RB,s:RS,0,0,RB,RS,RA,0,CR0 -divdeuo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divweuo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divdeo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divweo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divduo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divwuo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divdo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -divwo,1P,EXTRA3,"d:RT,d:CR0",s:RA,s:RB,0,RA,RB,0,RT,0,CR0 -fdivs,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 -fsubs,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 -fadds,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 -fmuls,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1 -fdiv,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 -fsub,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 -fadd,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 -fmul,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1 -0/8=fcpsgn,1P,EXTRA3,"d:FRT,d:CR1",s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 -rlwimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0 -rldimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0 -rldimi,1P,EXTRA3,"d:RA,d:CR0",s:RA,s:RS,0,RA,0,RS,RA,0,CR0 +rlwnm,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +rldcl,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +rldcr,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +subfc,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulhdu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +addc,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulhwu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +slw,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +sld,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +and,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +subf,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +andc,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +mulhd,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulhw,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +nor,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +subfe,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +adde,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulld,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mullw,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +add,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +eqv,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +xor,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +divdeu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divweu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +orc,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +divde,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divwe,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +or,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +divdu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divwu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +nand,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,RS,RB,0,RA,0,CR0 +divd,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divw,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +subfco,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulhdu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +addco,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulhwu,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +srw,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +srd,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +subfo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulhd,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulhw,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +subfeo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +addeo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mulldo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +mullwo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +addo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +sraw,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +srad,1P,EXTRA3,d:RA;d:CR0,s:RB,s:RS,0,0,RB,RS,RA,0,CR0 +divdeuo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divweuo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divdeo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divweo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divduo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divwuo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divdo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +divwo,1P,EXTRA3,d:RT;d:CR0,s:RA,s:RB,0,RA,RB,0,RT,0,CR0 +fdivs,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +fsubs,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +fadds,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +fmuls,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1 +fdiv,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +fsub,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +fadd,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +fmul,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRC,0,FRA,0,FRC,FRT,0,CR1 +0/8=fcpsgn,1P,EXTRA3,d:FRT;d:CR1,s:FRA,s:FRB,0,FRA,FRB,0,FRT,0,CR1 +rlwimi,1P,EXTRA3,d:RA;d:CR0,s:RA,s:RS,0,RA,0,RS,RA,0,CR0 +rldimi,1P,EXTRA3,d:RA;d:CR0,s:RA,s:RS,0,RA,0,RS,RA,0,CR0 +rldimi,1P,EXTRA3,d:RA;d:CR0,s:RA,s:RS,0,RA,0,RS,RA,0,CR0 diff --git a/openpower/isatables/RM-1P-3S1D.csv b/openpower/isatables/RM-1P-3S1D.csv index 2a7ed4e12..407bdee89 100644 --- a/openpower/isatables/RM-1P-3S1D.csv +++ b/openpower/isatables/RM-1P-3S1D.csv @@ -31,7 +31,7 @@ isel,1P,EXTRA2,d:RT,s:RA,s:RB,s:BC,RA_OR_ZERO,RB,0,RT,BC,0 isel,1P,EXTRA2,d:RT,s:RA,s:RB,s:BC,RA_OR_ZERO,RB,0,RT,BC,0 isel,1P,EXTRA2,d:RT,s:RA,s:RB,s:BC,RA_OR_ZERO,RB,0,RT,BC,0 isel,1P,EXTRA2,d:RT,s:RA,s:RB,s:BC,RA_OR_ZERO,RB,0,RT,BC,0 -fmsubs,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 -fmadds,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 -fnmsubs,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 -fnmadds,1P,EXTRA2,"d:FRT,d:CR1",s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 +fmsubs,1P,EXTRA2,d:FRT;d:CR1,s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 +fmadds,1P,EXTRA2,d:FRT;d:CR1,s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 +fnmsubs,1P,EXTRA2,d:FRT;d:CR1,s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 +fnmadds,1P,EXTRA2,d:FRT;d:CR1,s:FRA,s:FRB,s:FRC,FRA,FRB,FRC,FRT,0,CR1 diff --git a/openpower/isatables/RM-2P-1S1D.csv b/openpower/isatables/RM-2P-1S1D.csv index 634d3fb0b..6ece9ee93 100644 --- a/openpower/isatables/RM-2P-1S1D.csv +++ b/openpower/isatables/RM-2P-1S1D.csv @@ -23,61 +23,61 @@ oris,2P,EXTRA3,d:RA,s:RS,0,0,RS,0,0,RA,0,0 xori,2P,EXTRA3,d:RA,s:RS,0,0,RS,0,0,RA,0,0 xoris,2P,EXTRA3,d:RA,s:RS,0,0,RS,0,0,RA,0,0 subfic,2P,EXTRA3,d:RT,s:RA,0,0,RA,0,0,RT,0,0 -cntlzw,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -cntlzd,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -subfze,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -addze,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -cnttzw,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -cnttzd,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -subfzeo,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -addzeo,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -extsh,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -extsb,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -extsw,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -fcfid[u]s,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -fsqrts,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -fres,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -frsqrtes,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -fsqrt,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -fre,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -frsqrte,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -18/7=mffsfamily,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -1/8=fneg,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -2/8=fmr,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -4/8=fnabs,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -8/8=fabs,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -12/8=frin,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -13/8=friz,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -14/8=frip,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -15/8=frim,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -0/12=frsp,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -0/14=fctiw,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -4/14=fctiwu,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -25/14=fctid,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -26/14=fcfid,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -29/14=fctidu,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -30/14=fcfidu,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -0/15=fctiwz,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -4/15=fctiwuz,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -25/15=fctidz,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -29/15=fctiduz,2P,EXTRA3,"d:FRT,d:CR1",s:FRB,0,0,0,FRB,0,FRT,0,CR1 -addic.,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -rlwinm,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -andi.,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -andis.,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,RS,0,0,RA,0,CR0 -mulli,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -rldicl,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -rldicl,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -rldicr,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -rldicr,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -rldic,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -rldic,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -subfme,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -addme,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -subfmeo,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -addmeo,2P,EXTRA3,"d:RT,d:CR0",s:RA,0,0,RA,0,0,RT,0,CR0 -srawi,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -sradi,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -sradi,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -extswsli,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 -extswsli,2P,EXTRA3,"d:RA,d:CR0",s:RS,0,0,0,0,RS,RA,0,CR0 +cntlzw,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +cntlzd,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +subfze,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +addze,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +cnttzw,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +cnttzd,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +subfzeo,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +addzeo,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +extsh,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +extsb,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +extsw,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +fcfid[u]s,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +fsqrts,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +fres,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +frsqrtes,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +fsqrt,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +fre,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +frsqrte,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +18/7=mffsfamily,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +1/8=fneg,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +2/8=fmr,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +4/8=fnabs,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +8/8=fabs,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +12/8=frin,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +13/8=friz,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +14/8=frip,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +15/8=frim,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +0/12=frsp,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +0/14=fctiw,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +4/14=fctiwu,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +25/14=fctid,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +26/14=fcfid,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +29/14=fctidu,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +30/14=fcfidu,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +0/15=fctiwz,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +4/15=fctiwuz,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +25/15=fctidz,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +29/15=fctiduz,2P,EXTRA3,d:FRT;d:CR1,s:FRB,0,0,0,FRB,0,FRT,0,CR1 +addic.,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +rlwinm,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +andi.,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +andis.,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,RS,0,0,RA,0,CR0 +mulli,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +rldicl,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +rldicl,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +rldicr,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +rldicr,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +rldic,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +rldic,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +subfme,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +addme,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +subfmeo,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +addmeo,2P,EXTRA3,d:RT;d:CR0,s:RA,0,0,RA,0,0,RT,0,CR0 +srawi,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +sradi,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +sradi,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +extswsli,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 +extswsli,2P,EXTRA3,d:RA;d:CR0,s:RS,0,0,0,0,RS,RA,0,CR0 diff --git a/openpower/sv_analysis.py b/openpower/sv_analysis.py index 487602312..2a4c5e57e 100644 --- a/openpower/sv_analysis.py +++ b/openpower/sv_analysis.py @@ -394,7 +394,7 @@ def process_csvs(): elif 'st' in insn_name and 'x' in insn_name: # stwux res['Etype'] = 'EXTRA2' # RM EXTRA2 type res['0'] = 'd:RA' # RA: Rdest1_EXTRA2 - res['1'] = 's:RS,s:RA' # RS: Rdest2_EXTRA2, RA: Rsrc1_EXTRA2 + res['1'] = 's:RS;s:RA' # RS: Rdest2_EXTRA2, RA: Rsrc1_EXTRA2 res['2'] = 's:RB' # RB: Rsrc2_EXTRA2 elif 'u' in insn_name: # ldux etc. res['Etype'] = 'EXTRA2' # RM EXTRA2 type @@ -410,7 +410,7 @@ def process_csvs(): elif value == 'LDSTRM-2P-3S': res['Etype'] = 'EXTRA2' # RM EXTRA2 type if 'cx' in insn_name: - res['0'] = 's:RS,d:CR0' # RS: Rsrc1_EXTRA2 CR0: dest + res['0'] = 's:RS;d:CR0' # RS: Rsrc1_EXTRA2 CR0: dest else: res['0'] = 's:RS' # RS: Rsrc1_EXTRA2 res['1'] = 's:RA' # RA: Rsrc2_EXTRA2 @@ -440,17 +440,17 @@ def process_csvs(): res['0'] = 'd:RT' # RT: Rdest1_EXTRA3 res['1'] = 's:RA' # RA: Rsrc1_EXTRA3 elif regs == ['RA','','','RT','','CR0']: - res['0'] = 'd:RT,d:CR0' # RT,CR0: Rdest1_EXTRA3 + res['0'] = 'd:RT;d:CR0' # RT,CR0: Rdest1_EXTRA3 res['1'] = 's:RA' # RA: Rsrc1_EXTRA3 elif (regs == ['RS','','','RA','','CR0'] or regs == ['','','RS','RA','','CR0']): - res['0'] = 'd:RA,d:CR0' # RA,CR0: Rdest1_EXTRA3 + res['0'] = 'd:RA;d:CR0' # RA,CR0: Rdest1_EXTRA3 res['1'] = 's:RS' # RS: Rsrc1_EXTRA3 elif regs == ['RS','','','RA','','']: res['0'] = 'd:RA' # RA: Rdest1_EXTRA3 res['1'] = 's:RS' # RS: Rsrc1_EXTRA3 elif regs == ['','FRB','','FRT','0','CR1']: - res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3 + res['0'] = 'd:FRT;d:CR1' # FRT,CR1: Rdest1_EXTRA3 res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3 elif regs == ['','FRB','','','','CR1']: res['0'] = 'd:CR1' # CR1: Rdest1_EXTRA3 @@ -459,7 +459,7 @@ def process_csvs(): res['0'] = 'd:BF' # BF: Rdest1_EXTRA3 res['1'] = 's:FRB' # FRA: Rsrc1_EXTRA3 elif regs == ['','FRB','','FRT','','CR1']: - res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3 + res['0'] = 'd:FRT;d:CR1' # FRT,CR1: Rdest1_EXTRA3 res['1'] = 's:FRB' # FRB: Rsrc1_EXTRA3 else: res['0'] = 'TODO' @@ -471,7 +471,7 @@ def process_csvs(): res['1'] = 's:BA' # BA: Rsrc1_EXTRA3 res['2'] = 's:BB' # BB: Rsrc2_EXTRA3 elif regs == ['FRA','','FRC','FRT','','CR1']: - res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3 + res['0'] = 'd:FRT;d:CR1' # FRT,CR1: Rdest1_EXTRA3 res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3 res['2'] = 's:FRC' # FRC: Rsrc1_EXTRA3 # should be for fcmp @@ -484,7 +484,7 @@ def process_csvs(): res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3 res['2'] = 's:FRB' # FRB: Rsrc1_EXTRA3 elif regs == ['FRA','FRB','','FRT','','CR1']: - res['0'] = 'd:FRT,d:CR1' # FRT,CR1: Rdest1_EXTRA3 + res['0'] = 'd:FRT;d:CR1' # FRT,CR1: Rdest1_EXTRA3 res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA3 res['2'] = 's:FRB' # FRB: Rsrc1_EXTRA3 elif name == '2R-1W' or insn_name == 'cmpb': # cmpb @@ -501,15 +501,15 @@ def process_csvs(): res['2'] = 's:RB' # RB: Rsrc1_EXTRA3 elif (regs == ['','RB','RS','RA','','CR0'] or regs == ['RS','RB','','RA','','CR0']): - res['0'] = 'd:RA,d:CR0' # RA,CR0: Rdest1_EXTRA3 + res['0'] = 'd:RA;d:CR0' # RA,CR0: Rdest1_EXTRA3 res['1'] = 's:RB' # RB: Rsrc1_EXTRA3 res['2'] = 's:RS' # RS: Rsrc1_EXTRA3 elif regs == ['RA','RB','','RT','','CR0']: - res['0'] = 'd:RT,d:CR0' # RT,CR0: Rdest1_EXTRA3 + res['0'] = 'd:RT;d:CR0' # RT,CR0: Rdest1_EXTRA3 res['1'] = 's:RA' # RA: Rsrc1_EXTRA3 res['2'] = 's:RB' # RB: Rsrc1_EXTRA3 elif regs == ['RA','','RS','RA','','CR0']: - res['0'] = 'd:RA,d:CR0' # RA,CR0: Rdest1_EXTRA3 + res['0'] = 'd:RA;d:CR0' # RA,CR0: Rdest1_EXTRA3 res['1'] = 's:RA' # RA: Rsrc1_EXTRA3 res['2'] = 's:RS' # RS: Rsrc1_EXTRA3 else: @@ -532,7 +532,7 @@ def process_csvs(): res['2'] = 's:RB' # RT: Rsrc2_EXTRA2 res['3'] = 's:BC' # BC: Rsrc3_EXTRA2 else: - res['0'] = 'd:FRT,d:CR1' # FRT, CR1: Rdest1_EXTRA2 + res['0'] = 'd:FRT;d:CR1' # FRT, CR1: Rdest1_EXTRA2 res['1'] = 's:FRA' # FRA: Rsrc1_EXTRA2 res['2'] = 's:FRB' # FRB: Rsrc2_EXTRA2 res['3'] = 's:FRC' # FRC: Rsrc3_EXTRA2