It seems that it's not just cwtl that gets used unnecessarily.  The same
thing happens with out extension instructions, e.g., movzwl:

Disassembly of section .text:

00000000 <foo>:
#include <ctype.h>

int foo(int c) {
   0:   55                      push   %ebp
   1:   89 e5                   mov    %esp,%ebp
        return isdigit(c);
   3:   8b 45 08                mov    0x8(%ebp),%eax
   6:   8b 15 00 00 00 00       mov    0x0,%edx
                        8: R_386_32     __ctype_b
   c:   66 8b 04 42             mov    (%edx,%eax,2),%ax
  10:   25 00 08 00 00          and    $0x800,%eax
  15:   0f b7 c0                movzwl %ax,%eax
}
  18:   5d                      pop    %ebp
  19:   c3                      ret    
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


Reply via email to