negsf2.c revision b6d4e2e3a87eb3c9a6dec0ad21d4c1dec545c137
1b6d4e2e3a87eb3c9a6dec0ad21d4c1dec545c137Stephen Canon//===-- lib/negsf2.c - single-precision negation ------------------*- C -*-===//
25c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//
35c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//                     The LLVM Compiler Infrastructure
45c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon//
55c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon// This file is distributed under the University of Illinois Open Source
65c6d2ecb9c43d8b836b3203a243e24703d473765Stephen Canon// License. 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
17e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canonfp_t __negsf2(fp_t a) {
18e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon    return fromRep(toRep(a) ^ signBit);
19e5086322295e5a345af02d09abfcf8ddca2d0897Stephen Canon}
20