> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Monday, February 08, 2016 2:40 PM
> To: De Lara Guarch, Pablo
> Subject: FW: [dpdk-dev] [PATCH] hash: fix CRC32c computation
> 
> 
> 
> From: Vincent JARDIN [mailto:vincent.jardin at 6wind.com]
> Sent: Wednesday, December 23, 2015 11:38 AM
> To: Qiu, Michael
> Cc: didier. pallard; De Lara Guarch, Pablo; dev at dpdk.org; Richardson, Bruce
> Subject: Re: [dpdk-dev] [PATCH] hash: fix CRC32c computation
> 
> 
> Le?23 d?c. 2015 10:12, "Qiu, Michael" <michael.qiu at intel.com> a ?crit?:
> >
> > Is it suitable to put so many code in commit log?
> It is more explicit than a text/comment. I do not think it should be
> maintained code.
> >
> > Thanks,
> > Michael
> > On 12/22/2015 5:36 PM, Didier Pallard wrote:
> > > As demonstrated by the following code, CRC32c computation is not valid
> > > when buffer length is not a multiple of 4 bytes:
> > > (Output obtained by code below)
> > >
> > > CRC of 1 NULL bytes expected: 0x527d5351
> > >? ? ?soft: 527d5351
> > >? ? ?rte accelerated: 48674bc7
> > >? ? ?rte soft: 48674bc7
> > > CRC of 2 NULL bytes expected: 0xf16177d2
> > >? ? ?soft: f16177d2
> > >? ? ?rte accelerated: 48674bc7
> > >? ? ?rte soft: 48674bc7
> > > CRC of 2x1 NULL bytes expected: 0xf16177d2
> > >? ? ?soft: f16177d2
> > >? ? ?rte accelerated: 8c28b28a
> > >? ? ?rte soft: 8c28b28a
> > > CRC of 3 NULL bytes expected: 0x6064a37a
> > >? ? ?soft: 6064a37a
> > >? ? ?rte accelerated: 48674bc7
> > >? ? ?rte soft: 48674bc7
> > > CRC of 4 NULL bytes expected: 0x48674bc7
> > >? ? ?soft: 48674bc7
> > >? ? ?rte accelerated: 48674bc7
> > >? ? ?rte soft: 48674bc7
> > >
> > > Values returned by rte_hash_crc functions does not match the one
> > > computed by a trivial crc32c implementation.
> > >
> > > ARM code is a guess, it is not tested, neither compiled.

It fails on ARM. Not sure what the correct format is:

/home/pablo/dpdk-2.3-rc0/arm64-armv8a-linuxapp-gcc/include/rte_hash_crc.h: In 
function ?rte_hash_crc?:
/home/pablo/dpdk-2.3-rc0/arm64-armv8a-linuxapp-gcc/include/rte_crc_arm64.h:67:2:
 error: invalid 'asm': incompatible floating point / vector register operand 
for '%h'
  __asm__ volatile(
  ^
/home/pablo/dpdk-2.3-rc0/arm64-armv8a-linuxapp-gcc/include/rte_crc_arm64.h:56:2:
 error: invalid 'asm': incompatible floating point / vector register operand 
for '%b'
  __asm__ volatile(

Thanks,
Pablo

Reply via email to