1/* Copyright (C) 2007-2020 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
7Software Foundation; either version 3, or (at your option) any later
8version.
9
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13for more details.
14
15Under Section 7 of GPL version 3, you are granted additional
16permissions described in the GCC Runtime Library Exception, version
173.1, as published by the Free Software Foundation.
18
19You should have received a copy of the GNU General Public License and
20a copy of the GCC Runtime Library Exception along with this program;
21see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22<http://www.gnu.org/licenses/>.  */
23
24#include "bid_internal.h"
25
26#define SIZE_MASK      0xffff0000
27#define INVALID_RESULT 0x8000
28
29BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_rnint,
30				UINT128, x, bid128_to_uint32_rnint,
31				unsigned int, SIZE_MASK, INVALID_RESULT)
32
33BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_xrnint,
34				UINT128, x, bid128_to_uint32_xrnint,
35				unsigned int, SIZE_MASK, INVALID_RESULT)
36
37BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_rninta,
38				UINT128, x, bid128_to_uint32_rninta,
39				unsigned int, SIZE_MASK, INVALID_RESULT)
40
41BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short,
42				bid128_to_uint16_xrninta, UINT128, x,
43				bid128_to_uint32_xrninta, unsigned int,
44				SIZE_MASK, INVALID_RESULT)
45
46BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_int,
47				UINT128, x, bid128_to_uint32_int,
48				unsigned int, SIZE_MASK, INVALID_RESULT)
49
50BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_xint,
51				UINT128, x, bid128_to_uint32_xint,
52				unsigned int, SIZE_MASK, INVALID_RESULT)
53
54BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_floor,
55				UINT128, x, bid128_to_uint32_floor,
56				unsigned int, SIZE_MASK, INVALID_RESULT)
57
58BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_ceil,
59				UINT128, x, bid128_to_uint32_ceil,
60				unsigned int, SIZE_MASK, INVALID_RESULT)
61
62BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_xfloor,
63				UINT128, x, bid128_to_uint32_xfloor,
64				unsigned int, SIZE_MASK, INVALID_RESULT)
65
66BID_TO_SMALL_UINT_CVT_FUNCTION (unsigned short, bid128_to_uint16_xceil,
67				UINT128, x, bid128_to_uint32_xceil,
68				unsigned int, SIZE_MASK, INVALID_RESULT)
69