The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
756 B
38 lines
756 B
#include "symbol-underscore.h" |
|
|
|
#if defined(_MSC_VER) && !defined(__clang__) /* 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__) || defined(__sun) |
|
.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
|
|
|