This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: objdump issues on ppc64?


> On Mar 6, 2018, at 8:25 AM, Jeffrey Walton <noloader@gmail.com> wrote:
> 
> Hi Everyone,
> 
> I'm working on a Power8 implementation of SHA using built-ins. I'm
> seeing some unusual results. For example:
> 
> ppc64-le (gcc112.fsffrance.org) (notice the unused v0 in 'vperm v0,v0,v0,v17'):
> 
>   ...
>   10000b0c:   a6 03 09 7d     mtctr   r8
>   10000b10:   57 02 00 f0     xxswapd vs32,vs32
>   10000b14:   6b 04 00 10     vperm   v0,v0,v0,v17
>   10000b18:   57 02 00 f0     xxswapd vs32,vs32
>   10000b1c:   99 57 00 7c     stxvd2x vs32,0,r10
>   10000b20:   99 26 0c 7c     lxvd2x  vs32,r12,r4
>   10000b24:   57 02 00 f0     xxswapd vs32,vs32
>   10000b28:   6b 04 00 10     vperm   v0,v0,v0,v17
>   10000b2c:   57 02 00 f0     xxswapd vs32,vs32
>   10000b30:   99 67 0a 7c     stxvd2x vs32,r10,r12
>   10000b34:   99 26 0b 7c     lxvd2x  vs32,r11,r4
>   10000b38:   57 02 00 f0     xxswapd vs32,vs32

vs32 is an alias for v0.  Is that what's bothering you?  The VMX registers
v0-v31 equate to VSX registers vs32-vs63.  So 100000b10 feeds 100000b14
which feeds 10000b18, etc.

> 
> ppc64-be (gcc119.fsffrance.org) (I think this is the same block of
> code, give or take):
> 
>    10000680 <.bb>:
>    10000680:       7d 40 26 18     .long 0x7d402618
>    10000684:       7d 09 03 a6     mtctr   r8
>    10000688:       7d 40 57 18     .long 0x7d405718
>    1000068c:       7d 6a ff 18     .long 0x7d6aff18
>    10000690:       7d 8a 67 18     .long 0x7d8a6718
>    10000694:       7c 0a 07 18     .long 0x7c0a0718
>    10000698:       60 00 00 00     oril    r0,r0,0
> 
>    1000069c <.bb>:
>    1000069c:       7c 0a 4e 19     .long 0x7c0a4e19
> 
>    100006a0 <.bb>:
>    100006a0:       38 a9 ff fc     cal     r5,-4(r9)
> 
>    100006a4 <.bb>:
>    100006a4:       38 c9 00 20     cal     r6,32(r9)

gcc119 is running AIX.  I believe it has its own disassembler.

Thanks,
Bill

> 
> I'm guessing there are some outstanding issues with objdump.
> 
> Is anyone interested in working on them with me?
> 
> Jeff
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]