llvm-project

Форк
0
37 строк · 978.0 Байт
1
//===-- ucmpti2.c - Implement __ucmpti2 -----------------------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file implements __ucmpti2 for the compiler_rt library.
10
//
11
//===----------------------------------------------------------------------===//
12

13
#include "int_lib.h"
14

15
#ifdef CRT_HAS_128BIT
16

17
// Returns:  if (a <  b) returns 0
18
//           if (a == b) returns 1
19
//           if (a >  b) returns 2
20

21
COMPILER_RT_ABI si_int __ucmpti2(tu_int a, tu_int b) {
22
  utwords x;
23
  x.all = a;
24
  utwords y;
25
  y.all = b;
26
  if (x.s.high < y.s.high)
27
    return 0;
28
  if (x.s.high > y.s.high)
29
    return 2;
30
  if (x.s.low < y.s.low)
31
    return 0;
32
  if (x.s.low > y.s.low)
33
    return 2;
34
  return 1;
35
}
36

37
#endif // CRT_HAS_128BIT
38

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.