123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "symbol-underscore.h"
- #ifdef _MSC_VER /* MSVC on Windows */
- PUBLIC SYMBOL_NAME(square_unsigned)
- _TEXT SEGMENT
- SYMBOL_NAME(square_unsigned) PROC
- mov eax, ecx
- imul eax, eax
- ret
- SYMBOL_NAME(square_unsigned) ENDP
- _TEXT ENDS
- END
- #else
- .text
- .globl SYMBOL_NAME(square_unsigned)
- /* Only supported with GAS */
- # if defined(__linux__) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)
- .type square_unsigned,@function
- # endif
- # if defined(_WIN32) || defined(__CYGWIN__) /* msabi */
- SYMBOL_NAME(square_unsigned):
- imull %ecx, %ecx
- movl %ecx, %eax
- retq
- # else /* sysvabi */
- SYMBOL_NAME(square_unsigned):
- imull %edi, %edi
- movl %edi, %eax
- retq
- # endif
- #endif
|