xref: /freebsd/lib/libc/powerpcspe/gen/fabs.S (revision 1d386b48)
1dc9b124dSJustin Hibbits/*
2dc9b124dSJustin Hibbits * Copyright (c) 2016 Justin Hibbits
3dc9b124dSJustin Hibbits * All rights reserved.
4dc9b124dSJustin Hibbits *
5dc9b124dSJustin Hibbits * Redistribution and use in source and binary forms, with or without
6dc9b124dSJustin Hibbits * modification, are permitted provided that the following conditions
7dc9b124dSJustin Hibbits * are met:
8dc9b124dSJustin Hibbits * 1. Redistributions of source code must retain the above copyright
9dc9b124dSJustin Hibbits *    notice, this list of conditions and the following disclaimer.
10dc9b124dSJustin Hibbits * 2. Redistributions in binary form must reproduce the above copyright
11dc9b124dSJustin Hibbits *    notice, this list of conditions and the following disclaimer in the
12dc9b124dSJustin Hibbits *    documentation and/or other materials provided with the distribution.
13dc9b124dSJustin Hibbits *
14dc9b124dSJustin Hibbits * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15dc9b124dSJustin Hibbits * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16dc9b124dSJustin Hibbits * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17dc9b124dSJustin Hibbits * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18dc9b124dSJustin Hibbits * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19dc9b124dSJustin Hibbits * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20dc9b124dSJustin Hibbits * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21dc9b124dSJustin Hibbits * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22dc9b124dSJustin Hibbits * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23dc9b124dSJustin Hibbits * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24dc9b124dSJustin Hibbits * SUCH DAMAGE.
25dc9b124dSJustin Hibbits */
26dc9b124dSJustin Hibbits
27dc9b124dSJustin Hibbits#include <machine/asm.h>
28dc9b124dSJustin Hibbits/*
29dc9b124dSJustin Hibbits * double fabs(double)
30dc9b124dSJustin Hibbits */
31dc9b124dSJustin HibbitsENTRY(fabs)
3228c20ad0SJustin Hibbits	/* arg is split in two words, clear sign bit only, in r3. */
3328c20ad0SJustin Hibbits	clrlwi	%r3,%r3,1
34dc9b124dSJustin Hibbits	blr
35dc9b124dSJustin HibbitsEND(fabs)
36dc9b124dSJustin Hibbits
37dc9b124dSJustin Hibbits	.section .note.GNU-stack,"",%progbits
38