negsf2.c revision 1c5f89b1dd741135a4007ab577723d422f421eec
1b6d4e2e3a87eb3c9a6dec0ad21d4c1dec545c137Stephen Canon//===-- lib/negsf2.c - single-precision negation ------------------*- C -*-===//
25c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//
35c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//                     The LLVM Compiler Infrastructure
45c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//
59ad441ffec97db647fee3725b3424284fb913e14Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
69ad441ffec97db647fee3725b3424284fb913e14Howard Hinnant// Source Licenses. See LICENSE.TXT for details.
75c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//
85c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//===----------------------------------------------------------------------===//
95c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//
105c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon// This file implements single-precision soft-float negation.
115c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//
125c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//===----------------------------------------------------------------------===//
131c5f89b1dd741135a4007ab577723d422f421eecAnton Korobeynikov#include "abi.h"
14e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon
15e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon#define SINGLE_PRECISION
16e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon#include "fp_lib.h"
17e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon
1837b97d1cf4501b94347e0b4e880f4b25825a289fAnton KorobeynikovARM_EABI_FNALIAS(fneg, negsf2);
1937b97d1cf4501b94347e0b4e880f4b25825a289fAnton Korobeynikov
201c5f89b1dd741135a4007ab577723d422f421eecAnton KorobeynikovCOMPILER_RT_ABI fp_t
211c5f89b1dd741135a4007ab577723d422f421eecAnton Korobeynikov__negsf2(fp_t a) {
22e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon    return fromRep(toRep(a) ^ signBit);
23e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon}
24