brintos

brintos / llvm-project-archived public Read only

0
0
Text · 692 B · 246bdff Raw
40 lines · plain
1// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.2// See https://llvm.org/LICENSE.txt for license information.3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception4 5#include "../assembly.h"6 7// float __floatundisf(du_int a);8 9#ifdef __x86_64__10 11CONST_SECTION12 13	.balign 1614two:15	.single 2.016 17#define REL_ADDR(_a)	(_a)(%rip)18 19.text20.balign 421DEFINE_COMPILERRT_FUNCTION(__floatundisf)22	movq		$1,			%rsi23	testq		%rdi,		%rdi24	js			1f25	cvtsi2ssq	%rdi,		%xmm026	ret27 281:	andq		%rdi,		%rsi29	shrq		%rdi30	orq			%rsi,		%rdi31	cvtsi2ssq	%rdi,		%xmm032	mulss	REL_ADDR(two),	%xmm033	ret34END_COMPILERRT_FUNCTION(__floatundisf)35 36#endif // __x86_64__37 38NO_EXEC_STACK_DIRECTIVE39 40