summaryrefslogtreecommitdiffstats
path: root/lib/libfetch/common.h
diff options
context:
space:
mode:
authorrobert <robert@FreeBSD.org>2002-10-20 22:50:13 +0000
committerrobert <robert@FreeBSD.org>2002-10-20 22:50:13 +0000
commitf3c329d265a6da401af0721541a68b516c924a8d (patch)
treeaa55721b94940306bdd1bff697f5c3566130b022 /lib/libfetch/common.h
parentc377d3e2b439a770210d502e3fd212a05929a7a2 (diff)
downloadFreeBSD-src-f3c329d265a6da401af0721541a68b516c924a8d.zip
FreeBSD-src-f3c329d265a6da401af0721541a68b516c924a8d.tar.gz
Do not try to work around ``poor (un)sign extension code''
creation by GCC-2.6.3. Casting pointers to unsigned char to volatile pointers to unsigned char seemed to produce better results on the ia32 architecture with old versions of GCC. The current FreeBSD system compiler GCC-3.2.1 emits better sign extension code for non-volatile variables: volatile char c; int i = c; is compiled to: ... movb -1(%ebp), %al movbsl %al, %eax movl %eax, -8(%ebp) ... char c; int i = c; is compiled to: ... movbsl -1(%ebp), %eax movl %eax, -8(%ebp) ... The same holds for zero-extension of dereferenced pointers to volatile unsigned char. When compiled on alpha or sparc64, the code produced for the two examples above does not differ.
Diffstat (limited to 'lib/libfetch/common.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud