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//===----------------------------------------------------------------------===// 13e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon 14e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon#define SINGLE_PRECISION 15e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon#include "fp_lib.h" 16e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon 170193b74976719b8aea4cb8874ba36b75836a8d6eChandler CarruthARM_EABI_FNALIAS(fneg, negsf2) 1837b97d1cf4501b94347e0b4e880f4b25825a289fAnton Korobeynikov 191c5f89b1dd741135a4007ab577723d422f421eecAnton KorobeynikovCOMPILER_RT_ABI fp_t 201c5f89b1dd741135a4007ab577723d422f421eecAnton Korobeynikov__negsf2(fp_t a) { 21e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon return fromRep(toRep(a) ^ signBit); 22e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon} 23