Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
On May 30, 2017, at 8:01 AM, Peter Maydell wrote: On 25 May 2017 at 21:05, wrote: What do you think about sharing the same ppc64.risu file to ppc and ppc64/ppc64le. Then, instead of: PPC64LE 0... we'd have: PPC 0... So, specific instructions would be: PPC64LE 0... PPC64 0... PPC32 0... It will allow users to select the arch by using patterns like: ./ risugen --pattern "PPC64*", or --pattern "PPC32*". I think we should aim to share the files, but that we should have a better mechanism than just a convention on the pattern name (which is easy to make mistakes with and also makes it harder to use the --pattern argument for the purpose it was intended for, since you have to combine your desired pattern with the pattern to select the right bit of the instruction set). This isn't limited to PPC either -- for ARM we'd like to be able to mark instructions as ARMv7/ARMv8/present in some optional instruction set extension, etc. Do you want to add an architecture option? --pattern 'F.*' --arch PPC32 In this example only the instructions that begin with the letter F and have PPC32 as an encodingname are used. We could perhaps do that with an optional field in the lines in the risu file to mark what part of the instruction set they're in, and a command line argument to select the instruction set variant(s) desired. I thought we already had this feature. From the readme file: insnname encodingname bitfield ... [ [ !blockname ] { blocktext } ] Isn't the encodingname field the field we could use to select the variant we want? Another possible approach would be to have the PPC32 insns in their own file, and some sort of #include directive to pull them into the PPC64 file. This is all "adding extra features to risu", though, so I don't insist it be done. The #include directive does sound interesting but if you really want one PowerPC risu file then Jose's way would be the way to go. Risu as it is can handle this.
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
On 25 May 2017 at 21:05, wrote: > What do you think about sharing the same ppc64.risu file to ppc > and ppc64/ppc64le. Then, instead of: > > PPC64LE 0... > > we'd have: > > PPC 0... > > So, specific instructions would be: > > PPC64LE 0... > PPC64 0... > PPC32 0... > > It will allow users to select the arch by using patterns like: ./risugen > --pattern "PPC64*", or --pattern "PPC32*". I think we should aim to share the files, but that we should have a better mechanism than just a convention on the pattern name (which is easy to make mistakes with and also makes it harder to use the --pattern argument for the purpose it was intended for, since you have to combine your desired pattern with the pattern to select the right bit of the instruction set). This isn't limited to PPC either -- for ARM we'd like to be able to mark instructions as ARMv7/ARMv8/present in some optional instruction set extension, etc. We could perhaps do that with an optional field in the lines in the risu file to mark what part of the instruction set they're in, and a command line argument to select the instruction set variant(s) desired. Another possible approach would be to have the PPC32 insns in their own file, and some sort of #include directive to pull them into the PPC64 file. This is all "adding extra features to risu", though, so I don't insist it be done. thanks -- PMM
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
On May 25, 2017, at 4:05 PM, jos...@linux.vnet.ibm.com wrote: > On Tue, May 23, 2017 at 11:33:03PM -0300, jos...@linux.vnet.ibm.com wrote: >> On Tue, May 23, 2017 at 11:47:30AM +0530, Nikunj A Dadhania wrote: >>> G 3 writes: >>> On May 22, 2017, at 4:32 AM, qemu-devel-requ...@nongnu.org wrote: Hello I have also done some work risu. My patches add ppc32 support. Well my patches were made to work with Mac OS X but they are required to work with Linux. Do you think you could help port these patches to Linux? >>> >>> Ziviani did the ppc64 work, lets see if he can spare some time. >>> >>> The patches haven't come right on the mailing list, its tedious to pull >>> them. Please resend them with git send-mail. >>> >> >> Hey, sure I can help. I'll take a look on them. >> ppc.risu: https://patchwork.kernel.org/patch/9697489/ > > Hi John, > > What do you think about sharing the same ppc64.risu file to ppc and > ppc64/ppc64le. Then, instead of: > > PPC64LE 0... > > we'd have: > > PPC 0... > > So, specific instructions would be: > > PPC64LE 0... > PPC64 0... > PPC32 0... > > It will allow users to select the arch by using patterns like: ./risugen > --pattern "PPC64*", or --pattern "PPC32*". > > Finally, we could rename ppc64.risu to powerpc.risu :). > > What do you think? > > Thanks I think have two separate files is best. Making the .out file becomes so much easier. There is no worry for PPC64 instructions being included accidentally in a PPC test. Also generating the .out file wouldn't require the --pattern option. There is also the possibility of instructions acting in a different manner between the two architectures. The ADD instruction may work without problems but instructions that do need to know the bit size of the processor like CMP will not be easy to implement on both architectures. Thank you
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
On Tue, May 23, 2017 at 11:33:03PM -0300, jos...@linux.vnet.ibm.com wrote: > On Tue, May 23, 2017 at 11:47:30AM +0530, Nikunj A Dadhania wrote: > > G 3 writes: > > > > > On May 22, 2017, at 4:32 AM, qemu-devel-requ...@nongnu.org wrote: > > > > > > Hello I have also done some work risu. My patches add ppc32 support. > > > Well my patches were made to work with Mac OS X but they are required > > > to work with Linux. Do you think you could help port these patches to > > > Linux? > > > > Ziviani did the ppc64 work, lets see if he can spare some time. > > > > The patches haven't come right on the mailing list, its tedious to pull > > them. Please resend them with git send-mail. > > > > Hey, sure I can help. I'll take a look on them. > > > > > > > ppc.risu: > > > https://patchwork.kernel.org/patch/9697489/ Hi John, What do you think about sharing the same ppc64.risu file to ppc and ppc64/ppc64le. Then, instead of: PPC64LE 0... we'd have: PPC 0... So, specific instructions would be: PPC64LE 0... PPC64 0... PPC32 0... It will allow users to select the arch by using patterns like: ./risugen --pattern "PPC64*", or --pattern "PPC32*". Finally, we could rename ppc64.risu to powerpc.risu :). What do you think? Thanks
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
On Tue, May 23, 2017 at 11:47:30AM +0530, Nikunj A Dadhania wrote: > G 3 writes: > > > On May 22, 2017, at 4:32 AM, qemu-devel-requ...@nongnu.org wrote: > > > > Hello I have also done some work risu. My patches add ppc32 support. > > Well my patches were made to work with Mac OS X but they are required > > to work with Linux. Do you think you could help port these patches to > > Linux? > > Ziviani did the ppc64 work, lets see if he can spare some time. > > The patches haven't come right on the mailing list, its tedious to pull > them. Please resend them with git send-mail. > Hey, sure I can help. I'll take a look on them. > > > > ppc.risu: > > https://patchwork.kernel.org/patch/9697489/ > > > > risu_ppc.c: > > https://patchwork.kernel.org/patch/9697491/ > > > > risu_reginfo_ppc.c: > > https://patchwork.kernel.org/patch/9697493/ > > > > risu_reginfo_ppc.h: > > https://patchwork.kernel.org/patch/9697495/ > > > > risugen_ppc.pm: > > https://patchwork.kernel.org/patch/9697497/ > > > > Add ppc support to configure: > > https://patchwork.kernel.org/patch/9697499/ > > > > Add verbose option: > > https://patchwork.kernel.org/patch/9697501/ > > > > Add end of test message: > > https://patchwork.kernel.org/patch/9697503/ > > > > Add more descriptive comment for mismatch or end of test condition: > > https://patchwork.kernel.org/patch/9697505/ > > Regards > Nikunj >
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
G 3 writes: > On May 22, 2017, at 4:32 AM, qemu-devel-requ...@nongnu.org wrote: > > Hello I have also done some work risu. My patches add ppc32 support. > Well my patches were made to work with Mac OS X but they are required > to work with Linux. Do you think you could help port these patches to > Linux? Ziviani did the ppc64 work, lets see if he can spare some time. The patches haven't come right on the mailing list, its tedious to pull them. Please resend them with git send-mail. > > ppc.risu: > https://patchwork.kernel.org/patch/9697489/ > > risu_ppc.c: > https://patchwork.kernel.org/patch/9697491/ > > risu_reginfo_ppc.c: > https://patchwork.kernel.org/patch/9697493/ > > risu_reginfo_ppc.h: > https://patchwork.kernel.org/patch/9697495/ > > risugen_ppc.pm: > https://patchwork.kernel.org/patch/9697497/ > > Add ppc support to configure: > https://patchwork.kernel.org/patch/9697499/ > > Add verbose option: > https://patchwork.kernel.org/patch/9697501/ > > Add end of test message: > https://patchwork.kernel.org/patch/9697503/ > > Add more descriptive comment for mismatch or end of test condition: > https://patchwork.kernel.org/patch/9697505/ Regards Nikunj
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
On Monday 22 May 2017 12:33 PM, Nikunj A Dadhania wrote: > Sandipan Das writes: > >> The patterns for the following instructions are fixed: >> * Rotate Left Doubleword then Clear Right (rldcr[.]) >> * Rotate Left Doubleword Immediate then Clear Right (rldicr[.]) >> * Rotate Left Doubleword Immediate then Mask Insert (rldimi[.]) >> >> Signed-off-by: Sandipan Das >> --- >> ppc64.risu | 10 +- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/ppc64.risu b/ppc64.risu >> index 28df9da..0f29248 100644 >> --- a/ppc64.risu >> +++ b/ppc64.risu >> @@ -1451,7 +1451,7 @@ RLDCLd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10001 \ >> !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 >> && $rb != 13; } >> >> # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right >> -RLCDR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ >> +RLDCR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ >> !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 >> && $rb != 13; } >> # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right >> RLDCRd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10011 \ >> @@ -1472,17 +1472,17 @@ RLDICLd PPC64LE 00 rs:5 ra:5 sh:5 mb:6 000 sha:1 >> 1 \ >> !constraints { $rs != 1 && $ra != 1 && $rs != 13 && $ra != 13; } >> >> # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate >> then Clear Right >> -RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 00010 \ >> +RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 0 \ > >RLDICR PPC64LE 00 rs:5 ra:5 sh:5 me:6 001 sha:1 0 > > Also "rb:5" be changed as "sh:5"? Yes, I missed that. > >> !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 >> && $rb != 13; } >> # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate >> then Clear Right >> -RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 00011 \ >> +RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 1 \ > >RLDICRd PPC64LE 00 rs:5 ra:5 sh:5 me:6 001 sha:1 0 > > >> !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 >> && $rb != 13; } >> >> # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate >> then Mask Insert >> -RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 00110 \ >> +RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 0 \ > >RLDIMI PPC64LE 00 rs:5 ra:5 sh:5 me:6 011 sha:1 0 > > >> !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 >> && $rb != 13; } >> # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate >> then Mask Insert >> -RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 00111 \ >> +RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 1 \ > >RLDIMId PPC64LE 00 rs:5 ra:5 sh:5 me:6 011 sha:1 1 > >> !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 >> && $rb != 13; } >> >> # format:M book:I page:102 v:P1 SR rlwimi[.] Rotate Left Word Immediate >> then Mask Insert >> -- >> 2.7.4 > > Regards, > Nikunj > With Regards, Sandipan
[Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
The patterns for the following instructions are fixed: * Rotate Left Doubleword then Clear Right (rldcr[.]) * Rotate Left Doubleword Immediate then Clear Right (rldicr[.]) * Rotate Left Doubleword Immediate then Mask Insert (rldimi[.]) Signed-off-by: Sandipan Das --- ppc64.risu | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ppc64.risu b/ppc64.risu index 28df9da..0f29248 100644 --- a/ppc64.risu +++ b/ppc64.risu @@ -1451,7 +1451,7 @@ RLDCLd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10001 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right -RLCDR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ +RLDCR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right RLDCRd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10011 \ @@ -1472,17 +1472,17 @@ RLDICLd PPC64LE 00 rs:5 ra:5 sh:5 mb:6 000 sha:1 1 \ !constraints { $rs != 1 && $ra != 1 && $rs != 13 && $ra != 13; } # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate then Clear Right -RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 00010 \ +RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 0 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate then Clear Right -RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 00011 \ +RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 1 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate then Mask Insert -RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 00110 \ +RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 0 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate then Mask Insert -RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 00111 \ +RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 1 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:M book:I page:102 v:P1 SR rlwimi[.] Rotate Left Word Immediate then Mask Insert -- 2.7.4
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
On May 22, 2017, at 4:32 AM, qemu-devel-requ...@nongnu.org wrote: Message: 2 Date: Mon, 22 May 2017 12:33:29 +0530 From: Nikunj A Dadhania To: Sandipan Das Cc: qemu-devel@nongnu.org, peter.mayd...@linaro.org, jos...@linux.vnet.ibm.com Subject: Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions Message-ID: <87a865nzjy.fsf@abhimanyu.i-did-not-set--mail-host-address--so- tickle-me> Content-Type: text/plain Sandipan Das writes: The patterns for the following instructions are fixed: * Rotate Left Doubleword then Clear Right (rldcr[.]) * Rotate Left Doubleword Immediate then Clear Right (rldicr[.]) * Rotate Left Doubleword Immediate then Mask Insert (rldimi[.]) Signed-off-by: Sandipan Das --- ppc64.risu | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ppc64.risu b/ppc64.risu index 28df9da..0f29248 100644 --- a/ppc64.risu +++ b/ppc64.risu @@ -1451,7 +1451,7 @@ RLDCLd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10001 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right -RLCDR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ +RLDCR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right RLDCRd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10011 \ @@ -1472,17 +1472,17 @@ RLDICLd PPC64LE 00 rs:5 ra:5 sh:5 mb:6 000 sha:1 1 \ !constraints { $rs != 1 && $ra != 1 && $rs != 13 && $ra != 13; } # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate then Clear Right -RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 00010 \ +RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 0 \ RLDICR PPC64LE 00 rs:5 ra:5 sh:5 me:6 001 sha:1 0 Also "rb:5" be changed as "sh:5"? !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate then Clear Right -RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 00011 \ +RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 1 \ RLDICRd PPC64LE 00 rs:5 ra:5 sh:5 me:6 001 sha:1 0 !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate then Mask Insert -RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 00110 \ +RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 0 \ RLDIMI PPC64LE 00 rs:5 ra:5 sh:5 me:6 011 sha:1 0 !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate then Mask Insert -RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 00111 \ +RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 1 \ RLDIMId PPC64LE 00 rs:5 ra:5 sh:5 me:6 011 sha:1 1 !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && $rb != 13; } # format:M book:I page:102 v:P1 SR rlwimi[.] Rotate Left Word Immediate then Mask Insert -- 2.7.4 Regards, Nikunj Hello I have also done some work risu. My patches add ppc32 support. Well my patches were made to work with Mac OS X but they are required to work with Linux. Do you think you could help port these patches to Linux? ppc.risu: https://patchwork.kernel.org/patch/9697489/ risu_ppc.c: https://patchwork.kernel.org/patch/9697491/ risu_reginfo_ppc.c: https://patchwork.kernel.org/patch/9697493/ risu_reginfo_ppc.h: https://patchwork.kernel.org/patch/9697495/ risugen_ppc.pm: https://patchwork.kernel.org/patch/9697497/ Add ppc support to configure: https://patchwork.kernel.org/patch/9697499/ Add verbose option: https://patchwork.kernel.org/patch/9697501/ Add end of test message: https://patchwork.kernel.org/patch/9697503/ Add more descriptive comment for mismatch or end of test condition: https://patchwork.kernel.org/patch/9697505/
Re: [Qemu-devel] [PATCH risu] ppc64: Fix patterns for rotate doubleword instructions
Sandipan Das writes: > The patterns for the following instructions are fixed: > * Rotate Left Doubleword then Clear Right (rldcr[.]) > * Rotate Left Doubleword Immediate then Clear Right (rldicr[.]) > * Rotate Left Doubleword Immediate then Mask Insert (rldimi[.]) > > Signed-off-by: Sandipan Das > --- > ppc64.risu | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/ppc64.risu b/ppc64.risu > index 28df9da..0f29248 100644 > --- a/ppc64.risu > +++ b/ppc64.risu > @@ -1451,7 +1451,7 @@ RLDCLd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10001 \ > !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && > $rb != 13; } > > # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right > -RLCDR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ > +RLDCR PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10010 \ > !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && > $rb != 13; } > # format:MDS book:I page:103 PPC SR rldcr Rotate Left Dword then Clear Right > RLDCRd PPC64LE 00 rs:5 ra:5 rb:5 mb:6 10011 \ > @@ -1472,17 +1472,17 @@ RLDICLd PPC64LE 00 rs:5 ra:5 sh:5 mb:6 000 sha:1 > 1 \ > !constraints { $rs != 1 && $ra != 1 && $rs != 13 && $ra != 13; } > > # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate > then Clear Right > -RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 00010 \ > +RLDICR PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 0 \ RLDICR PPC64LE 00 rs:5 ra:5 sh:5 me:6 001 sha:1 0 Also "rb:5" be changed as "sh:5"? > !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && > $rb != 13; } > # format:MD book:I page:105 PPC SR rldicr[.] Rotate Left Dword Immediate > then Clear Right > -RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 00011 \ > +RLDICRd PPC64LE 00 rs:5 ra:5 rb:5 me:6 001 sha:1 1 \ RLDICRd PPC64LE 00 rs:5 ra:5 sh:5 me:6 001 sha:1 0 > !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && > $rb != 13; } > > # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate > then Mask Insert > -RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 00110 \ > +RLDIMI PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 0 \ RLDIMI PPC64LE 00 rs:5 ra:5 sh:5 me:6 011 sha:1 0 > !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && > $rb != 13; } > # format:MD book:I page:105 PPC SR rldimi[.] Rotate Left Dword Immediate > then Mask Insert > -RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 00111 \ > +RLDIMId PPC64LE 00 rs:5 ra:5 rb:5 me:6 011 sha:1 1 \ RLDIMId PPC64LE 00 rs:5 ra:5 sh:5 me:6 011 sha:1 1 > !constraints { $rs != 1 && $ra != 1 && $rb != 1 && $rs != 13 && $ra != 13 && > $rb != 13; } > > # format:M book:I page:102 v:P1 SR rlwimi[.] Rotate Left Word Immediate then > Mask Insert > -- > 2.7.4 Regards, Nikunj