Displaying 5 results from an estimated 5 matches for "__fd_zero_stos".
2010 Feb 16
2
[LLVMdev] FD_ZERO unsupported inline asm on 64 bit
...}
I used llvm-2.6 compiled from source and the latest llvm-gcc binaries for Linux x86_64.
This code worked just fine with older versions of llvm-gcc on 32 bit Linux.
FD_ZERO is defined in /usr/include/bits/select.h like this:
# if __WORDSIZE == 64
# define __FD_ZERO_STOS "stosq"
# define __FD_SET_BTS "btsq"
# define __FD_CLR_BTR "btrq"
# define __FD_ISSET_BT "btq"
# else
# define __FD_ZERO_STOS "stosl"
# define __FD_SET_BTS "btsl"
# define __FD_CLR_BTR "btrl"
# define __FD_ISSET_BT "b...
2010 Jul 12
2
[LLVMdev] about llvm2.7's inline assembly
Hello,
Whenever I compile a C program containing "FD_SET" function using llvm-gcc
2.7 (with -emit-llvm option), I got the following inline assembly in my
llvm byte code:
%asmtmp = call %struct.__mbstate_t asm sideeffect "cld; rep; stosl",
"={cx},={di},{ax},0,1,~{dirflag},~{fpsr},~{flags},~{memory}"(i32 0, i32
32, i32* getelementptr inbounds (%struct.__sigset_t*
2010 Jul 12
0
[LLVMdev] about llvm2.7's inline assembly
...lvm option), I got the following inline assembly in my
> llvm byte code:
this comes directly from your system headers (/usr/include/bits/select.h)
and as such doesn't really have anything to do with llvm-gcc:
#if defined __GNUC__ && __GNUC__ >= 2
# if __WORDSIZE == 64
# define __FD_ZERO_STOS "stosq"
# else
# define __FD_ZERO_STOS "stosl"
# endif
# define __FD_ZERO(fdsp) \
do { \
int __d0, __d1; \
__asm__ __volatile__ ("...
2010 Feb 16
0
[LLVMdev] FD_ZERO unsupported inline asm on 64 bit
...amp;rfds); //this is the error line
...
> # define __FD_ZERO(fdsp) \
> do { \
> int __d0, __d1; \
> __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \
> : "=c" (__d0), "=D" (__d1) \
> : "a" (0), "0" (sizeof (fd_set) \
> / sizeof (__fd_m...
2010 Feb 16
2
[LLVMdev] FD_ZERO unsupported inline asm on 64 bit
...rror line
>
> ...
>
>> # define __FD_ZERO(fdsp) \
>> do { \
>> int __d0, __d1; \
>> __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \
>> : "=c" (__d0), "=D" (__d1) \
>> : "a" (0), "0" (sizeof (fd_set) \
>> / sizeo...