1/* $OpenBSD: s_copysignf.S,v 1.8 2018/07/03 22:43:34 mortimer Exp $ */ 2/* 3 * Written by J.T. Conklin <jtc@NetBSD.org>. 4 * Public domain. 5 */ 6 7#include <machine/asm.h> 8 9#include "abi.h" 10 11 .section .rodata 12.Lneg: 13 .long 0x7fffffff 14.Lpos: 15 .long 0x80000000 16 17ENTRY(copysignf) 18 RETGUARD_SETUP(copysignf, r11) 19 movss .Lpos(%rip),%xmm2 20 movss .Lneg(%rip),%xmm3 21 pand %xmm2,%xmm1 22 pand %xmm3,%xmm0 23 por %xmm1,%xmm0 24 RETGUARD_CHECK(copysignf, r11) 25 ret 26END_STD(copysignf) 27