Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: GnuPG: gcrypt
Re: [PATCH] Small fix for umul_ppmm on ARM
 

Index | Next | Previous | View Flat


ken.werner at linaro

Dec 21, 2011, 12:51 PM


Views: 490
Permalink
Re: [PATCH] Small fix for umul_ppmm on ARM [In reply to]

On 12/21/2011 08:51 PM, Werner Koch wrote:
> On Wed, 21 Dec 2011 18:18, ken.werner [at] linaro said:
>
>> This code generates the following assembler error message when compiling
>> for -march=armv5te:
>> Error: selected processor does not support Thumb mode `umull r5,ip,r5,r3'
>
> What cpp macro is defined for this architecure? I would feel better not
> to change 10 years old code, if there is a way to avoid it.

$ arm-linux-gnueabi-cpp -march=armv5te -dM /dev/null|grep ARCH
#define __ARM_ARCH_5TE__ 1

However, initially I thought it's because of the inline assembly and I
wrote that tiny patch. But I just noticed when using the toolchain I've
got that even the following code:

unsigned int foo (unsigned int xh, unsigned int xl, unsigned int a,
unsigned int b) {
__asm__ ("%@ Inlined umul_ppmm\n"
"umull %r1, %r0, %r2, %r3"
: "=&r" (xh), "=&r" (xl)
: "r" (a), "r" (b)
: "r0", "r1");
return xl;
}

results in:
Assembler messages:
Error: selected processor does not support Thumb mode `umull r4,r5,r2,r3'

It doesn't occur when using the CSL 2011.03 for example. So, I suspect a
toolchain bug. I'll investigate further.

Regards,
Ken

_______________________________________________
Gcrypt-devel mailing list
Gcrypt-devel [at] gnupg
http://lists.gnupg.org/mailman/listinfo/gcrypt-devel

Subject User Time
[PATCH] Small fix for umul_ppmm on ARM ken.werner at linaro Dec 21, 2011, 9:18 AM
    Re: [PATCH] Small fix for umul_ppmm on ARM wk at gnupg Dec 21, 2011, 11:51 AM
        Re: [PATCH] Small fix for umul_ppmm on ARM ken.werner at linaro Dec 21, 2011, 12:51 PM

  Index | Next | Previous | View Flat
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.