Coverage Report

Created: 2025-07-04 06:11

/src/capstonenext/MathExtras.h
Line
Count
Source (jump to first uncovered line)
1
//===-- llvm/Support/MathExtras.h - Useful math functions -------*- C++ -*-===//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file contains some functions that are useful for math stuff.
11
//
12
//===----------------------------------------------------------------------===//
13
14
/* Capstone Disassembly Engine */
15
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2019 */
16
17
#ifndef CS_LLVM_SUPPORT_MATHEXTRAS_H
18
#define CS_LLVM_SUPPORT_MATHEXTRAS_H
19
20
#if defined(_WIN32_WCE) && (_WIN32_WCE < 0x800)
21
#include "windowsce/intrin.h"
22
#elif defined(_MSC_VER)
23
#include <intrin.h>
24
#endif
25
26
#ifndef __cplusplus
27
#ifdef _MSC_VER
28
#define inline /* inline */
29
#endif
30
#endif
31
32
#include <limits.h>
33
34
// NOTE: The following support functions use the _32/_64 extensions instead of
35
// type overloading so that signed and unsigned integers can be used without
36
// ambiguity.
37
38
/// Hi_32 - This function returns the high 32 bits of a 64 bit value.
39
0
static inline uint32_t Hi_32(uint64_t Value) {
40
0
  return (uint32_t)(Value >> 32);
41
0
}
Unexecuted instantiation: SparcModule.c:Hi_32
Unexecuted instantiation: ARMMapping.c:Hi_32
Unexecuted instantiation: AArch64Mapping.c:Hi_32
Unexecuted instantiation: PPCMapping.c:Hi_32
Unexecuted instantiation: SparcMapping.c:Hi_32
Unexecuted instantiation: XCoreDisassembler.c:Hi_32
Unexecuted instantiation: XCoreInstPrinter.c:Hi_32
Unexecuted instantiation: M68KDisassembler.c:Hi_32
Unexecuted instantiation: TMS320C64xDisassembler.c:Hi_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:Hi_32
Unexecuted instantiation: RISCVDisassembler.c:Hi_32
Unexecuted instantiation: TriCoreDisassembler.c:Hi_32
Unexecuted instantiation: HPPADisassembler.c:Hi_32
Unexecuted instantiation: XtensaMapping.c:Hi_32
Unexecuted instantiation: ARMDisassembler.c:Hi_32
Unexecuted instantiation: ARMDisassemblerExtension.c:Hi_32
Unexecuted instantiation: ARMInstPrinter.c:Hi_32
Unexecuted instantiation: AArch64Disassembler.c:Hi_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:Hi_32
Unexecuted instantiation: AArch64InstPrinter.c:Hi_32
Unexecuted instantiation: MipsDisassembler.c:Hi_32
Unexecuted instantiation: PPCDisassembler.c:Hi_32
Unexecuted instantiation: PPCInstPrinter.c:Hi_32
Unexecuted instantiation: SparcDisassembler.c:Hi_32
Unexecuted instantiation: SparcDisassemblerExtension.c:Hi_32
Unexecuted instantiation: SparcInstPrinter.c:Hi_32
Unexecuted instantiation: SystemZDisassembler.c:Hi_32
Unexecuted instantiation: SystemZInstPrinter.c:Hi_32
Unexecuted instantiation: TriCoreInstPrinter.c:Hi_32
Unexecuted instantiation: LoongArchDisassembler.c:Hi_32
Unexecuted instantiation: XtensaDisassembler.c:Hi_32
Unexecuted instantiation: XtensaInstPrinter.c:Hi_32
Unexecuted instantiation: ARCDisassembler.c:Hi_32
42
43
/// Lo_32 - This function returns the low 32 bits of a 64 bit value.
44
0
static inline uint32_t Lo_32(uint64_t Value) {
45
0
  return (uint32_t)(Value);
46
0
}
Unexecuted instantiation: SparcModule.c:Lo_32
Unexecuted instantiation: ARMMapping.c:Lo_32
Unexecuted instantiation: AArch64Mapping.c:Lo_32
Unexecuted instantiation: PPCMapping.c:Lo_32
Unexecuted instantiation: SparcMapping.c:Lo_32
Unexecuted instantiation: XCoreDisassembler.c:Lo_32
Unexecuted instantiation: XCoreInstPrinter.c:Lo_32
Unexecuted instantiation: M68KDisassembler.c:Lo_32
Unexecuted instantiation: TMS320C64xDisassembler.c:Lo_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:Lo_32
Unexecuted instantiation: RISCVDisassembler.c:Lo_32
Unexecuted instantiation: TriCoreDisassembler.c:Lo_32
Unexecuted instantiation: HPPADisassembler.c:Lo_32
Unexecuted instantiation: XtensaMapping.c:Lo_32
Unexecuted instantiation: ARMDisassembler.c:Lo_32
Unexecuted instantiation: ARMDisassemblerExtension.c:Lo_32
Unexecuted instantiation: ARMInstPrinter.c:Lo_32
Unexecuted instantiation: AArch64Disassembler.c:Lo_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:Lo_32
Unexecuted instantiation: AArch64InstPrinter.c:Lo_32
Unexecuted instantiation: MipsDisassembler.c:Lo_32
Unexecuted instantiation: PPCDisassembler.c:Lo_32
Unexecuted instantiation: PPCInstPrinter.c:Lo_32
Unexecuted instantiation: SparcDisassembler.c:Lo_32
Unexecuted instantiation: SparcDisassemblerExtension.c:Lo_32
Unexecuted instantiation: SparcInstPrinter.c:Lo_32
Unexecuted instantiation: SystemZDisassembler.c:Lo_32
Unexecuted instantiation: SystemZInstPrinter.c:Lo_32
Unexecuted instantiation: TriCoreInstPrinter.c:Lo_32
Unexecuted instantiation: LoongArchDisassembler.c:Lo_32
Unexecuted instantiation: XtensaDisassembler.c:Lo_32
Unexecuted instantiation: XtensaInstPrinter.c:Lo_32
Unexecuted instantiation: ARCDisassembler.c:Lo_32
47
48
/// isUIntN - Checks if an unsigned integer fits into the given (dynamic)
49
/// bit width.
50
140k
static inline bool isUIntN(unsigned N, uint64_t x) {
51
140k
  return x == (x & (~0ULL >> (64 - N)));
52
140k
}
Unexecuted instantiation: SparcModule.c:isUIntN
Unexecuted instantiation: ARMMapping.c:isUIntN
Unexecuted instantiation: AArch64Mapping.c:isUIntN
Unexecuted instantiation: PPCMapping.c:isUIntN
Unexecuted instantiation: SparcMapping.c:isUIntN
Unexecuted instantiation: XCoreDisassembler.c:isUIntN
Unexecuted instantiation: XCoreInstPrinter.c:isUIntN
Unexecuted instantiation: M68KDisassembler.c:isUIntN
Unexecuted instantiation: TMS320C64xDisassembler.c:isUIntN
Unexecuted instantiation: TMS320C64xInstPrinter.c:isUIntN
Unexecuted instantiation: RISCVDisassembler.c:isUIntN
Unexecuted instantiation: TriCoreDisassembler.c:isUIntN
Unexecuted instantiation: HPPADisassembler.c:isUIntN
Unexecuted instantiation: XtensaMapping.c:isUIntN
Unexecuted instantiation: ARMDisassembler.c:isUIntN
Unexecuted instantiation: ARMDisassemblerExtension.c:isUIntN
Unexecuted instantiation: ARMInstPrinter.c:isUIntN
Unexecuted instantiation: AArch64Disassembler.c:isUIntN
Unexecuted instantiation: AArch64DisassemblerExtension.c:isUIntN
Unexecuted instantiation: AArch64InstPrinter.c:isUIntN
Unexecuted instantiation: MipsDisassembler.c:isUIntN
PPCDisassembler.c:isUIntN
Line
Count
Source
50
33.7k
static inline bool isUIntN(unsigned N, uint64_t x) {
51
33.7k
  return x == (x & (~0ULL >> (64 - N)));
52
33.7k
}
Unexecuted instantiation: PPCInstPrinter.c:isUIntN
Unexecuted instantiation: SparcDisassembler.c:isUIntN
Unexecuted instantiation: SparcDisassemblerExtension.c:isUIntN
Unexecuted instantiation: SparcInstPrinter.c:isUIntN
SystemZDisassembler.c:isUIntN
Line
Count
Source
50
106k
static inline bool isUIntN(unsigned N, uint64_t x) {
51
106k
  return x == (x & (~0ULL >> (64 - N)));
52
106k
}
Unexecuted instantiation: SystemZInstPrinter.c:isUIntN
Unexecuted instantiation: TriCoreInstPrinter.c:isUIntN
Unexecuted instantiation: LoongArchDisassembler.c:isUIntN
Unexecuted instantiation: XtensaDisassembler.c:isUIntN
Unexecuted instantiation: XtensaInstPrinter.c:isUIntN
Unexecuted instantiation: ARCDisassembler.c:isUIntN
53
54
/// isIntN - Checks if an signed integer fits into the given (dynamic)
55
/// bit width.
56
0
static inline bool isIntN(unsigned N, int64_t x) {
57
0
  return N >= 64 || (-(INT64_C(1)<<(N-1)) <= x && x < (INT64_C(1)<<(N-1)));
58
0
}
Unexecuted instantiation: SparcModule.c:isIntN
Unexecuted instantiation: ARMMapping.c:isIntN
Unexecuted instantiation: AArch64Mapping.c:isIntN
Unexecuted instantiation: PPCMapping.c:isIntN
Unexecuted instantiation: SparcMapping.c:isIntN
Unexecuted instantiation: XCoreDisassembler.c:isIntN
Unexecuted instantiation: XCoreInstPrinter.c:isIntN
Unexecuted instantiation: M68KDisassembler.c:isIntN
Unexecuted instantiation: TMS320C64xDisassembler.c:isIntN
Unexecuted instantiation: TMS320C64xInstPrinter.c:isIntN
Unexecuted instantiation: RISCVDisassembler.c:isIntN
Unexecuted instantiation: TriCoreDisassembler.c:isIntN
Unexecuted instantiation: HPPADisassembler.c:isIntN
Unexecuted instantiation: XtensaMapping.c:isIntN
Unexecuted instantiation: ARMDisassembler.c:isIntN
Unexecuted instantiation: ARMDisassemblerExtension.c:isIntN
Unexecuted instantiation: ARMInstPrinter.c:isIntN
Unexecuted instantiation: AArch64Disassembler.c:isIntN
Unexecuted instantiation: AArch64DisassemblerExtension.c:isIntN
Unexecuted instantiation: AArch64InstPrinter.c:isIntN
Unexecuted instantiation: MipsDisassembler.c:isIntN
Unexecuted instantiation: PPCDisassembler.c:isIntN
Unexecuted instantiation: PPCInstPrinter.c:isIntN
Unexecuted instantiation: SparcDisassembler.c:isIntN
Unexecuted instantiation: SparcDisassemblerExtension.c:isIntN
Unexecuted instantiation: SparcInstPrinter.c:isIntN
Unexecuted instantiation: SystemZDisassembler.c:isIntN
Unexecuted instantiation: SystemZInstPrinter.c:isIntN
Unexecuted instantiation: TriCoreInstPrinter.c:isIntN
Unexecuted instantiation: LoongArchDisassembler.c:isIntN
Unexecuted instantiation: XtensaDisassembler.c:isIntN
Unexecuted instantiation: XtensaInstPrinter.c:isIntN
Unexecuted instantiation: ARCDisassembler.c:isIntN
59
60
/// isMask_32 - This function returns true if the argument is a sequence of ones
61
/// starting at the least significant bit with the remainder zero (32 bit
62
/// version).   Ex. isMask_32(0x0000FFFFU) == true.
63
0
static inline bool isMask_32(uint32_t Value) {
64
0
  return Value && ((Value + 1) & Value) == 0;
65
0
}
Unexecuted instantiation: SparcModule.c:isMask_32
Unexecuted instantiation: ARMMapping.c:isMask_32
Unexecuted instantiation: AArch64Mapping.c:isMask_32
Unexecuted instantiation: PPCMapping.c:isMask_32
Unexecuted instantiation: SparcMapping.c:isMask_32
Unexecuted instantiation: XCoreDisassembler.c:isMask_32
Unexecuted instantiation: XCoreInstPrinter.c:isMask_32
Unexecuted instantiation: M68KDisassembler.c:isMask_32
Unexecuted instantiation: TMS320C64xDisassembler.c:isMask_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:isMask_32
Unexecuted instantiation: RISCVDisassembler.c:isMask_32
Unexecuted instantiation: TriCoreDisassembler.c:isMask_32
Unexecuted instantiation: HPPADisassembler.c:isMask_32
Unexecuted instantiation: XtensaMapping.c:isMask_32
Unexecuted instantiation: ARMDisassembler.c:isMask_32
Unexecuted instantiation: ARMDisassemblerExtension.c:isMask_32
Unexecuted instantiation: ARMInstPrinter.c:isMask_32
Unexecuted instantiation: AArch64Disassembler.c:isMask_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:isMask_32
Unexecuted instantiation: AArch64InstPrinter.c:isMask_32
Unexecuted instantiation: MipsDisassembler.c:isMask_32
Unexecuted instantiation: PPCDisassembler.c:isMask_32
Unexecuted instantiation: PPCInstPrinter.c:isMask_32
Unexecuted instantiation: SparcDisassembler.c:isMask_32
Unexecuted instantiation: SparcDisassemblerExtension.c:isMask_32
Unexecuted instantiation: SparcInstPrinter.c:isMask_32
Unexecuted instantiation: SystemZDisassembler.c:isMask_32
Unexecuted instantiation: SystemZInstPrinter.c:isMask_32
Unexecuted instantiation: TriCoreInstPrinter.c:isMask_32
Unexecuted instantiation: LoongArchDisassembler.c:isMask_32
Unexecuted instantiation: XtensaDisassembler.c:isMask_32
Unexecuted instantiation: XtensaInstPrinter.c:isMask_32
Unexecuted instantiation: ARCDisassembler.c:isMask_32
66
67
/// isMask_64 - This function returns true if the argument is a sequence of ones
68
/// starting at the least significant bit with the remainder zero (64 bit
69
/// version).
70
6.10k
static inline bool isMask_64(uint64_t Value) {
71
6.10k
  return Value && ((Value + 1) & Value) == 0;
72
6.10k
}
Unexecuted instantiation: SparcModule.c:isMask_64
Unexecuted instantiation: ARMMapping.c:isMask_64
Unexecuted instantiation: AArch64Mapping.c:isMask_64
Unexecuted instantiation: PPCMapping.c:isMask_64
Unexecuted instantiation: SparcMapping.c:isMask_64
Unexecuted instantiation: XCoreDisassembler.c:isMask_64
Unexecuted instantiation: XCoreInstPrinter.c:isMask_64
Unexecuted instantiation: M68KDisassembler.c:isMask_64
Unexecuted instantiation: TMS320C64xDisassembler.c:isMask_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:isMask_64
Unexecuted instantiation: RISCVDisassembler.c:isMask_64
Unexecuted instantiation: TriCoreDisassembler.c:isMask_64
Unexecuted instantiation: HPPADisassembler.c:isMask_64
Unexecuted instantiation: XtensaMapping.c:isMask_64
Unexecuted instantiation: ARMDisassembler.c:isMask_64
Unexecuted instantiation: ARMDisassemblerExtension.c:isMask_64
Unexecuted instantiation: ARMInstPrinter.c:isMask_64
Unexecuted instantiation: AArch64Disassembler.c:isMask_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:isMask_64
AArch64InstPrinter.c:isMask_64
Line
Count
Source
70
6.10k
static inline bool isMask_64(uint64_t Value) {
71
6.10k
  return Value && ((Value + 1) & Value) == 0;
72
6.10k
}
Unexecuted instantiation: MipsDisassembler.c:isMask_64
Unexecuted instantiation: PPCDisassembler.c:isMask_64
Unexecuted instantiation: PPCInstPrinter.c:isMask_64
Unexecuted instantiation: SparcDisassembler.c:isMask_64
Unexecuted instantiation: SparcDisassemblerExtension.c:isMask_64
Unexecuted instantiation: SparcInstPrinter.c:isMask_64
Unexecuted instantiation: SystemZDisassembler.c:isMask_64
Unexecuted instantiation: SystemZInstPrinter.c:isMask_64
Unexecuted instantiation: TriCoreInstPrinter.c:isMask_64
Unexecuted instantiation: LoongArchDisassembler.c:isMask_64
Unexecuted instantiation: XtensaDisassembler.c:isMask_64
Unexecuted instantiation: XtensaInstPrinter.c:isMask_64
Unexecuted instantiation: ARCDisassembler.c:isMask_64
73
74
/// isShiftedMask_32 - This function returns true if the argument contains a
75
/// sequence of ones with the remainder zero (32 bit version.)
76
/// Ex. isShiftedMask_32(0x0000FF00U) == true.
77
0
static inline bool isShiftedMask_32(uint32_t Value) {
78
0
  return isMask_32((Value - 1) | Value);
79
0
}
Unexecuted instantiation: SparcModule.c:isShiftedMask_32
Unexecuted instantiation: ARMMapping.c:isShiftedMask_32
Unexecuted instantiation: AArch64Mapping.c:isShiftedMask_32
Unexecuted instantiation: PPCMapping.c:isShiftedMask_32
Unexecuted instantiation: SparcMapping.c:isShiftedMask_32
Unexecuted instantiation: XCoreDisassembler.c:isShiftedMask_32
Unexecuted instantiation: XCoreInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: M68KDisassembler.c:isShiftedMask_32
Unexecuted instantiation: TMS320C64xDisassembler.c:isShiftedMask_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: RISCVDisassembler.c:isShiftedMask_32
Unexecuted instantiation: TriCoreDisassembler.c:isShiftedMask_32
Unexecuted instantiation: HPPADisassembler.c:isShiftedMask_32
Unexecuted instantiation: XtensaMapping.c:isShiftedMask_32
Unexecuted instantiation: ARMDisassembler.c:isShiftedMask_32
Unexecuted instantiation: ARMDisassemblerExtension.c:isShiftedMask_32
Unexecuted instantiation: ARMInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: AArch64Disassembler.c:isShiftedMask_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:isShiftedMask_32
Unexecuted instantiation: AArch64InstPrinter.c:isShiftedMask_32
Unexecuted instantiation: MipsDisassembler.c:isShiftedMask_32
Unexecuted instantiation: PPCDisassembler.c:isShiftedMask_32
Unexecuted instantiation: PPCInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: SparcDisassembler.c:isShiftedMask_32
Unexecuted instantiation: SparcDisassemblerExtension.c:isShiftedMask_32
Unexecuted instantiation: SparcInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: SystemZDisassembler.c:isShiftedMask_32
Unexecuted instantiation: SystemZInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: TriCoreInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: LoongArchDisassembler.c:isShiftedMask_32
Unexecuted instantiation: XtensaDisassembler.c:isShiftedMask_32
Unexecuted instantiation: XtensaInstPrinter.c:isShiftedMask_32
Unexecuted instantiation: ARCDisassembler.c:isShiftedMask_32
80
81
/// isShiftedMask_64 - This function returns true if the argument contains a
82
/// sequence of ones with the remainder zero (64 bit version.)
83
6.10k
static inline bool isShiftedMask_64(uint64_t Value) {
84
6.10k
  return isMask_64((Value - 1) | Value);
85
6.10k
}
Unexecuted instantiation: SparcModule.c:isShiftedMask_64
Unexecuted instantiation: ARMMapping.c:isShiftedMask_64
Unexecuted instantiation: AArch64Mapping.c:isShiftedMask_64
Unexecuted instantiation: PPCMapping.c:isShiftedMask_64
Unexecuted instantiation: SparcMapping.c:isShiftedMask_64
Unexecuted instantiation: XCoreDisassembler.c:isShiftedMask_64
Unexecuted instantiation: XCoreInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: M68KDisassembler.c:isShiftedMask_64
Unexecuted instantiation: TMS320C64xDisassembler.c:isShiftedMask_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: RISCVDisassembler.c:isShiftedMask_64
Unexecuted instantiation: TriCoreDisassembler.c:isShiftedMask_64
Unexecuted instantiation: HPPADisassembler.c:isShiftedMask_64
Unexecuted instantiation: XtensaMapping.c:isShiftedMask_64
Unexecuted instantiation: ARMDisassembler.c:isShiftedMask_64
Unexecuted instantiation: ARMDisassemblerExtension.c:isShiftedMask_64
Unexecuted instantiation: ARMInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: AArch64Disassembler.c:isShiftedMask_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:isShiftedMask_64
AArch64InstPrinter.c:isShiftedMask_64
Line
Count
Source
83
6.10k
static inline bool isShiftedMask_64(uint64_t Value) {
84
6.10k
  return isMask_64((Value - 1) | Value);
85
6.10k
}
Unexecuted instantiation: MipsDisassembler.c:isShiftedMask_64
Unexecuted instantiation: PPCDisassembler.c:isShiftedMask_64
Unexecuted instantiation: PPCInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: SparcDisassembler.c:isShiftedMask_64
Unexecuted instantiation: SparcDisassemblerExtension.c:isShiftedMask_64
Unexecuted instantiation: SparcInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: SystemZDisassembler.c:isShiftedMask_64
Unexecuted instantiation: SystemZInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: TriCoreInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: LoongArchDisassembler.c:isShiftedMask_64
Unexecuted instantiation: XtensaDisassembler.c:isShiftedMask_64
Unexecuted instantiation: XtensaInstPrinter.c:isShiftedMask_64
Unexecuted instantiation: ARCDisassembler.c:isShiftedMask_64
86
87
/// isPowerOf2_32 - This function returns true if the argument is a power of
88
/// two > 0. Ex. isPowerOf2_32(0x00100000U) == true (32 bit edition.)
89
0
static inline bool isPowerOf2_32(uint32_t Value) {
90
0
  return Value && !(Value & (Value - 1));
91
0
}
Unexecuted instantiation: SparcModule.c:isPowerOf2_32
Unexecuted instantiation: ARMMapping.c:isPowerOf2_32
Unexecuted instantiation: AArch64Mapping.c:isPowerOf2_32
Unexecuted instantiation: PPCMapping.c:isPowerOf2_32
Unexecuted instantiation: SparcMapping.c:isPowerOf2_32
Unexecuted instantiation: XCoreDisassembler.c:isPowerOf2_32
Unexecuted instantiation: XCoreInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: M68KDisassembler.c:isPowerOf2_32
Unexecuted instantiation: TMS320C64xDisassembler.c:isPowerOf2_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: RISCVDisassembler.c:isPowerOf2_32
Unexecuted instantiation: TriCoreDisassembler.c:isPowerOf2_32
Unexecuted instantiation: HPPADisassembler.c:isPowerOf2_32
Unexecuted instantiation: XtensaMapping.c:isPowerOf2_32
Unexecuted instantiation: ARMDisassembler.c:isPowerOf2_32
Unexecuted instantiation: ARMDisassemblerExtension.c:isPowerOf2_32
Unexecuted instantiation: ARMInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: AArch64Disassembler.c:isPowerOf2_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:isPowerOf2_32
Unexecuted instantiation: AArch64InstPrinter.c:isPowerOf2_32
Unexecuted instantiation: MipsDisassembler.c:isPowerOf2_32
Unexecuted instantiation: PPCDisassembler.c:isPowerOf2_32
Unexecuted instantiation: PPCInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: SparcDisassembler.c:isPowerOf2_32
Unexecuted instantiation: SparcDisassemblerExtension.c:isPowerOf2_32
Unexecuted instantiation: SparcInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: SystemZDisassembler.c:isPowerOf2_32
Unexecuted instantiation: SystemZInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: TriCoreInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: LoongArchDisassembler.c:isPowerOf2_32
Unexecuted instantiation: XtensaDisassembler.c:isPowerOf2_32
Unexecuted instantiation: XtensaInstPrinter.c:isPowerOf2_32
Unexecuted instantiation: ARCDisassembler.c:isPowerOf2_32
92
93
/// CountLeadingZeros_32 - this function performs the platform optimal form of
94
/// counting the number of zeros from the most significant bit to the first one
95
/// bit.  Ex. CountLeadingZeros_32(0x00F000FF) == 8.
96
/// Returns 32 if the word is zero.
97
74.2k
static inline unsigned CountLeadingZeros_32(uint32_t Value) {
98
74.2k
  unsigned Count; // result
99
74.2k
#if __GNUC__ >= 4
100
  // PowerPC is defined for __builtin_clz(0)
101
74.2k
#if !defined(__ppc__) && !defined(__ppc64__)
102
74.2k
  if (!Value) return 32;
103
74.1k
#endif
104
74.1k
  Count = __builtin_clz(Value);
105
#else
106
  unsigned Shift;
107
  if (!Value) return 32;
108
  Count = 0;
109
  // bisection method for count leading zeros
110
  for (Shift = 32 >> 1; Shift; Shift >>= 1) {
111
    uint32_t Tmp = Value >> Shift;
112
    if (Tmp) {
113
      Value = Tmp;
114
    } else {
115
      Count |= Shift;
116
    }
117
  }
118
#endif
119
74.1k
  return Count;
120
74.2k
}
Unexecuted instantiation: SparcModule.c:CountLeadingZeros_32
Unexecuted instantiation: ARMMapping.c:CountLeadingZeros_32
AArch64Mapping.c:CountLeadingZeros_32
Line
Count
Source
97
7.64k
static inline unsigned CountLeadingZeros_32(uint32_t Value) {
98
7.64k
  unsigned Count; // result
99
7.64k
#if __GNUC__ >= 4
100
  // PowerPC is defined for __builtin_clz(0)
101
7.64k
#if !defined(__ppc__) && !defined(__ppc64__)
102
7.64k
  if (!Value) return 32;
103
7.64k
#endif
104
7.64k
  Count = __builtin_clz(Value);
105
#else
106
  unsigned Shift;
107
  if (!Value) return 32;
108
  Count = 0;
109
  // bisection method for count leading zeros
110
  for (Shift = 32 >> 1; Shift; Shift >>= 1) {
111
    uint32_t Tmp = Value >> Shift;
112
    if (Tmp) {
113
      Value = Tmp;
114
    } else {
115
      Count |= Shift;
116
    }
117
  }
118
#endif
119
7.64k
  return Count;
120
7.64k
}
Unexecuted instantiation: PPCMapping.c:CountLeadingZeros_32
Unexecuted instantiation: SparcMapping.c:CountLeadingZeros_32
Unexecuted instantiation: XCoreDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: XCoreInstPrinter.c:CountLeadingZeros_32
Unexecuted instantiation: M68KDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: TMS320C64xDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountLeadingZeros_32
Unexecuted instantiation: RISCVDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: TriCoreDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: HPPADisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: XtensaMapping.c:CountLeadingZeros_32
Unexecuted instantiation: ARMDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: ARMDisassemblerExtension.c:CountLeadingZeros_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountLeadingZeros_32
AArch64InstPrinter.c:CountLeadingZeros_32
Line
Count
Source
97
66.6k
static inline unsigned CountLeadingZeros_32(uint32_t Value) {
98
66.6k
  unsigned Count; // result
99
66.6k
#if __GNUC__ >= 4
100
  // PowerPC is defined for __builtin_clz(0)
101
66.6k
#if !defined(__ppc__) && !defined(__ppc64__)
102
66.6k
  if (!Value) return 32;
103
66.5k
#endif
104
66.5k
  Count = __builtin_clz(Value);
105
#else
106
  unsigned Shift;
107
  if (!Value) return 32;
108
  Count = 0;
109
  // bisection method for count leading zeros
110
  for (Shift = 32 >> 1; Shift; Shift >>= 1) {
111
    uint32_t Tmp = Value >> Shift;
112
    if (Tmp) {
113
      Value = Tmp;
114
    } else {
115
      Count |= Shift;
116
    }
117
  }
118
#endif
119
66.5k
  return Count;
120
66.6k
}
Unexecuted instantiation: MipsDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: PPCDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: PPCInstPrinter.c:CountLeadingZeros_32
Unexecuted instantiation: SparcDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: SparcDisassemblerExtension.c:CountLeadingZeros_32
Unexecuted instantiation: SparcInstPrinter.c:CountLeadingZeros_32
Unexecuted instantiation: SystemZDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: SystemZInstPrinter.c:CountLeadingZeros_32
Unexecuted instantiation: TriCoreInstPrinter.c:CountLeadingZeros_32
Unexecuted instantiation: LoongArchDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: XtensaDisassembler.c:CountLeadingZeros_32
Unexecuted instantiation: XtensaInstPrinter.c:CountLeadingZeros_32
Unexecuted instantiation: ARCDisassembler.c:CountLeadingZeros_32
121
122
/// CountLeadingOnes_32 - this function performs the operation of
123
/// counting the number of ones from the most significant bit to the first zero
124
/// bit.  Ex. CountLeadingOnes_32(0xFF0FFF00) == 8.
125
/// Returns 32 if the word is all ones.
126
0
static inline unsigned CountLeadingOnes_32(uint32_t Value) {
127
0
  return CountLeadingZeros_32(~Value);
128
0
}
Unexecuted instantiation: SparcModule.c:CountLeadingOnes_32
Unexecuted instantiation: ARMMapping.c:CountLeadingOnes_32
Unexecuted instantiation: AArch64Mapping.c:CountLeadingOnes_32
Unexecuted instantiation: PPCMapping.c:CountLeadingOnes_32
Unexecuted instantiation: SparcMapping.c:CountLeadingOnes_32
Unexecuted instantiation: XCoreDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: XCoreInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: M68KDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: TMS320C64xDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: RISCVDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: TriCoreDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: HPPADisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: XtensaMapping.c:CountLeadingOnes_32
Unexecuted instantiation: ARMDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: ARMDisassemblerExtension.c:CountLeadingOnes_32
Unexecuted instantiation: ARMInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: AArch64Disassembler.c:CountLeadingOnes_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountLeadingOnes_32
Unexecuted instantiation: MipsDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: PPCDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: PPCInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: SparcDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: SparcDisassemblerExtension.c:CountLeadingOnes_32
Unexecuted instantiation: SparcInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: SystemZDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: SystemZInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: TriCoreInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: LoongArchDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: XtensaDisassembler.c:CountLeadingOnes_32
Unexecuted instantiation: XtensaInstPrinter.c:CountLeadingOnes_32
Unexecuted instantiation: ARCDisassembler.c:CountLeadingOnes_32
129
130
/// CountLeadingZeros_64 - This function performs the platform optimal form
131
/// of counting the number of zeros from the most significant bit to the first
132
/// one bit (64 bit edition.)
133
/// Returns 64 if the word is zero.
134
582
static inline unsigned CountLeadingZeros_64(uint64_t Value) {
135
582
  unsigned Count; // result
136
582
#if __GNUC__ >= 4
137
  // PowerPC is defined for __builtin_clzll(0)
138
582
#if !defined(__ppc__) && !defined(__ppc64__)
139
582
  if (!Value) return 64;
140
582
#endif
141
582
  Count = __builtin_clzll(Value);
142
#else
143
#ifndef _MSC_VER
144
  unsigned Shift;
145
  if (sizeof(long) == sizeof(int64_t))
146
  {
147
    if (!Value) return 64;
148
    Count = 0;
149
    // bisection method for count leading zeros
150
    for (Shift = 64 >> 1; Shift; Shift >>= 1) {
151
      uint64_t Tmp = Value >> Shift;
152
      if (Tmp) {
153
        Value = Tmp;
154
      } else {
155
        Count |= Shift;
156
      }
157
    }
158
  }
159
  else
160
#endif
161
  {
162
    // get hi portion
163
    uint32_t Hi = Hi_32(Value);
164
165
    // if some bits in hi portion
166
    if (Hi) {
167
      // leading zeros in hi portion plus all bits in lo portion
168
      Count = CountLeadingZeros_32(Hi);
169
    } else {
170
      // get lo portion
171
      uint32_t Lo = Lo_32(Value);
172
      // same as 32 bit value
173
      Count = CountLeadingZeros_32(Lo)+32;
174
    }
175
  }
176
#endif
177
582
  return Count;
178
582
}
Unexecuted instantiation: SparcModule.c:CountLeadingZeros_64
Unexecuted instantiation: ARMMapping.c:CountLeadingZeros_64
Unexecuted instantiation: AArch64Mapping.c:CountLeadingZeros_64
Unexecuted instantiation: PPCMapping.c:CountLeadingZeros_64
Unexecuted instantiation: SparcMapping.c:CountLeadingZeros_64
Unexecuted instantiation: XCoreDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: XCoreInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: M68KDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: TMS320C64xDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: RISCVDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: TriCoreDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: HPPADisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: XtensaMapping.c:CountLeadingZeros_64
Unexecuted instantiation: ARMDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: ARMDisassemblerExtension.c:CountLeadingZeros_64
Unexecuted instantiation: ARMInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: AArch64Disassembler.c:CountLeadingZeros_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountLeadingZeros_64
AArch64InstPrinter.c:CountLeadingZeros_64
Line
Count
Source
134
582
static inline unsigned CountLeadingZeros_64(uint64_t Value) {
135
582
  unsigned Count; // result
136
582
#if __GNUC__ >= 4
137
  // PowerPC is defined for __builtin_clzll(0)
138
582
#if !defined(__ppc__) && !defined(__ppc64__)
139
582
  if (!Value) return 64;
140
582
#endif
141
582
  Count = __builtin_clzll(Value);
142
#else
143
#ifndef _MSC_VER
144
  unsigned Shift;
145
  if (sizeof(long) == sizeof(int64_t))
146
  {
147
    if (!Value) return 64;
148
    Count = 0;
149
    // bisection method for count leading zeros
150
    for (Shift = 64 >> 1; Shift; Shift >>= 1) {
151
      uint64_t Tmp = Value >> Shift;
152
      if (Tmp) {
153
        Value = Tmp;
154
      } else {
155
        Count |= Shift;
156
      }
157
    }
158
  }
159
  else
160
#endif
161
  {
162
    // get hi portion
163
    uint32_t Hi = Hi_32(Value);
164
165
    // if some bits in hi portion
166
    if (Hi) {
167
      // leading zeros in hi portion plus all bits in lo portion
168
      Count = CountLeadingZeros_32(Hi);
169
    } else {
170
      // get lo portion
171
      uint32_t Lo = Lo_32(Value);
172
      // same as 32 bit value
173
      Count = CountLeadingZeros_32(Lo)+32;
174
    }
175
  }
176
#endif
177
582
  return Count;
178
582
}
Unexecuted instantiation: MipsDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: PPCDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: PPCInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: SparcDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: SparcDisassemblerExtension.c:CountLeadingZeros_64
Unexecuted instantiation: SparcInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: SystemZDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: SystemZInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: TriCoreInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: LoongArchDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: XtensaDisassembler.c:CountLeadingZeros_64
Unexecuted instantiation: XtensaInstPrinter.c:CountLeadingZeros_64
Unexecuted instantiation: ARCDisassembler.c:CountLeadingZeros_64
179
180
/// CountLeadingOnes_64 - This function performs the operation
181
/// of counting the number of ones from the most significant bit to the first
182
/// zero bit (64 bit edition.)
183
/// Returns 64 if the word is all ones.
184
582
static inline unsigned CountLeadingOnes_64(uint64_t Value) {
185
582
  return CountLeadingZeros_64(~Value);
186
582
}
Unexecuted instantiation: SparcModule.c:CountLeadingOnes_64
Unexecuted instantiation: ARMMapping.c:CountLeadingOnes_64
Unexecuted instantiation: AArch64Mapping.c:CountLeadingOnes_64
Unexecuted instantiation: PPCMapping.c:CountLeadingOnes_64
Unexecuted instantiation: SparcMapping.c:CountLeadingOnes_64
Unexecuted instantiation: XCoreDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: XCoreInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: M68KDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: TMS320C64xDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: RISCVDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: TriCoreDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: HPPADisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: XtensaMapping.c:CountLeadingOnes_64
Unexecuted instantiation: ARMDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: ARMDisassemblerExtension.c:CountLeadingOnes_64
Unexecuted instantiation: ARMInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: AArch64Disassembler.c:CountLeadingOnes_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountLeadingOnes_64
AArch64InstPrinter.c:CountLeadingOnes_64
Line
Count
Source
184
582
static inline unsigned CountLeadingOnes_64(uint64_t Value) {
185
582
  return CountLeadingZeros_64(~Value);
186
582
}
Unexecuted instantiation: MipsDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: PPCDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: PPCInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: SparcDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: SparcDisassemblerExtension.c:CountLeadingOnes_64
Unexecuted instantiation: SparcInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: SystemZDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: SystemZInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: TriCoreInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: LoongArchDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: XtensaDisassembler.c:CountLeadingOnes_64
Unexecuted instantiation: XtensaInstPrinter.c:CountLeadingOnes_64
Unexecuted instantiation: ARCDisassembler.c:CountLeadingOnes_64
187
188
/// CountTrailingZeros_32 - this function performs the platform optimal form of
189
/// counting the number of zeros from the least significant bit to the first one
190
/// bit.  Ex. CountTrailingZeros_32(0xFF00FF00) == 8.
191
/// Returns 32 if the word is zero.
192
70.3k
static inline unsigned CountTrailingZeros_32(uint32_t Value) {
193
70.3k
#if __GNUC__ >= 4
194
70.3k
  return Value ? __builtin_ctz(Value) : 32;
195
#else
196
  static const unsigned Mod37BitPosition[] = {
197
    32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13,
198
    4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9,
199
    5, 20, 8, 19, 18
200
  };
201
  // Replace "-Value" by "1+~Value" in the following commented code to avoid 
202
  // MSVC warning C4146
203
  //    return Mod37BitPosition[(-Value & Value) % 37];
204
  return Mod37BitPosition[((1 + ~Value) & Value) % 37];
205
#endif
206
70.3k
}
Unexecuted instantiation: SparcModule.c:CountTrailingZeros_32
ARMMapping.c:CountTrailingZeros_32
Line
Count
Source
192
26.3k
static inline unsigned CountTrailingZeros_32(uint32_t Value) {
193
26.3k
#if __GNUC__ >= 4
194
26.3k
  return Value ? __builtin_ctz(Value) : 32;
195
#else
196
  static const unsigned Mod37BitPosition[] = {
197
    32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13,
198
    4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9,
199
    5, 20, 8, 19, 18
200
  };
201
  // Replace "-Value" by "1+~Value" in the following commented code to avoid 
202
  // MSVC warning C4146
203
  //    return Mod37BitPosition[(-Value & Value) % 37];
204
  return Mod37BitPosition[((1 + ~Value) & Value) % 37];
205
#endif
206
26.3k
}
Unexecuted instantiation: AArch64Mapping.c:CountTrailingZeros_32
Unexecuted instantiation: PPCMapping.c:CountTrailingZeros_32
Unexecuted instantiation: SparcMapping.c:CountTrailingZeros_32
Unexecuted instantiation: XCoreDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: XCoreInstPrinter.c:CountTrailingZeros_32
Unexecuted instantiation: M68KDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: TMS320C64xDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountTrailingZeros_32
Unexecuted instantiation: RISCVDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: TriCoreDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: HPPADisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: XtensaMapping.c:CountTrailingZeros_32
Unexecuted instantiation: ARMDisassemblerExtension.c:CountTrailingZeros_32
ARMInstPrinter.c:CountTrailingZeros_32
Line
Count
Source
192
43.8k
static inline unsigned CountTrailingZeros_32(uint32_t Value) {
193
43.8k
#if __GNUC__ >= 4
194
43.8k
  return Value ? __builtin_ctz(Value) : 32;
195
#else
196
  static const unsigned Mod37BitPosition[] = {
197
    32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13,
198
    4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9,
199
    5, 20, 8, 19, 18
200
  };
201
  // Replace "-Value" by "1+~Value" in the following commented code to avoid 
202
  // MSVC warning C4146
203
  //    return Mod37BitPosition[(-Value & Value) % 37];
204
  return Mod37BitPosition[((1 + ~Value) & Value) % 37];
205
#endif
206
43.8k
}
Unexecuted instantiation: AArch64Disassembler.c:CountTrailingZeros_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountTrailingZeros_32
Unexecuted instantiation: MipsDisassembler.c:CountTrailingZeros_32
PPCDisassembler.c:CountTrailingZeros_32
Line
Count
Source
192
143
static inline unsigned CountTrailingZeros_32(uint32_t Value) {
193
143
#if __GNUC__ >= 4
194
143
  return Value ? __builtin_ctz(Value) : 32;
195
#else
196
  static const unsigned Mod37BitPosition[] = {
197
    32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13,
198
    4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9,
199
    5, 20, 8, 19, 18
200
  };
201
  // Replace "-Value" by "1+~Value" in the following commented code to avoid 
202
  // MSVC warning C4146
203
  //    return Mod37BitPosition[(-Value & Value) % 37];
204
  return Mod37BitPosition[((1 + ~Value) & Value) % 37];
205
#endif
206
143
}
Unexecuted instantiation: PPCInstPrinter.c:CountTrailingZeros_32
Unexecuted instantiation: SparcDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: SparcDisassemblerExtension.c:CountTrailingZeros_32
Unexecuted instantiation: SparcInstPrinter.c:CountTrailingZeros_32
Unexecuted instantiation: SystemZDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: SystemZInstPrinter.c:CountTrailingZeros_32
Unexecuted instantiation: TriCoreInstPrinter.c:CountTrailingZeros_32
Unexecuted instantiation: LoongArchDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: XtensaDisassembler.c:CountTrailingZeros_32
Unexecuted instantiation: XtensaInstPrinter.c:CountTrailingZeros_32
Unexecuted instantiation: ARCDisassembler.c:CountTrailingZeros_32
207
208
// Count trailing zeros as in:
209
// https://graphics.stanford.edu/~seander/bithacks.html#ZerosOnRightParallel
210
19.1k
static inline unsigned CountTrailingZeros_8(uint8_t Value) {
211
19.1k
  uint8_t c = 8;
212
19.1k
  Value &= -((int8_t)Value);
213
19.1k
  if (Value) c--;
214
19.1k
  if (Value & 0x0F) c -= 4;
215
19.1k
  if (Value & 0x33) c -= 2;
216
19.1k
  if (Value & 0x55) c -= 1;
217
19.1k
  return c;
218
19.1k
}
Unexecuted instantiation: SparcModule.c:CountTrailingZeros_8
Unexecuted instantiation: ARMMapping.c:CountTrailingZeros_8
Unexecuted instantiation: AArch64Mapping.c:CountTrailingZeros_8
Unexecuted instantiation: PPCMapping.c:CountTrailingZeros_8
Unexecuted instantiation: SparcMapping.c:CountTrailingZeros_8
Unexecuted instantiation: XCoreDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: XCoreInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: M68KDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: TMS320C64xDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: RISCVDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: TriCoreDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: HPPADisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: XtensaMapping.c:CountTrailingZeros_8
Unexecuted instantiation: ARMDisassembler.c:CountTrailingZeros_8
ARMDisassemblerExtension.c:CountTrailingZeros_8
Line
Count
Source
210
19.1k
static inline unsigned CountTrailingZeros_8(uint8_t Value) {
211
19.1k
  uint8_t c = 8;
212
19.1k
  Value &= -((int8_t)Value);
213
19.1k
  if (Value) c--;
214
19.1k
  if (Value & 0x0F) c -= 4;
215
19.1k
  if (Value & 0x33) c -= 2;
216
19.1k
  if (Value & 0x55) c -= 1;
217
19.1k
  return c;
218
19.1k
}
Unexecuted instantiation: ARMInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: AArch64Disassembler.c:CountTrailingZeros_8
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountTrailingZeros_8
Unexecuted instantiation: AArch64InstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: MipsDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: PPCDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: PPCInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: SparcDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: SparcDisassemblerExtension.c:CountTrailingZeros_8
Unexecuted instantiation: SparcInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: SystemZDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: SystemZInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: TriCoreInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: LoongArchDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: XtensaDisassembler.c:CountTrailingZeros_8
Unexecuted instantiation: XtensaInstPrinter.c:CountTrailingZeros_8
Unexecuted instantiation: ARCDisassembler.c:CountTrailingZeros_8
219
220
/// CountTrailingOnes_32 - this function performs the operation of
221
/// counting the number of ones from the least significant bit to the first zero
222
/// bit.  Ex. CountTrailingOnes_32(0x00FF00FF) == 8.
223
/// Returns 32 if the word is all ones.
224
0
static inline unsigned CountTrailingOnes_32(uint32_t Value) {
225
0
  return CountTrailingZeros_32(~Value);
226
0
}
Unexecuted instantiation: SparcModule.c:CountTrailingOnes_32
Unexecuted instantiation: ARMMapping.c:CountTrailingOnes_32
Unexecuted instantiation: AArch64Mapping.c:CountTrailingOnes_32
Unexecuted instantiation: PPCMapping.c:CountTrailingOnes_32
Unexecuted instantiation: SparcMapping.c:CountTrailingOnes_32
Unexecuted instantiation: XCoreDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: XCoreInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: M68KDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: TMS320C64xDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: RISCVDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: TriCoreDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: HPPADisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: XtensaMapping.c:CountTrailingOnes_32
Unexecuted instantiation: ARMDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: ARMDisassemblerExtension.c:CountTrailingOnes_32
Unexecuted instantiation: ARMInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: AArch64Disassembler.c:CountTrailingOnes_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountTrailingOnes_32
Unexecuted instantiation: MipsDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: PPCDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: PPCInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: SparcDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: SparcDisassemblerExtension.c:CountTrailingOnes_32
Unexecuted instantiation: SparcInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: SystemZDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: SystemZInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: TriCoreInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: LoongArchDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: XtensaDisassembler.c:CountTrailingOnes_32
Unexecuted instantiation: XtensaInstPrinter.c:CountTrailingOnes_32
Unexecuted instantiation: ARCDisassembler.c:CountTrailingOnes_32
227
228
/// CountTrailingZeros_64 - This function performs the platform optimal form
229
/// of counting the number of zeros from the least significant bit to the first
230
/// one bit (64 bit edition.)
231
/// Returns 64 if the word is zero.
232
3.11k
static inline unsigned CountTrailingZeros_64(uint64_t Value) {
233
3.11k
#if __GNUC__ >= 4
234
3.11k
  return Value ? __builtin_ctzll(Value) : 64;
235
#else
236
  static const unsigned Mod67Position[] = {
237
    64, 0, 1, 39, 2, 15, 40, 23, 3, 12, 16, 59, 41, 19, 24, 54,
238
    4, 64, 13, 10, 17, 62, 60, 28, 42, 30, 20, 51, 25, 44, 55,
239
    47, 5, 32, 65, 38, 14, 22, 11, 58, 18, 53, 63, 9, 61, 27,
240
    29, 50, 43, 46, 31, 37, 21, 57, 52, 8, 26, 49, 45, 36, 56,
241
    7, 48, 35, 6, 34, 33, 0
242
  };
243
  // Replace "-Value" by "1+~Value" in the following commented code to avoid 
244
  // MSVC warning C4146
245
  //    return Mod67Position[(-Value & Value) % 67];
246
  return Mod67Position[((1 + ~Value) & Value) % 67];
247
#endif
248
3.11k
}
Unexecuted instantiation: SparcModule.c:CountTrailingZeros_64
Unexecuted instantiation: ARMMapping.c:CountTrailingZeros_64
Unexecuted instantiation: AArch64Mapping.c:CountTrailingZeros_64
Unexecuted instantiation: PPCMapping.c:CountTrailingZeros_64
Unexecuted instantiation: SparcMapping.c:CountTrailingZeros_64
Unexecuted instantiation: XCoreDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: XCoreInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: M68KDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: TMS320C64xDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: RISCVDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: TriCoreDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: HPPADisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: XtensaMapping.c:CountTrailingZeros_64
Unexecuted instantiation: ARMDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: ARMDisassemblerExtension.c:CountTrailingZeros_64
Unexecuted instantiation: ARMInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: AArch64Disassembler.c:CountTrailingZeros_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountTrailingZeros_64
AArch64InstPrinter.c:CountTrailingZeros_64
Line
Count
Source
232
3.11k
static inline unsigned CountTrailingZeros_64(uint64_t Value) {
233
3.11k
#if __GNUC__ >= 4
234
3.11k
  return Value ? __builtin_ctzll(Value) : 64;
235
#else
236
  static const unsigned Mod67Position[] = {
237
    64, 0, 1, 39, 2, 15, 40, 23, 3, 12, 16, 59, 41, 19, 24, 54,
238
    4, 64, 13, 10, 17, 62, 60, 28, 42, 30, 20, 51, 25, 44, 55,
239
    47, 5, 32, 65, 38, 14, 22, 11, 58, 18, 53, 63, 9, 61, 27,
240
    29, 50, 43, 46, 31, 37, 21, 57, 52, 8, 26, 49, 45, 36, 56,
241
    7, 48, 35, 6, 34, 33, 0
242
  };
243
  // Replace "-Value" by "1+~Value" in the following commented code to avoid 
244
  // MSVC warning C4146
245
  //    return Mod67Position[(-Value & Value) % 67];
246
  return Mod67Position[((1 + ~Value) & Value) % 67];
247
#endif
248
3.11k
}
Unexecuted instantiation: MipsDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: PPCInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: SparcDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: SparcDisassemblerExtension.c:CountTrailingZeros_64
Unexecuted instantiation: SparcInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: SystemZDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: SystemZInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: TriCoreInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: LoongArchDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: XtensaDisassembler.c:CountTrailingZeros_64
Unexecuted instantiation: XtensaInstPrinter.c:CountTrailingZeros_64
Unexecuted instantiation: ARCDisassembler.c:CountTrailingZeros_64
249
250
/// CountTrailingOnes_64 - This function performs the operation
251
/// of counting the number of ones from the least significant bit to the first
252
/// zero bit (64 bit edition.)
253
/// Returns 64 if the word is all ones.
254
1.84k
static inline unsigned CountTrailingOnes_64(uint64_t Value) {
255
1.84k
  return CountTrailingZeros_64(~Value);
256
1.84k
}
Unexecuted instantiation: SparcModule.c:CountTrailingOnes_64
Unexecuted instantiation: ARMMapping.c:CountTrailingOnes_64
Unexecuted instantiation: AArch64Mapping.c:CountTrailingOnes_64
Unexecuted instantiation: PPCMapping.c:CountTrailingOnes_64
Unexecuted instantiation: SparcMapping.c:CountTrailingOnes_64
Unexecuted instantiation: XCoreDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: XCoreInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: M68KDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: TMS320C64xDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: RISCVDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: TriCoreDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: HPPADisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: XtensaMapping.c:CountTrailingOnes_64
Unexecuted instantiation: ARMDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: ARMDisassemblerExtension.c:CountTrailingOnes_64
Unexecuted instantiation: ARMInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: AArch64Disassembler.c:CountTrailingOnes_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountTrailingOnes_64
AArch64InstPrinter.c:CountTrailingOnes_64
Line
Count
Source
254
1.84k
static inline unsigned CountTrailingOnes_64(uint64_t Value) {
255
1.84k
  return CountTrailingZeros_64(~Value);
256
1.84k
}
Unexecuted instantiation: MipsDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: PPCDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: PPCInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: SparcDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: SparcDisassemblerExtension.c:CountTrailingOnes_64
Unexecuted instantiation: SparcInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: SystemZDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: SystemZInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: TriCoreInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: LoongArchDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: XtensaDisassembler.c:CountTrailingOnes_64
Unexecuted instantiation: XtensaInstPrinter.c:CountTrailingOnes_64
Unexecuted instantiation: ARCDisassembler.c:CountTrailingOnes_64
257
258
/// CountPopulation_32 - this function counts the number of set bits in a value.
259
/// Ex. CountPopulation(0xF000F000) = 8
260
/// Returns 0 if the word is zero.
261
0
static inline unsigned CountPopulation_32(uint32_t Value) {
262
0
#if __GNUC__ >= 4
263
0
  return __builtin_popcount(Value);
264
0
#else
265
0
  uint32_t v = Value - ((Value >> 1) & 0x55555555);
266
0
  v = (v & 0x33333333) + ((v >> 2) & 0x33333333);
267
0
  return (((v + (v >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
268
0
#endif
269
0
}
Unexecuted instantiation: SparcModule.c:CountPopulation_32
Unexecuted instantiation: ARMMapping.c:CountPopulation_32
Unexecuted instantiation: AArch64Mapping.c:CountPopulation_32
Unexecuted instantiation: PPCMapping.c:CountPopulation_32
Unexecuted instantiation: SparcMapping.c:CountPopulation_32
Unexecuted instantiation: XCoreDisassembler.c:CountPopulation_32
Unexecuted instantiation: XCoreInstPrinter.c:CountPopulation_32
Unexecuted instantiation: M68KDisassembler.c:CountPopulation_32
Unexecuted instantiation: TMS320C64xDisassembler.c:CountPopulation_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountPopulation_32
Unexecuted instantiation: RISCVDisassembler.c:CountPopulation_32
Unexecuted instantiation: TriCoreDisassembler.c:CountPopulation_32
Unexecuted instantiation: HPPADisassembler.c:CountPopulation_32
Unexecuted instantiation: XtensaMapping.c:CountPopulation_32
Unexecuted instantiation: ARMDisassembler.c:CountPopulation_32
Unexecuted instantiation: ARMDisassemblerExtension.c:CountPopulation_32
Unexecuted instantiation: ARMInstPrinter.c:CountPopulation_32
Unexecuted instantiation: AArch64Disassembler.c:CountPopulation_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountPopulation_32
Unexecuted instantiation: AArch64InstPrinter.c:CountPopulation_32
Unexecuted instantiation: MipsDisassembler.c:CountPopulation_32
Unexecuted instantiation: PPCDisassembler.c:CountPopulation_32
Unexecuted instantiation: PPCInstPrinter.c:CountPopulation_32
Unexecuted instantiation: SparcDisassembler.c:CountPopulation_32
Unexecuted instantiation: SparcDisassemblerExtension.c:CountPopulation_32
Unexecuted instantiation: SparcInstPrinter.c:CountPopulation_32
Unexecuted instantiation: SystemZDisassembler.c:CountPopulation_32
Unexecuted instantiation: SystemZInstPrinter.c:CountPopulation_32
Unexecuted instantiation: TriCoreInstPrinter.c:CountPopulation_32
Unexecuted instantiation: LoongArchDisassembler.c:CountPopulation_32
Unexecuted instantiation: XtensaDisassembler.c:CountPopulation_32
Unexecuted instantiation: XtensaInstPrinter.c:CountPopulation_32
Unexecuted instantiation: ARCDisassembler.c:CountPopulation_32
270
271
/// CountPopulation_64 - this function counts the number of set bits in a value,
272
/// (64 bit edition.)
273
0
static inline unsigned CountPopulation_64(uint64_t Value) {
274
0
#if __GNUC__ >= 4
275
0
  return __builtin_popcountll(Value);
276
0
#else
277
0
  uint64_t v = Value - ((Value >> 1) & 0x5555555555555555ULL);
278
0
  v = (v & 0x3333333333333333ULL) + ((v >> 2) & 0x3333333333333333ULL);
279
0
  v = (v + (v >> 4)) & 0x0F0F0F0F0F0F0F0FULL;
280
0
  return (uint64_t)((v * 0x0101010101010101ULL) >> 56);
281
0
#endif
282
0
}
Unexecuted instantiation: SparcModule.c:CountPopulation_64
Unexecuted instantiation: ARMMapping.c:CountPopulation_64
Unexecuted instantiation: AArch64Mapping.c:CountPopulation_64
Unexecuted instantiation: PPCMapping.c:CountPopulation_64
Unexecuted instantiation: SparcMapping.c:CountPopulation_64
Unexecuted instantiation: XCoreDisassembler.c:CountPopulation_64
Unexecuted instantiation: XCoreInstPrinter.c:CountPopulation_64
Unexecuted instantiation: M68KDisassembler.c:CountPopulation_64
Unexecuted instantiation: TMS320C64xDisassembler.c:CountPopulation_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:CountPopulation_64
Unexecuted instantiation: RISCVDisassembler.c:CountPopulation_64
Unexecuted instantiation: TriCoreDisassembler.c:CountPopulation_64
Unexecuted instantiation: HPPADisassembler.c:CountPopulation_64
Unexecuted instantiation: XtensaMapping.c:CountPopulation_64
Unexecuted instantiation: ARMDisassembler.c:CountPopulation_64
Unexecuted instantiation: ARMDisassemblerExtension.c:CountPopulation_64
Unexecuted instantiation: ARMInstPrinter.c:CountPopulation_64
Unexecuted instantiation: AArch64Disassembler.c:CountPopulation_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:CountPopulation_64
Unexecuted instantiation: AArch64InstPrinter.c:CountPopulation_64
Unexecuted instantiation: MipsDisassembler.c:CountPopulation_64
Unexecuted instantiation: PPCDisassembler.c:CountPopulation_64
Unexecuted instantiation: PPCInstPrinter.c:CountPopulation_64
Unexecuted instantiation: SparcDisassembler.c:CountPopulation_64
Unexecuted instantiation: SparcDisassemblerExtension.c:CountPopulation_64
Unexecuted instantiation: SparcInstPrinter.c:CountPopulation_64
Unexecuted instantiation: SystemZDisassembler.c:CountPopulation_64
Unexecuted instantiation: SystemZInstPrinter.c:CountPopulation_64
Unexecuted instantiation: TriCoreInstPrinter.c:CountPopulation_64
Unexecuted instantiation: LoongArchDisassembler.c:CountPopulation_64
Unexecuted instantiation: XtensaDisassembler.c:CountPopulation_64
Unexecuted instantiation: XtensaInstPrinter.c:CountPopulation_64
Unexecuted instantiation: ARCDisassembler.c:CountPopulation_64
283
284
/// Log2_32 - This function returns the floor log base 2 of the specified value,
285
/// UINT_MAX if the value is zero. (32 bit edition.)
286
/// Ex. Log2_32(32) == 5, Log2_32(1) == 0, Log2_32(0) == -1, Log2_32(6) == 2
287
15.2k
static inline unsigned Log2_32(uint32_t Value) {
288
15.2k
  if (Value == 0) {
289
0
    return UINT_MAX;
290
0
  }
291
15.2k
  return 31 - CountLeadingZeros_32(Value);
292
15.2k
}
Unexecuted instantiation: SparcModule.c:Log2_32
Unexecuted instantiation: ARMMapping.c:Log2_32
AArch64Mapping.c:Log2_32
Line
Count
Source
287
7.64k
static inline unsigned Log2_32(uint32_t Value) {
288
7.64k
  if (Value == 0) {
289
0
    return UINT_MAX;
290
0
  }
291
7.64k
  return 31 - CountLeadingZeros_32(Value);
292
7.64k
}
Unexecuted instantiation: PPCMapping.c:Log2_32
Unexecuted instantiation: SparcMapping.c:Log2_32
Unexecuted instantiation: XCoreDisassembler.c:Log2_32
Unexecuted instantiation: XCoreInstPrinter.c:Log2_32
Unexecuted instantiation: M68KDisassembler.c:Log2_32
Unexecuted instantiation: TMS320C64xDisassembler.c:Log2_32
Unexecuted instantiation: TMS320C64xInstPrinter.c:Log2_32
Unexecuted instantiation: RISCVDisassembler.c:Log2_32
Unexecuted instantiation: TriCoreDisassembler.c:Log2_32
Unexecuted instantiation: HPPADisassembler.c:Log2_32
Unexecuted instantiation: XtensaMapping.c:Log2_32
Unexecuted instantiation: ARMDisassembler.c:Log2_32
Unexecuted instantiation: ARMDisassemblerExtension.c:Log2_32
Unexecuted instantiation: ARMInstPrinter.c:Log2_32
Unexecuted instantiation: AArch64Disassembler.c:Log2_32
Unexecuted instantiation: AArch64DisassemblerExtension.c:Log2_32
AArch64InstPrinter.c:Log2_32
Line
Count
Source
287
7.64k
static inline unsigned Log2_32(uint32_t Value) {
288
7.64k
  if (Value == 0) {
289
0
    return UINT_MAX;
290
0
  }
291
7.64k
  return 31 - CountLeadingZeros_32(Value);
292
7.64k
}
Unexecuted instantiation: MipsDisassembler.c:Log2_32
Unexecuted instantiation: PPCDisassembler.c:Log2_32
Unexecuted instantiation: PPCInstPrinter.c:Log2_32
Unexecuted instantiation: SparcDisassembler.c:Log2_32
Unexecuted instantiation: SparcDisassemblerExtension.c:Log2_32
Unexecuted instantiation: SparcInstPrinter.c:Log2_32
Unexecuted instantiation: SystemZDisassembler.c:Log2_32
Unexecuted instantiation: SystemZInstPrinter.c:Log2_32
Unexecuted instantiation: TriCoreInstPrinter.c:Log2_32
Unexecuted instantiation: LoongArchDisassembler.c:Log2_32
Unexecuted instantiation: XtensaDisassembler.c:Log2_32
Unexecuted instantiation: XtensaInstPrinter.c:Log2_32
Unexecuted instantiation: ARCDisassembler.c:Log2_32
293
294
/// Log2_64 - This function returns the floor log base 2 of the specified value,
295
/// UINT_MAX if the value is zero. (64 bit edition.)
296
0
static inline unsigned Log2_64(uint64_t Value) {
297
0
  if (Value == 0) {
298
0
    return UINT32_MAX;
299
0
  }
300
0
  return 63 - CountLeadingZeros_64(Value);
301
0
}
Unexecuted instantiation: SparcModule.c:Log2_64
Unexecuted instantiation: ARMMapping.c:Log2_64
Unexecuted instantiation: AArch64Mapping.c:Log2_64
Unexecuted instantiation: PPCMapping.c:Log2_64
Unexecuted instantiation: SparcMapping.c:Log2_64
Unexecuted instantiation: XCoreDisassembler.c:Log2_64
Unexecuted instantiation: XCoreInstPrinter.c:Log2_64
Unexecuted instantiation: M68KDisassembler.c:Log2_64
Unexecuted instantiation: TMS320C64xDisassembler.c:Log2_64
Unexecuted instantiation: TMS320C64xInstPrinter.c:Log2_64
Unexecuted instantiation: RISCVDisassembler.c:Log2_64
Unexecuted instantiation: TriCoreDisassembler.c:Log2_64
Unexecuted instantiation: HPPADisassembler.c:Log2_64
Unexecuted instantiation: XtensaMapping.c:Log2_64
Unexecuted instantiation: ARMDisassembler.c:Log2_64
Unexecuted instantiation: ARMDisassemblerExtension.c:Log2_64
Unexecuted instantiation: ARMInstPrinter.c:Log2_64
Unexecuted instantiation: AArch64Disassembler.c:Log2_64
Unexecuted instantiation: AArch64DisassemblerExtension.c:Log2_64
Unexecuted instantiation: AArch64InstPrinter.c:Log2_64
Unexecuted instantiation: MipsDisassembler.c:Log2_64
Unexecuted instantiation: PPCDisassembler.c:Log2_64
Unexecuted instantiation: PPCInstPrinter.c:Log2_64
Unexecuted instantiation: SparcDisassembler.c:Log2_64
Unexecuted instantiation: SparcDisassemblerExtension.c:Log2_64
Unexecuted instantiation: SparcInstPrinter.c:Log2_64
Unexecuted instantiation: SystemZDisassembler.c:Log2_64
Unexecuted instantiation: SystemZInstPrinter.c:Log2_64
Unexecuted instantiation: TriCoreInstPrinter.c:Log2_64
Unexecuted instantiation: LoongArchDisassembler.c:Log2_64
Unexecuted instantiation: XtensaDisassembler.c:Log2_64
Unexecuted instantiation: XtensaInstPrinter.c:Log2_64
Unexecuted instantiation: ARCDisassembler.c:Log2_64
302
303
/// Log2_32_Ceil - This function returns the ceil log base 2 of the specified
304
/// value, 32 if the value is zero. (32 bit edition).
305
/// Ex. Log2_32_Ceil(32) == 5, Log2_32_Ceil(1) == 0, Log2_32_Ceil(6) == 3
306
0
static inline unsigned Log2_32_Ceil(uint32_t Value) {
307
0
  return 32-CountLeadingZeros_32(Value-1);
308
0
}
Unexecuted instantiation: SparcModule.c:Log2_32_Ceil
Unexecuted instantiation: ARMMapping.c:Log2_32_Ceil
Unexecuted instantiation: AArch64Mapping.c:Log2_32_Ceil
Unexecuted instantiation: PPCMapping.c:Log2_32_Ceil
Unexecuted instantiation: SparcMapping.c:Log2_32_Ceil
Unexecuted instantiation: XCoreDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: XCoreInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: M68KDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: TMS320C64xDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: TMS320C64xInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: RISCVDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: TriCoreDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: HPPADisassembler.c:Log2_32_Ceil
Unexecuted instantiation: XtensaMapping.c:Log2_32_Ceil
Unexecuted instantiation: ARMDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: ARMDisassemblerExtension.c:Log2_32_Ceil
Unexecuted instantiation: ARMInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: AArch64Disassembler.c:Log2_32_Ceil
Unexecuted instantiation: AArch64DisassemblerExtension.c:Log2_32_Ceil
Unexecuted instantiation: AArch64InstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: MipsDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: PPCDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: PPCInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: SparcDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: SparcDisassemblerExtension.c:Log2_32_Ceil
Unexecuted instantiation: SparcInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: SystemZDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: SystemZInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: TriCoreInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: LoongArchDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: XtensaDisassembler.c:Log2_32_Ceil
Unexecuted instantiation: XtensaInstPrinter.c:Log2_32_Ceil
Unexecuted instantiation: ARCDisassembler.c:Log2_32_Ceil
309
310
/// Log2_64_Ceil - This function returns the ceil log base 2 of the specified
311
/// value, 64 if the value is zero. (64 bit edition.)
312
0
static inline unsigned Log2_64_Ceil(uint64_t Value) {
313
0
  return 64-CountLeadingZeros_64(Value-1);
314
0
}
Unexecuted instantiation: SparcModule.c:Log2_64_Ceil
Unexecuted instantiation: ARMMapping.c:Log2_64_Ceil
Unexecuted instantiation: AArch64Mapping.c:Log2_64_Ceil
Unexecuted instantiation: PPCMapping.c:Log2_64_Ceil
Unexecuted instantiation: SparcMapping.c:Log2_64_Ceil
Unexecuted instantiation: XCoreDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: XCoreInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: M68KDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: TMS320C64xDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: TMS320C64xInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: RISCVDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: TriCoreDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: HPPADisassembler.c:Log2_64_Ceil
Unexecuted instantiation: XtensaMapping.c:Log2_64_Ceil
Unexecuted instantiation: ARMDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: ARMDisassemblerExtension.c:Log2_64_Ceil
Unexecuted instantiation: ARMInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: AArch64Disassembler.c:Log2_64_Ceil
Unexecuted instantiation: AArch64DisassemblerExtension.c:Log2_64_Ceil
Unexecuted instantiation: AArch64InstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: MipsDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: PPCDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: PPCInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: SparcDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: SparcDisassemblerExtension.c:Log2_64_Ceil
Unexecuted instantiation: SparcInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: SystemZDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: SystemZInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: TriCoreInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: LoongArchDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: XtensaDisassembler.c:Log2_64_Ceil
Unexecuted instantiation: XtensaInstPrinter.c:Log2_64_Ceil
Unexecuted instantiation: ARCDisassembler.c:Log2_64_Ceil
315
316
/// GreatestCommonDivisor64 - Return the greatest common divisor of the two
317
/// values using Euclid's algorithm.
318
0
static inline uint64_t GreatestCommonDivisor64(uint64_t A, uint64_t B) {
319
0
  while (B) {
320
0
    uint64_t T = B;
321
0
    B = A % B;
322
0
    A = T;
323
0
  }
324
0
  return A;
325
0
}
Unexecuted instantiation: SparcModule.c:GreatestCommonDivisor64
Unexecuted instantiation: ARMMapping.c:GreatestCommonDivisor64
Unexecuted instantiation: AArch64Mapping.c:GreatestCommonDivisor64
Unexecuted instantiation: PPCMapping.c:GreatestCommonDivisor64
Unexecuted instantiation: SparcMapping.c:GreatestCommonDivisor64
Unexecuted instantiation: XCoreDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: XCoreInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: M68KDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: TMS320C64xDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: TMS320C64xInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: RISCVDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: TriCoreDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: HPPADisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: XtensaMapping.c:GreatestCommonDivisor64
Unexecuted instantiation: ARMDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: ARMDisassemblerExtension.c:GreatestCommonDivisor64
Unexecuted instantiation: ARMInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: AArch64Disassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: AArch64DisassemblerExtension.c:GreatestCommonDivisor64
Unexecuted instantiation: AArch64InstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: MipsDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: PPCDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: PPCInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: SparcDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: SparcDisassemblerExtension.c:GreatestCommonDivisor64
Unexecuted instantiation: SparcInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: SystemZDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: SystemZInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: TriCoreInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: LoongArchDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: XtensaDisassembler.c:GreatestCommonDivisor64
Unexecuted instantiation: XtensaInstPrinter.c:GreatestCommonDivisor64
Unexecuted instantiation: ARCDisassembler.c:GreatestCommonDivisor64
326
327
/// BitsToDouble - This function takes a 64-bit integer and returns the bit
328
/// equivalent double.
329
0
static inline double BitsToDouble(uint64_t Bits) {
330
0
  union {
331
0
    uint64_t L;
332
0
    double D;
333
0
  } T;
334
0
  T.L = Bits;
335
0
  return T.D;
336
0
}
Unexecuted instantiation: SparcModule.c:BitsToDouble
Unexecuted instantiation: ARMMapping.c:BitsToDouble
Unexecuted instantiation: AArch64Mapping.c:BitsToDouble
Unexecuted instantiation: PPCMapping.c:BitsToDouble
Unexecuted instantiation: SparcMapping.c:BitsToDouble
Unexecuted instantiation: XCoreDisassembler.c:BitsToDouble
Unexecuted instantiation: XCoreInstPrinter.c:BitsToDouble
Unexecuted instantiation: M68KDisassembler.c:BitsToDouble
Unexecuted instantiation: TMS320C64xDisassembler.c:BitsToDouble
Unexecuted instantiation: TMS320C64xInstPrinter.c:BitsToDouble
Unexecuted instantiation: RISCVDisassembler.c:BitsToDouble
Unexecuted instantiation: TriCoreDisassembler.c:BitsToDouble
Unexecuted instantiation: HPPADisassembler.c:BitsToDouble
Unexecuted instantiation: XtensaMapping.c:BitsToDouble
Unexecuted instantiation: ARMDisassembler.c:BitsToDouble
Unexecuted instantiation: ARMDisassemblerExtension.c:BitsToDouble
Unexecuted instantiation: ARMInstPrinter.c:BitsToDouble
Unexecuted instantiation: AArch64Disassembler.c:BitsToDouble
Unexecuted instantiation: AArch64DisassemblerExtension.c:BitsToDouble
Unexecuted instantiation: AArch64InstPrinter.c:BitsToDouble
Unexecuted instantiation: MipsDisassembler.c:BitsToDouble
Unexecuted instantiation: PPCDisassembler.c:BitsToDouble
Unexecuted instantiation: PPCInstPrinter.c:BitsToDouble
Unexecuted instantiation: SparcDisassembler.c:BitsToDouble
Unexecuted instantiation: SparcDisassemblerExtension.c:BitsToDouble
Unexecuted instantiation: SparcInstPrinter.c:BitsToDouble
Unexecuted instantiation: SystemZDisassembler.c:BitsToDouble
Unexecuted instantiation: SystemZInstPrinter.c:BitsToDouble
Unexecuted instantiation: TriCoreInstPrinter.c:BitsToDouble
Unexecuted instantiation: LoongArchDisassembler.c:BitsToDouble
Unexecuted instantiation: XtensaDisassembler.c:BitsToDouble
Unexecuted instantiation: XtensaInstPrinter.c:BitsToDouble
Unexecuted instantiation: ARCDisassembler.c:BitsToDouble
337
338
/// BitsToFloat - This function takes a 32-bit integer and returns the bit
339
/// equivalent float.
340
2.49k
static inline float BitsToFloat(uint32_t Bits) {
341
2.49k
  union {
342
2.49k
    uint32_t I;
343
2.49k
    float F;
344
2.49k
  } T;
345
2.49k
  T.I = Bits;
346
2.49k
  return T.F;
347
2.49k
}
Unexecuted instantiation: SparcModule.c:BitsToFloat
ARMMapping.c:BitsToFloat
Line
Count
Source
340
439
static inline float BitsToFloat(uint32_t Bits) {
341
439
  union {
342
439
    uint32_t I;
343
439
    float F;
344
439
  } T;
345
439
  T.I = Bits;
346
439
  return T.F;
347
439
}
AArch64Mapping.c:BitsToFloat
Line
Count
Source
340
663
static inline float BitsToFloat(uint32_t Bits) {
341
663
  union {
342
663
    uint32_t I;
343
663
    float F;
344
663
  } T;
345
663
  T.I = Bits;
346
663
  return T.F;
347
663
}
Unexecuted instantiation: PPCMapping.c:BitsToFloat
Unexecuted instantiation: SparcMapping.c:BitsToFloat
Unexecuted instantiation: XCoreDisassembler.c:BitsToFloat
Unexecuted instantiation: XCoreInstPrinter.c:BitsToFloat
M68KDisassembler.c:BitsToFloat
Line
Count
Source
340
293
static inline float BitsToFloat(uint32_t Bits) {
341
293
  union {
342
293
    uint32_t I;
343
293
    float F;
344
293
  } T;
345
293
  T.I = Bits;
346
293
  return T.F;
347
293
}
Unexecuted instantiation: TMS320C64xDisassembler.c:BitsToFloat
Unexecuted instantiation: TMS320C64xInstPrinter.c:BitsToFloat
Unexecuted instantiation: RISCVDisassembler.c:BitsToFloat
Unexecuted instantiation: TriCoreDisassembler.c:BitsToFloat
Unexecuted instantiation: HPPADisassembler.c:BitsToFloat
Unexecuted instantiation: XtensaMapping.c:BitsToFloat
Unexecuted instantiation: ARMDisassembler.c:BitsToFloat
Unexecuted instantiation: ARMDisassemblerExtension.c:BitsToFloat
ARMInstPrinter.c:BitsToFloat
Line
Count
Source
340
439
static inline float BitsToFloat(uint32_t Bits) {
341
439
  union {
342
439
    uint32_t I;
343
439
    float F;
344
439
  } T;
345
439
  T.I = Bits;
346
439
  return T.F;
347
439
}
Unexecuted instantiation: AArch64Disassembler.c:BitsToFloat
Unexecuted instantiation: AArch64DisassemblerExtension.c:BitsToFloat
AArch64InstPrinter.c:BitsToFloat
Line
Count
Source
340
663
static inline float BitsToFloat(uint32_t Bits) {
341
663
  union {
342
663
    uint32_t I;
343
663
    float F;
344
663
  } T;
345
663
  T.I = Bits;
346
663
  return T.F;
347
663
}
Unexecuted instantiation: MipsDisassembler.c:BitsToFloat
Unexecuted instantiation: PPCDisassembler.c:BitsToFloat
Unexecuted instantiation: PPCInstPrinter.c:BitsToFloat
Unexecuted instantiation: SparcDisassembler.c:BitsToFloat
Unexecuted instantiation: SparcDisassemblerExtension.c:BitsToFloat
Unexecuted instantiation: SparcInstPrinter.c:BitsToFloat
Unexecuted instantiation: SystemZDisassembler.c:BitsToFloat
Unexecuted instantiation: SystemZInstPrinter.c:BitsToFloat
Unexecuted instantiation: TriCoreInstPrinter.c:BitsToFloat
Unexecuted instantiation: LoongArchDisassembler.c:BitsToFloat
Unexecuted instantiation: XtensaDisassembler.c:BitsToFloat
Unexecuted instantiation: XtensaInstPrinter.c:BitsToFloat
Unexecuted instantiation: ARCDisassembler.c:BitsToFloat
348
349
/// DoubleToBits - This function takes a double and returns the bit
350
/// equivalent 64-bit integer.  Note that copying doubles around
351
/// changes the bits of NaNs on some hosts, notably x86, so this
352
/// routine cannot be used if these bits are needed.
353
0
static inline uint64_t DoubleToBits(double Double) {
354
0
  union {
355
0
    uint64_t L;
356
0
    double D;
357
0
  } T;
358
0
  T.D = Double;
359
0
  return T.L;
360
0
}
Unexecuted instantiation: SparcModule.c:DoubleToBits
Unexecuted instantiation: ARMMapping.c:DoubleToBits
Unexecuted instantiation: AArch64Mapping.c:DoubleToBits
Unexecuted instantiation: PPCMapping.c:DoubleToBits
Unexecuted instantiation: SparcMapping.c:DoubleToBits
Unexecuted instantiation: XCoreDisassembler.c:DoubleToBits
Unexecuted instantiation: XCoreInstPrinter.c:DoubleToBits
Unexecuted instantiation: M68KDisassembler.c:DoubleToBits
Unexecuted instantiation: TMS320C64xDisassembler.c:DoubleToBits
Unexecuted instantiation: TMS320C64xInstPrinter.c:DoubleToBits
Unexecuted instantiation: RISCVDisassembler.c:DoubleToBits
Unexecuted instantiation: TriCoreDisassembler.c:DoubleToBits
Unexecuted instantiation: HPPADisassembler.c:DoubleToBits
Unexecuted instantiation: XtensaMapping.c:DoubleToBits
Unexecuted instantiation: ARMDisassembler.c:DoubleToBits
Unexecuted instantiation: ARMDisassemblerExtension.c:DoubleToBits
Unexecuted instantiation: ARMInstPrinter.c:DoubleToBits
Unexecuted instantiation: AArch64Disassembler.c:DoubleToBits
Unexecuted instantiation: AArch64DisassemblerExtension.c:DoubleToBits
Unexecuted instantiation: AArch64InstPrinter.c:DoubleToBits
Unexecuted instantiation: MipsDisassembler.c:DoubleToBits
Unexecuted instantiation: PPCDisassembler.c:DoubleToBits
Unexecuted instantiation: PPCInstPrinter.c:DoubleToBits
Unexecuted instantiation: SparcDisassembler.c:DoubleToBits
Unexecuted instantiation: SparcDisassemblerExtension.c:DoubleToBits
Unexecuted instantiation: SparcInstPrinter.c:DoubleToBits
Unexecuted instantiation: SystemZDisassembler.c:DoubleToBits
Unexecuted instantiation: SystemZInstPrinter.c:DoubleToBits
Unexecuted instantiation: TriCoreInstPrinter.c:DoubleToBits
Unexecuted instantiation: LoongArchDisassembler.c:DoubleToBits
Unexecuted instantiation: XtensaDisassembler.c:DoubleToBits
Unexecuted instantiation: XtensaInstPrinter.c:DoubleToBits
Unexecuted instantiation: ARCDisassembler.c:DoubleToBits
361
362
/// FloatToBits - This function takes a float and returns the bit
363
/// equivalent 32-bit integer.  Note that copying floats around
364
/// changes the bits of NaNs on some hosts, notably x86, so this
365
/// routine cannot be used if these bits are needed.
366
0
static inline uint32_t FloatToBits(float Float) {
367
0
  union {
368
0
    uint32_t I;
369
0
    float F;
370
0
  } T;
371
0
  T.F = Float;
372
0
  return T.I;
373
0
}
Unexecuted instantiation: SparcModule.c:FloatToBits
Unexecuted instantiation: ARMMapping.c:FloatToBits
Unexecuted instantiation: AArch64Mapping.c:FloatToBits
Unexecuted instantiation: PPCMapping.c:FloatToBits
Unexecuted instantiation: SparcMapping.c:FloatToBits
Unexecuted instantiation: XCoreDisassembler.c:FloatToBits
Unexecuted instantiation: XCoreInstPrinter.c:FloatToBits
Unexecuted instantiation: M68KDisassembler.c:FloatToBits
Unexecuted instantiation: TMS320C64xDisassembler.c:FloatToBits
Unexecuted instantiation: TMS320C64xInstPrinter.c:FloatToBits
Unexecuted instantiation: RISCVDisassembler.c:FloatToBits
Unexecuted instantiation: TriCoreDisassembler.c:FloatToBits
Unexecuted instantiation: HPPADisassembler.c:FloatToBits
Unexecuted instantiation: XtensaMapping.c:FloatToBits
Unexecuted instantiation: ARMDisassembler.c:FloatToBits
Unexecuted instantiation: ARMDisassemblerExtension.c:FloatToBits
Unexecuted instantiation: ARMInstPrinter.c:FloatToBits
Unexecuted instantiation: AArch64Disassembler.c:FloatToBits
Unexecuted instantiation: AArch64DisassemblerExtension.c:FloatToBits
Unexecuted instantiation: AArch64InstPrinter.c:FloatToBits
Unexecuted instantiation: MipsDisassembler.c:FloatToBits
Unexecuted instantiation: PPCDisassembler.c:FloatToBits
Unexecuted instantiation: PPCInstPrinter.c:FloatToBits
Unexecuted instantiation: SparcDisassembler.c:FloatToBits
Unexecuted instantiation: SparcDisassemblerExtension.c:FloatToBits
Unexecuted instantiation: SparcInstPrinter.c:FloatToBits
Unexecuted instantiation: SystemZDisassembler.c:FloatToBits
Unexecuted instantiation: SystemZInstPrinter.c:FloatToBits
Unexecuted instantiation: TriCoreInstPrinter.c:FloatToBits
Unexecuted instantiation: LoongArchDisassembler.c:FloatToBits
Unexecuted instantiation: XtensaDisassembler.c:FloatToBits
Unexecuted instantiation: XtensaInstPrinter.c:FloatToBits
Unexecuted instantiation: ARCDisassembler.c:FloatToBits
374
375
/// MinAlign - A and B are either alignments or offsets.  Return the minimum
376
/// alignment that may be assumed after adding the two together.
377
0
static inline uint64_t MinAlign(uint64_t A, uint64_t B) {
378
0
  // The largest power of 2 that divides both A and B.
379
0
  //
380
0
  // Replace "-Value" by "1+~Value" in the following commented code to avoid 
381
0
  // MSVC warning C4146
382
0
  //    return (A | B) & -(A | B);
383
0
  return (A | B) & (1 + ~(A | B));
384
0
}
Unexecuted instantiation: SparcModule.c:MinAlign
Unexecuted instantiation: ARMMapping.c:MinAlign
Unexecuted instantiation: AArch64Mapping.c:MinAlign
Unexecuted instantiation: PPCMapping.c:MinAlign
Unexecuted instantiation: SparcMapping.c:MinAlign
Unexecuted instantiation: XCoreDisassembler.c:MinAlign
Unexecuted instantiation: XCoreInstPrinter.c:MinAlign
Unexecuted instantiation: M68KDisassembler.c:MinAlign
Unexecuted instantiation: TMS320C64xDisassembler.c:MinAlign
Unexecuted instantiation: TMS320C64xInstPrinter.c:MinAlign
Unexecuted instantiation: RISCVDisassembler.c:MinAlign
Unexecuted instantiation: TriCoreDisassembler.c:MinAlign
Unexecuted instantiation: HPPADisassembler.c:MinAlign
Unexecuted instantiation: XtensaMapping.c:MinAlign
Unexecuted instantiation: ARMDisassembler.c:MinAlign
Unexecuted instantiation: ARMDisassemblerExtension.c:MinAlign
Unexecuted instantiation: ARMInstPrinter.c:MinAlign
Unexecuted instantiation: AArch64Disassembler.c:MinAlign
Unexecuted instantiation: AArch64DisassemblerExtension.c:MinAlign
Unexecuted instantiation: AArch64InstPrinter.c:MinAlign
Unexecuted instantiation: MipsDisassembler.c:MinAlign
Unexecuted instantiation: PPCDisassembler.c:MinAlign
Unexecuted instantiation: PPCInstPrinter.c:MinAlign
Unexecuted instantiation: SparcDisassembler.c:MinAlign
Unexecuted instantiation: SparcDisassemblerExtension.c:MinAlign
Unexecuted instantiation: SparcInstPrinter.c:MinAlign
Unexecuted instantiation: SystemZDisassembler.c:MinAlign
Unexecuted instantiation: SystemZInstPrinter.c:MinAlign
Unexecuted instantiation: TriCoreInstPrinter.c:MinAlign
Unexecuted instantiation: LoongArchDisassembler.c:MinAlign
Unexecuted instantiation: XtensaDisassembler.c:MinAlign
Unexecuted instantiation: XtensaInstPrinter.c:MinAlign
Unexecuted instantiation: ARCDisassembler.c:MinAlign
385
386
/// NextPowerOf2 - Returns the next power of two (in 64-bits)
387
/// that is strictly greater than A.  Returns zero on overflow.
388
0
static inline uint64_t NextPowerOf2(uint64_t A) {
389
0
  A |= (A >> 1);
390
0
  A |= (A >> 2);
391
0
  A |= (A >> 4);
392
0
  A |= (A >> 8);
393
0
  A |= (A >> 16);
394
0
  A |= (A >> 32);
395
0
  return A + 1;
396
0
}
Unexecuted instantiation: SparcModule.c:NextPowerOf2
Unexecuted instantiation: ARMMapping.c:NextPowerOf2
Unexecuted instantiation: AArch64Mapping.c:NextPowerOf2
Unexecuted instantiation: PPCMapping.c:NextPowerOf2
Unexecuted instantiation: SparcMapping.c:NextPowerOf2
Unexecuted instantiation: XCoreDisassembler.c:NextPowerOf2
Unexecuted instantiation: XCoreInstPrinter.c:NextPowerOf2
Unexecuted instantiation: M68KDisassembler.c:NextPowerOf2
Unexecuted instantiation: TMS320C64xDisassembler.c:NextPowerOf2
Unexecuted instantiation: TMS320C64xInstPrinter.c:NextPowerOf2
Unexecuted instantiation: RISCVDisassembler.c:NextPowerOf2
Unexecuted instantiation: TriCoreDisassembler.c:NextPowerOf2
Unexecuted instantiation: HPPADisassembler.c:NextPowerOf2
Unexecuted instantiation: XtensaMapping.c:NextPowerOf2
Unexecuted instantiation: ARMDisassembler.c:NextPowerOf2
Unexecuted instantiation: ARMDisassemblerExtension.c:NextPowerOf2
Unexecuted instantiation: ARMInstPrinter.c:NextPowerOf2
Unexecuted instantiation: AArch64Disassembler.c:NextPowerOf2
Unexecuted instantiation: AArch64DisassemblerExtension.c:NextPowerOf2
Unexecuted instantiation: AArch64InstPrinter.c:NextPowerOf2
Unexecuted instantiation: MipsDisassembler.c:NextPowerOf2
Unexecuted instantiation: PPCDisassembler.c:NextPowerOf2
Unexecuted instantiation: PPCInstPrinter.c:NextPowerOf2
Unexecuted instantiation: SparcDisassembler.c:NextPowerOf2
Unexecuted instantiation: SparcDisassemblerExtension.c:NextPowerOf2
Unexecuted instantiation: SparcInstPrinter.c:NextPowerOf2
Unexecuted instantiation: SystemZDisassembler.c:NextPowerOf2
Unexecuted instantiation: SystemZInstPrinter.c:NextPowerOf2
Unexecuted instantiation: TriCoreInstPrinter.c:NextPowerOf2
Unexecuted instantiation: LoongArchDisassembler.c:NextPowerOf2
Unexecuted instantiation: XtensaDisassembler.c:NextPowerOf2
Unexecuted instantiation: XtensaInstPrinter.c:NextPowerOf2
Unexecuted instantiation: ARCDisassembler.c:NextPowerOf2
397
398
/// Returns the next integer (mod 2**64) that is greater than or equal to
399
/// \p Value and is a multiple of \p Align. \p Align must be non-zero.
400
///
401
/// Examples:
402
/// \code
403
///   RoundUpToAlignment(5, 8) = 8
404
///   RoundUpToAlignment(17, 8) = 24
405
///   RoundUpToAlignment(~0LL, 8) = 0
406
/// \endcode
407
0
static inline uint64_t RoundUpToAlignment(uint64_t Value, uint64_t Align) {
408
0
  return ((Value + Align - 1) / Align) * Align;
409
0
}
Unexecuted instantiation: SparcModule.c:RoundUpToAlignment
Unexecuted instantiation: ARMMapping.c:RoundUpToAlignment
Unexecuted instantiation: AArch64Mapping.c:RoundUpToAlignment
Unexecuted instantiation: PPCMapping.c:RoundUpToAlignment
Unexecuted instantiation: SparcMapping.c:RoundUpToAlignment
Unexecuted instantiation: XCoreDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: XCoreInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: M68KDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: TMS320C64xDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: TMS320C64xInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: RISCVDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: TriCoreDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: HPPADisassembler.c:RoundUpToAlignment
Unexecuted instantiation: XtensaMapping.c:RoundUpToAlignment
Unexecuted instantiation: ARMDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: ARMDisassemblerExtension.c:RoundUpToAlignment
Unexecuted instantiation: ARMInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: AArch64Disassembler.c:RoundUpToAlignment
Unexecuted instantiation: AArch64DisassemblerExtension.c:RoundUpToAlignment
Unexecuted instantiation: AArch64InstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: MipsDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: PPCDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: PPCInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: SparcDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: SparcDisassemblerExtension.c:RoundUpToAlignment
Unexecuted instantiation: SparcInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: SystemZDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: SystemZInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: TriCoreInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: LoongArchDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: XtensaDisassembler.c:RoundUpToAlignment
Unexecuted instantiation: XtensaInstPrinter.c:RoundUpToAlignment
Unexecuted instantiation: ARCDisassembler.c:RoundUpToAlignment
410
411
/// Returns the offset to the next integer (mod 2**64) that is greater than
412
/// or equal to \p Value and is a multiple of \p Align. \p Align must be
413
/// non-zero.
414
0
static inline uint64_t OffsetToAlignment(uint64_t Value, uint64_t Align) {
415
0
  return RoundUpToAlignment(Value, Align) - Value;
416
0
}
Unexecuted instantiation: SparcModule.c:OffsetToAlignment
Unexecuted instantiation: ARMMapping.c:OffsetToAlignment
Unexecuted instantiation: AArch64Mapping.c:OffsetToAlignment
Unexecuted instantiation: PPCMapping.c:OffsetToAlignment
Unexecuted instantiation: SparcMapping.c:OffsetToAlignment
Unexecuted instantiation: XCoreDisassembler.c:OffsetToAlignment
Unexecuted instantiation: XCoreInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: M68KDisassembler.c:OffsetToAlignment
Unexecuted instantiation: TMS320C64xDisassembler.c:OffsetToAlignment
Unexecuted instantiation: TMS320C64xInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: RISCVDisassembler.c:OffsetToAlignment
Unexecuted instantiation: TriCoreDisassembler.c:OffsetToAlignment
Unexecuted instantiation: HPPADisassembler.c:OffsetToAlignment
Unexecuted instantiation: XtensaMapping.c:OffsetToAlignment
Unexecuted instantiation: ARMDisassembler.c:OffsetToAlignment
Unexecuted instantiation: ARMDisassemblerExtension.c:OffsetToAlignment
Unexecuted instantiation: ARMInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: AArch64Disassembler.c:OffsetToAlignment
Unexecuted instantiation: AArch64DisassemblerExtension.c:OffsetToAlignment
Unexecuted instantiation: AArch64InstPrinter.c:OffsetToAlignment
Unexecuted instantiation: MipsDisassembler.c:OffsetToAlignment
Unexecuted instantiation: PPCDisassembler.c:OffsetToAlignment
Unexecuted instantiation: PPCInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: SparcDisassembler.c:OffsetToAlignment
Unexecuted instantiation: SparcDisassemblerExtension.c:OffsetToAlignment
Unexecuted instantiation: SparcInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: SystemZDisassembler.c:OffsetToAlignment
Unexecuted instantiation: SystemZInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: TriCoreInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: LoongArchDisassembler.c:OffsetToAlignment
Unexecuted instantiation: XtensaDisassembler.c:OffsetToAlignment
Unexecuted instantiation: XtensaInstPrinter.c:OffsetToAlignment
Unexecuted instantiation: ARCDisassembler.c:OffsetToAlignment
417
418
/// abs64 - absolute value of a 64-bit int.  Not all environments support
419
/// "abs" on whatever their name for the 64-bit int type is.  The absolute
420
/// value of the largest negative number is undefined, as with "abs".
421
0
static inline int64_t abs64(int64_t x) {
422
0
  return (x < 0) ? -x : x;
423
0
}
Unexecuted instantiation: SparcModule.c:abs64
Unexecuted instantiation: ARMMapping.c:abs64
Unexecuted instantiation: AArch64Mapping.c:abs64
Unexecuted instantiation: PPCMapping.c:abs64
Unexecuted instantiation: SparcMapping.c:abs64
Unexecuted instantiation: XCoreDisassembler.c:abs64
Unexecuted instantiation: XCoreInstPrinter.c:abs64
Unexecuted instantiation: M68KDisassembler.c:abs64
Unexecuted instantiation: TMS320C64xDisassembler.c:abs64
Unexecuted instantiation: TMS320C64xInstPrinter.c:abs64
Unexecuted instantiation: RISCVDisassembler.c:abs64
Unexecuted instantiation: TriCoreDisassembler.c:abs64
Unexecuted instantiation: HPPADisassembler.c:abs64
Unexecuted instantiation: XtensaMapping.c:abs64
Unexecuted instantiation: ARMDisassembler.c:abs64
Unexecuted instantiation: ARMDisassemblerExtension.c:abs64
Unexecuted instantiation: ARMInstPrinter.c:abs64
Unexecuted instantiation: AArch64Disassembler.c:abs64
Unexecuted instantiation: AArch64DisassemblerExtension.c:abs64
Unexecuted instantiation: AArch64InstPrinter.c:abs64
Unexecuted instantiation: MipsDisassembler.c:abs64
Unexecuted instantiation: PPCDisassembler.c:abs64
Unexecuted instantiation: PPCInstPrinter.c:abs64
Unexecuted instantiation: SparcDisassembler.c:abs64
Unexecuted instantiation: SparcDisassemblerExtension.c:abs64
Unexecuted instantiation: SparcInstPrinter.c:abs64
Unexecuted instantiation: SystemZDisassembler.c:abs64
Unexecuted instantiation: SystemZInstPrinter.c:abs64
Unexecuted instantiation: TriCoreInstPrinter.c:abs64
Unexecuted instantiation: LoongArchDisassembler.c:abs64
Unexecuted instantiation: XtensaDisassembler.c:abs64
Unexecuted instantiation: XtensaInstPrinter.c:abs64
Unexecuted instantiation: ARCDisassembler.c:abs64
424
425
/// \brief Sign extend number in the bottom B bits of X to a 32-bit int.
426
/// Requires 0 < B <= 32.
427
/// Note that this implementation relies on right shift of signed
428
/// integers being an arithmetic shift.
429
226k
static inline int32_t SignExtend32(uint32_t X, unsigned B) {
430
226k
  return (int32_t)(X << (32 - B)) >> (32 - B);
431
226k
}
Unexecuted instantiation: SparcModule.c:SignExtend32
Unexecuted instantiation: ARMMapping.c:SignExtend32
Unexecuted instantiation: AArch64Mapping.c:SignExtend32
PPCMapping.c:SignExtend32
Line
Count
Source
429
5.51k
static inline int32_t SignExtend32(uint32_t X, unsigned B) {
430
5.51k
  return (int32_t)(X << (32 - B)) >> (32 - B);
431
5.51k
}
Unexecuted instantiation: SparcMapping.c:SignExtend32
Unexecuted instantiation: XCoreDisassembler.c:SignExtend32
Unexecuted instantiation: XCoreInstPrinter.c:SignExtend32
Unexecuted instantiation: M68KDisassembler.c:SignExtend32
Unexecuted instantiation: TMS320C64xDisassembler.c:SignExtend32
Unexecuted instantiation: TMS320C64xInstPrinter.c:SignExtend32
Unexecuted instantiation: RISCVDisassembler.c:SignExtend32
Unexecuted instantiation: TriCoreDisassembler.c:SignExtend32
Unexecuted instantiation: HPPADisassembler.c:SignExtend32
Unexecuted instantiation: XtensaMapping.c:SignExtend32
ARMDisassembler.c:SignExtend32
Line
Count
Source
429
131k
static inline int32_t SignExtend32(uint32_t X, unsigned B) {
430
131k
  return (int32_t)(X << (32 - B)) >> (32 - B);
431
131k
}
Unexecuted instantiation: ARMDisassemblerExtension.c:SignExtend32
Unexecuted instantiation: ARMInstPrinter.c:SignExtend32
Unexecuted instantiation: AArch64Disassembler.c:SignExtend32
Unexecuted instantiation: AArch64DisassemblerExtension.c:SignExtend32
Unexecuted instantiation: AArch64InstPrinter.c:SignExtend32
MipsDisassembler.c:SignExtend32
Line
Count
Source
429
67.8k
static inline int32_t SignExtend32(uint32_t X, unsigned B) {
430
67.8k
  return (int32_t)(X << (32 - B)) >> (32 - B);
431
67.8k
}
PPCDisassembler.c:SignExtend32
Line
Count
Source
429
7.58k
static inline int32_t SignExtend32(uint32_t X, unsigned B) {
430
7.58k
  return (int32_t)(X << (32 - B)) >> (32 - B);
431
7.58k
}
PPCInstPrinter.c:SignExtend32
Line
Count
Source
429
14.8k
static inline int32_t SignExtend32(uint32_t X, unsigned B) {
430
14.8k
  return (int32_t)(X << (32 - B)) >> (32 - B);
431
14.8k
}
Unexecuted instantiation: SparcDisassemblerExtension.c:SignExtend32
Unexecuted instantiation: SystemZDisassembler.c:SignExtend32
Unexecuted instantiation: SystemZInstPrinter.c:SignExtend32
Unexecuted instantiation: TriCoreInstPrinter.c:SignExtend32
Unexecuted instantiation: LoongArchDisassembler.c:SignExtend32
Unexecuted instantiation: XtensaDisassembler.c:SignExtend32
Unexecuted instantiation: XtensaInstPrinter.c:SignExtend32
Unexecuted instantiation: ARCDisassembler.c:SignExtend32
432
433
/// \brief Sign extend number in the bottom B bits of X to a 64-bit int.
434
/// Requires 0 < B <= 64.
435
/// Note that this implementation relies on right shift of signed
436
/// integers being an arithmetic shift.
437
135k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
135k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
135k
}
Unexecuted instantiation: SparcModule.c:SignExtend64
Unexecuted instantiation: ARMMapping.c:SignExtend64
Unexecuted instantiation: AArch64Mapping.c:SignExtend64
PPCMapping.c:SignExtend64
Line
Count
Source
437
675
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
675
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
675
}
Unexecuted instantiation: SparcMapping.c:SignExtend64
Unexecuted instantiation: XCoreDisassembler.c:SignExtend64
Unexecuted instantiation: XCoreInstPrinter.c:SignExtend64
Unexecuted instantiation: M68KDisassembler.c:SignExtend64
Unexecuted instantiation: TMS320C64xDisassembler.c:SignExtend64
Unexecuted instantiation: TMS320C64xInstPrinter.c:SignExtend64
RISCVDisassembler.c:SignExtend64
Line
Count
Source
437
13.4k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
13.4k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
13.4k
}
Unexecuted instantiation: TriCoreDisassembler.c:SignExtend64
Unexecuted instantiation: HPPADisassembler.c:SignExtend64
Unexecuted instantiation: XtensaMapping.c:SignExtend64
Unexecuted instantiation: ARMDisassembler.c:SignExtend64
Unexecuted instantiation: ARMDisassemblerExtension.c:SignExtend64
Unexecuted instantiation: ARMInstPrinter.c:SignExtend64
Unexecuted instantiation: AArch64Disassembler.c:SignExtend64
Unexecuted instantiation: AArch64DisassemblerExtension.c:SignExtend64
AArch64InstPrinter.c:SignExtend64
Line
Count
Source
437
7.71k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
7.71k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
7.71k
}
MipsDisassembler.c:SignExtend64
Line
Count
Source
437
14.6k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
14.6k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
14.6k
}
PPCDisassembler.c:SignExtend64
Line
Count
Source
437
34.6k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
34.6k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
34.6k
}
SparcDisassembler.c:SignExtend64
Line
Count
Source
437
14.8k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
14.8k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
14.8k
}
Unexecuted instantiation: SparcDisassemblerExtension.c:SignExtend64
Unexecuted instantiation: SparcInstPrinter.c:SignExtend64
SystemZDisassembler.c:SignExtend64
Line
Count
Source
437
34.4k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
34.4k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
34.4k
}
Unexecuted instantiation: SystemZInstPrinter.c:SignExtend64
Unexecuted instantiation: TriCoreInstPrinter.c:SignExtend64
Unexecuted instantiation: LoongArchDisassembler.c:SignExtend64
XtensaDisassembler.c:SignExtend64
Line
Count
Source
437
15.3k
static inline int64_t SignExtend64(uint64_t X, unsigned B) {
438
15.3k
  return (int64_t)(X << (64 - B)) >> (64 - B);
439
15.3k
}
Unexecuted instantiation: XtensaInstPrinter.c:SignExtend64
Unexecuted instantiation: ARCDisassembler.c:SignExtend64
440
441
/// \brief Removes the rightmost bit of x and extends the field to the left with that
442
/// bit to form a 64-bit quantity. The field is of size len
443
0
static inline int64_t LowSignExtend64(uint64_t x, unsigned len) {
444
0
    return (x >> 1) - ((x & 1) << (len - 1));
445
0
}
Unexecuted instantiation: SparcModule.c:LowSignExtend64
Unexecuted instantiation: ARMMapping.c:LowSignExtend64
Unexecuted instantiation: AArch64Mapping.c:LowSignExtend64
Unexecuted instantiation: PPCMapping.c:LowSignExtend64
Unexecuted instantiation: SparcMapping.c:LowSignExtend64
Unexecuted instantiation: XCoreDisassembler.c:LowSignExtend64
Unexecuted instantiation: XCoreInstPrinter.c:LowSignExtend64
Unexecuted instantiation: M68KDisassembler.c:LowSignExtend64
Unexecuted instantiation: TMS320C64xDisassembler.c:LowSignExtend64
Unexecuted instantiation: TMS320C64xInstPrinter.c:LowSignExtend64
Unexecuted instantiation: RISCVDisassembler.c:LowSignExtend64
Unexecuted instantiation: TriCoreDisassembler.c:LowSignExtend64
Unexecuted instantiation: HPPADisassembler.c:LowSignExtend64
Unexecuted instantiation: XtensaMapping.c:LowSignExtend64
Unexecuted instantiation: ARMDisassembler.c:LowSignExtend64
Unexecuted instantiation: ARMDisassemblerExtension.c:LowSignExtend64
Unexecuted instantiation: ARMInstPrinter.c:LowSignExtend64
Unexecuted instantiation: AArch64Disassembler.c:LowSignExtend64
Unexecuted instantiation: AArch64DisassemblerExtension.c:LowSignExtend64
Unexecuted instantiation: AArch64InstPrinter.c:LowSignExtend64
Unexecuted instantiation: MipsDisassembler.c:LowSignExtend64
Unexecuted instantiation: PPCDisassembler.c:LowSignExtend64
Unexecuted instantiation: PPCInstPrinter.c:LowSignExtend64
Unexecuted instantiation: SparcDisassembler.c:LowSignExtend64
Unexecuted instantiation: SparcDisassemblerExtension.c:LowSignExtend64
Unexecuted instantiation: SparcInstPrinter.c:LowSignExtend64
Unexecuted instantiation: SystemZDisassembler.c:LowSignExtend64
Unexecuted instantiation: SystemZInstPrinter.c:LowSignExtend64
Unexecuted instantiation: TriCoreInstPrinter.c:LowSignExtend64
Unexecuted instantiation: LoongArchDisassembler.c:LowSignExtend64
Unexecuted instantiation: XtensaDisassembler.c:LowSignExtend64
Unexecuted instantiation: XtensaInstPrinter.c:LowSignExtend64
Unexecuted instantiation: ARCDisassembler.c:LowSignExtend64
446
447
/// \brief One extend number X starting at bit B and returns it as int32_t.
448
/// Requires 0 < B <= 32.
449
0
static inline int32_t OneExtend32(uint32_t X, unsigned B) {
450
0
  return (~0U << B) | X;
451
0
}
Unexecuted instantiation: SparcModule.c:OneExtend32
Unexecuted instantiation: ARMMapping.c:OneExtend32
Unexecuted instantiation: AArch64Mapping.c:OneExtend32
Unexecuted instantiation: PPCMapping.c:OneExtend32
Unexecuted instantiation: SparcMapping.c:OneExtend32
Unexecuted instantiation: XCoreDisassembler.c:OneExtend32
Unexecuted instantiation: XCoreInstPrinter.c:OneExtend32
Unexecuted instantiation: M68KDisassembler.c:OneExtend32
Unexecuted instantiation: TMS320C64xDisassembler.c:OneExtend32
Unexecuted instantiation: TMS320C64xInstPrinter.c:OneExtend32
Unexecuted instantiation: RISCVDisassembler.c:OneExtend32
Unexecuted instantiation: TriCoreDisassembler.c:OneExtend32
Unexecuted instantiation: HPPADisassembler.c:OneExtend32
Unexecuted instantiation: XtensaMapping.c:OneExtend32
Unexecuted instantiation: ARMDisassembler.c:OneExtend32
Unexecuted instantiation: ARMDisassemblerExtension.c:OneExtend32
Unexecuted instantiation: ARMInstPrinter.c:OneExtend32
Unexecuted instantiation: AArch64Disassembler.c:OneExtend32
Unexecuted instantiation: AArch64DisassemblerExtension.c:OneExtend32
Unexecuted instantiation: AArch64InstPrinter.c:OneExtend32
Unexecuted instantiation: MipsDisassembler.c:OneExtend32
Unexecuted instantiation: PPCDisassembler.c:OneExtend32
Unexecuted instantiation: PPCInstPrinter.c:OneExtend32
Unexecuted instantiation: SparcDisassembler.c:OneExtend32
Unexecuted instantiation: SparcDisassemblerExtension.c:OneExtend32
Unexecuted instantiation: SparcInstPrinter.c:OneExtend32
Unexecuted instantiation: SystemZDisassembler.c:OneExtend32
Unexecuted instantiation: SystemZInstPrinter.c:OneExtend32
Unexecuted instantiation: TriCoreInstPrinter.c:OneExtend32
Unexecuted instantiation: LoongArchDisassembler.c:OneExtend32
Unexecuted instantiation: XtensaDisassembler.c:OneExtend32
Unexecuted instantiation: XtensaInstPrinter.c:OneExtend32
Unexecuted instantiation: ARCDisassembler.c:OneExtend32
452
453
/// \brief One extend number X starting at bit B and returns it as int64_t.
454
/// Requires 0 < B <= 64.
455
4.73k
static inline int64_t OneExtend64(uint64_t X, unsigned B) {
456
4.73k
  return (~0ULL << B) | X;
457
4.73k
}
Unexecuted instantiation: SparcModule.c:OneExtend64
Unexecuted instantiation: ARMMapping.c:OneExtend64
Unexecuted instantiation: AArch64Mapping.c:OneExtend64
Unexecuted instantiation: PPCMapping.c:OneExtend64
Unexecuted instantiation: SparcMapping.c:OneExtend64
Unexecuted instantiation: XCoreDisassembler.c:OneExtend64
Unexecuted instantiation: XCoreInstPrinter.c:OneExtend64
Unexecuted instantiation: M68KDisassembler.c:OneExtend64
Unexecuted instantiation: TMS320C64xDisassembler.c:OneExtend64
Unexecuted instantiation: TMS320C64xInstPrinter.c:OneExtend64
Unexecuted instantiation: RISCVDisassembler.c:OneExtend64
Unexecuted instantiation: TriCoreDisassembler.c:OneExtend64
Unexecuted instantiation: HPPADisassembler.c:OneExtend64
Unexecuted instantiation: XtensaMapping.c:OneExtend64
Unexecuted instantiation: ARMDisassembler.c:OneExtend64
Unexecuted instantiation: ARMDisassemblerExtension.c:OneExtend64
Unexecuted instantiation: ARMInstPrinter.c:OneExtend64
Unexecuted instantiation: AArch64Disassembler.c:OneExtend64
Unexecuted instantiation: AArch64DisassemblerExtension.c:OneExtend64
Unexecuted instantiation: AArch64InstPrinter.c:OneExtend64
Unexecuted instantiation: MipsDisassembler.c:OneExtend64
Unexecuted instantiation: PPCDisassembler.c:OneExtend64
Unexecuted instantiation: PPCInstPrinter.c:OneExtend64
Unexecuted instantiation: SparcDisassembler.c:OneExtend64
Unexecuted instantiation: SparcDisassemblerExtension.c:OneExtend64
Unexecuted instantiation: SparcInstPrinter.c:OneExtend64
Unexecuted instantiation: SystemZDisassembler.c:OneExtend64
Unexecuted instantiation: SystemZInstPrinter.c:OneExtend64
Unexecuted instantiation: TriCoreInstPrinter.c:OneExtend64
Unexecuted instantiation: LoongArchDisassembler.c:OneExtend64
XtensaDisassembler.c:OneExtend64
Line
Count
Source
455
4.73k
static inline int64_t OneExtend64(uint64_t X, unsigned B) {
456
4.73k
  return (~0ULL << B) | X;
457
4.73k
}
Unexecuted instantiation: XtensaInstPrinter.c:OneExtend64
Unexecuted instantiation: ARCDisassembler.c:OneExtend64
458
459
/// \brief Count number of 0's from the most significant bit to the least
460
///   stopping at the first 1.
461
///
462
/// Only unsigned integral types are allowed.
463
///
464
/// \param ZB the behavior on an input of 0. Only ZB_Width and ZB_Undefined are
465
///   valid arguments.
466
static inline unsigned int countLeadingZeros(int x)
467
46.5k
{
468
46.5k
  int i;
469
46.5k
  const unsigned bits = sizeof(x) * 8;
470
46.5k
  unsigned count = bits;
471
472
46.5k
  if (x < 0) {
473
182
    return 0;
474
182
  }
475
281k
  for (i = bits; --i; ) {
476
281k
    if (x == 0) break;
477
235k
    count--;
478
235k
    x >>= 1;
479
235k
  }
480
481
46.4k
  return count;
482
46.5k
}
Unexecuted instantiation: SparcModule.c:countLeadingZeros
ARMMapping.c:countLeadingZeros
Line
Count
Source
467
565
{
468
565
  int i;
469
565
  const unsigned bits = sizeof(x) * 8;
470
565
  unsigned count = bits;
471
472
565
  if (x < 0) {
473
91
    return 0;
474
91
  }
475
6.75k
  for (i = bits; --i; ) {
476
6.69k
    if (x == 0) break;
477
6.27k
    count--;
478
6.27k
    x >>= 1;
479
6.27k
  }
480
481
474
  return count;
482
565
}
AArch64Mapping.c:countLeadingZeros
Line
Count
Source
467
8.47k
{
468
8.47k
  int i;
469
8.47k
  const unsigned bits = sizeof(x) * 8;
470
8.47k
  unsigned count = bits;
471
472
8.47k
  if (x < 0) {
473
0
    return 0;
474
0
  }
475
51.6k
  for (i = bits; --i; ) {
476
51.6k
    if (x == 0) break;
477
43.2k
    count--;
478
43.2k
    x >>= 1;
479
43.2k
  }
480
481
8.47k
  return count;
482
8.47k
}
Unexecuted instantiation: PPCMapping.c:countLeadingZeros
Unexecuted instantiation: SparcMapping.c:countLeadingZeros
Unexecuted instantiation: XCoreDisassembler.c:countLeadingZeros
Unexecuted instantiation: XCoreInstPrinter.c:countLeadingZeros
Unexecuted instantiation: M68KDisassembler.c:countLeadingZeros
Unexecuted instantiation: TMS320C64xDisassembler.c:countLeadingZeros
Unexecuted instantiation: TMS320C64xInstPrinter.c:countLeadingZeros
Unexecuted instantiation: RISCVDisassembler.c:countLeadingZeros
Unexecuted instantiation: TriCoreDisassembler.c:countLeadingZeros
Unexecuted instantiation: HPPADisassembler.c:countLeadingZeros
Unexecuted instantiation: XtensaMapping.c:countLeadingZeros
Unexecuted instantiation: ARMDisassembler.c:countLeadingZeros
Unexecuted instantiation: ARMDisassemblerExtension.c:countLeadingZeros
ARMInstPrinter.c:countLeadingZeros
Line
Count
Source
467
565
{
468
565
  int i;
469
565
  const unsigned bits = sizeof(x) * 8;
470
565
  unsigned count = bits;
471
472
565
  if (x < 0) {
473
91
    return 0;
474
91
  }
475
6.75k
  for (i = bits; --i; ) {
476
6.69k
    if (x == 0) break;
477
6.27k
    count--;
478
6.27k
    x >>= 1;
479
6.27k
  }
480
481
474
  return count;
482
565
}
AArch64Disassembler.c:countLeadingZeros
Line
Count
Source
467
9.24k
{
468
9.24k
  int i;
469
9.24k
  const unsigned bits = sizeof(x) * 8;
470
9.24k
  unsigned count = bits;
471
472
9.24k
  if (x < 0) {
473
0
    return 0;
474
0
  }
475
56.5k
  for (i = bits; --i; ) {
476
56.5k
    if (x == 0) break;
477
47.3k
    count--;
478
47.3k
    x >>= 1;
479
47.3k
  }
480
481
9.24k
  return count;
482
9.24k
}
Unexecuted instantiation: AArch64DisassemblerExtension.c:countLeadingZeros
AArch64InstPrinter.c:countLeadingZeros
Line
Count
Source
467
27.7k
{
468
27.7k
  int i;
469
27.7k
  const unsigned bits = sizeof(x) * 8;
470
27.7k
  unsigned count = bits;
471
472
27.7k
  if (x < 0) {
473
0
    return 0;
474
0
  }
475
160k
  for (i = bits; --i; ) {
476
160k
    if (x == 0) break;
477
132k
    count--;
478
132k
    x >>= 1;
479
132k
  }
480
481
27.7k
  return count;
482
27.7k
}
Unexecuted instantiation: MipsDisassembler.c:countLeadingZeros
Unexecuted instantiation: PPCDisassembler.c:countLeadingZeros
Unexecuted instantiation: PPCInstPrinter.c:countLeadingZeros
Unexecuted instantiation: SparcDisassembler.c:countLeadingZeros
Unexecuted instantiation: SparcDisassemblerExtension.c:countLeadingZeros
Unexecuted instantiation: SparcInstPrinter.c:countLeadingZeros
Unexecuted instantiation: SystemZDisassembler.c:countLeadingZeros
Unexecuted instantiation: SystemZInstPrinter.c:countLeadingZeros
Unexecuted instantiation: TriCoreInstPrinter.c:countLeadingZeros
Unexecuted instantiation: LoongArchDisassembler.c:countLeadingZeros
Unexecuted instantiation: XtensaDisassembler.c:countLeadingZeros
Unexecuted instantiation: XtensaInstPrinter.c:countLeadingZeros
Unexecuted instantiation: ARCDisassembler.c:countLeadingZeros
483
484
/// \brief Get specified field from 32-bit instruction. Returns bits from the segment [from, to]
485
/// The right most bit of insn is bit 31.
486
static inline uint32_t get_insn_field(uint32_t insn, uint8_t from, uint8_t to) 
487
0
{
488
0
  return insn >> (31 - to) & ((1 << (to - from + 1)) - 1);
489
0
}
Unexecuted instantiation: SparcModule.c:get_insn_field
Unexecuted instantiation: ARMMapping.c:get_insn_field
Unexecuted instantiation: AArch64Mapping.c:get_insn_field
Unexecuted instantiation: PPCMapping.c:get_insn_field
Unexecuted instantiation: SparcMapping.c:get_insn_field
Unexecuted instantiation: XCoreDisassembler.c:get_insn_field
Unexecuted instantiation: XCoreInstPrinter.c:get_insn_field
Unexecuted instantiation: M68KDisassembler.c:get_insn_field
Unexecuted instantiation: TMS320C64xDisassembler.c:get_insn_field
Unexecuted instantiation: TMS320C64xInstPrinter.c:get_insn_field
Unexecuted instantiation: RISCVDisassembler.c:get_insn_field
Unexecuted instantiation: TriCoreDisassembler.c:get_insn_field
Unexecuted instantiation: HPPADisassembler.c:get_insn_field
Unexecuted instantiation: XtensaMapping.c:get_insn_field
Unexecuted instantiation: ARMDisassembler.c:get_insn_field
Unexecuted instantiation: ARMDisassemblerExtension.c:get_insn_field
Unexecuted instantiation: ARMInstPrinter.c:get_insn_field
Unexecuted instantiation: AArch64Disassembler.c:get_insn_field
Unexecuted instantiation: AArch64DisassemblerExtension.c:get_insn_field
Unexecuted instantiation: AArch64InstPrinter.c:get_insn_field
Unexecuted instantiation: MipsDisassembler.c:get_insn_field
Unexecuted instantiation: PPCDisassembler.c:get_insn_field
Unexecuted instantiation: PPCInstPrinter.c:get_insn_field
Unexecuted instantiation: SparcDisassembler.c:get_insn_field
Unexecuted instantiation: SparcDisassemblerExtension.c:get_insn_field
Unexecuted instantiation: SparcInstPrinter.c:get_insn_field
Unexecuted instantiation: SystemZDisassembler.c:get_insn_field
Unexecuted instantiation: SystemZInstPrinter.c:get_insn_field
Unexecuted instantiation: TriCoreInstPrinter.c:get_insn_field
Unexecuted instantiation: LoongArchDisassembler.c:get_insn_field
Unexecuted instantiation: XtensaDisassembler.c:get_insn_field
Unexecuted instantiation: XtensaInstPrinter.c:get_insn_field
Unexecuted instantiation: ARCDisassembler.c:get_insn_field
490
491
/// \brief Get specified field from 32-bit instruction. Returns bits from the segment [from, to]
492
/// The right most bit of insn is bit 0.
493
static inline uint32_t get_insn_field_r(uint32_t insn, uint8_t from, uint8_t to)
494
40.6k
{
495
40.6k
  return insn >> from & ((1 << (to - from + 1)) - 1);
496
40.6k
}
Unexecuted instantiation: SparcModule.c:get_insn_field_r
Unexecuted instantiation: ARMMapping.c:get_insn_field_r
Unexecuted instantiation: AArch64Mapping.c:get_insn_field_r
Unexecuted instantiation: PPCMapping.c:get_insn_field_r
SparcMapping.c:get_insn_field_r
Line
Count
Source
494
40.6k
{
495
40.6k
  return insn >> from & ((1 << (to - from + 1)) - 1);
496
40.6k
}
Unexecuted instantiation: XCoreDisassembler.c:get_insn_field_r
Unexecuted instantiation: XCoreInstPrinter.c:get_insn_field_r
Unexecuted instantiation: M68KDisassembler.c:get_insn_field_r
Unexecuted instantiation: TMS320C64xDisassembler.c:get_insn_field_r
Unexecuted instantiation: TMS320C64xInstPrinter.c:get_insn_field_r
Unexecuted instantiation: RISCVDisassembler.c:get_insn_field_r
Unexecuted instantiation: TriCoreDisassembler.c:get_insn_field_r
Unexecuted instantiation: HPPADisassembler.c:get_insn_field_r
Unexecuted instantiation: XtensaMapping.c:get_insn_field_r
Unexecuted instantiation: ARMDisassembler.c:get_insn_field_r
Unexecuted instantiation: ARMDisassemblerExtension.c:get_insn_field_r
Unexecuted instantiation: ARMInstPrinter.c:get_insn_field_r
Unexecuted instantiation: AArch64Disassembler.c:get_insn_field_r
Unexecuted instantiation: AArch64DisassemblerExtension.c:get_insn_field_r
Unexecuted instantiation: AArch64InstPrinter.c:get_insn_field_r
Unexecuted instantiation: MipsDisassembler.c:get_insn_field_r
Unexecuted instantiation: PPCDisassembler.c:get_insn_field_r
Unexecuted instantiation: PPCInstPrinter.c:get_insn_field_r
Unexecuted instantiation: SparcDisassembler.c:get_insn_field_r
Unexecuted instantiation: SparcDisassemblerExtension.c:get_insn_field_r
Unexecuted instantiation: SparcInstPrinter.c:get_insn_field_r
Unexecuted instantiation: SystemZDisassembler.c:get_insn_field_r
Unexecuted instantiation: SystemZInstPrinter.c:get_insn_field_r
Unexecuted instantiation: TriCoreInstPrinter.c:get_insn_field_r
Unexecuted instantiation: LoongArchDisassembler.c:get_insn_field_r
Unexecuted instantiation: XtensaDisassembler.c:get_insn_field_r
Unexecuted instantiation: XtensaInstPrinter.c:get_insn_field_r
Unexecuted instantiation: ARCDisassembler.c:get_insn_field_r
497
498
/// \brief Get specified bit from 32-bit instruction
499
static inline uint32_t get_insn_bit(uint32_t insn, uint8_t bit) 
500
0
{
501
0
  return get_insn_field(insn, bit, bit);
502
0
}
Unexecuted instantiation: SparcModule.c:get_insn_bit
Unexecuted instantiation: ARMMapping.c:get_insn_bit
Unexecuted instantiation: AArch64Mapping.c:get_insn_bit
Unexecuted instantiation: PPCMapping.c:get_insn_bit
Unexecuted instantiation: SparcMapping.c:get_insn_bit
Unexecuted instantiation: XCoreDisassembler.c:get_insn_bit
Unexecuted instantiation: XCoreInstPrinter.c:get_insn_bit
Unexecuted instantiation: M68KDisassembler.c:get_insn_bit
Unexecuted instantiation: TMS320C64xDisassembler.c:get_insn_bit
Unexecuted instantiation: TMS320C64xInstPrinter.c:get_insn_bit
Unexecuted instantiation: RISCVDisassembler.c:get_insn_bit
Unexecuted instantiation: TriCoreDisassembler.c:get_insn_bit
Unexecuted instantiation: HPPADisassembler.c:get_insn_bit
Unexecuted instantiation: XtensaMapping.c:get_insn_bit
Unexecuted instantiation: ARMDisassembler.c:get_insn_bit
Unexecuted instantiation: ARMDisassemblerExtension.c:get_insn_bit
Unexecuted instantiation: ARMInstPrinter.c:get_insn_bit
Unexecuted instantiation: AArch64Disassembler.c:get_insn_bit
Unexecuted instantiation: AArch64DisassemblerExtension.c:get_insn_bit
Unexecuted instantiation: AArch64InstPrinter.c:get_insn_bit
Unexecuted instantiation: MipsDisassembler.c:get_insn_bit
Unexecuted instantiation: PPCDisassembler.c:get_insn_bit
Unexecuted instantiation: PPCInstPrinter.c:get_insn_bit
Unexecuted instantiation: SparcDisassembler.c:get_insn_bit
Unexecuted instantiation: SparcDisassemblerExtension.c:get_insn_bit
Unexecuted instantiation: SparcInstPrinter.c:get_insn_bit
Unexecuted instantiation: SystemZDisassembler.c:get_insn_bit
Unexecuted instantiation: SystemZInstPrinter.c:get_insn_bit
Unexecuted instantiation: TriCoreInstPrinter.c:get_insn_bit
Unexecuted instantiation: LoongArchDisassembler.c:get_insn_bit
Unexecuted instantiation: XtensaDisassembler.c:get_insn_bit
Unexecuted instantiation: XtensaInstPrinter.c:get_insn_bit
Unexecuted instantiation: ARCDisassembler.c:get_insn_bit
503
504
/// \brief Create a bitmask with the N right-most bits set to 1, and all other
505
/// bits set to 0.  Only unsigned types are allowed.
506
static inline uint32_t maskTrailingOnes32(uint32_t N) 
507
0
{
508
0
  const unsigned Bits = CHAR_BIT * sizeof(uint32_t);
509
0
  return N == 0 ? 0 : (((uint32_t) -1) >> (Bits - N));
510
0
}
Unexecuted instantiation: SparcModule.c:maskTrailingOnes32
Unexecuted instantiation: ARMMapping.c:maskTrailingOnes32
Unexecuted instantiation: AArch64Mapping.c:maskTrailingOnes32
Unexecuted instantiation: PPCMapping.c:maskTrailingOnes32
Unexecuted instantiation: SparcMapping.c:maskTrailingOnes32
Unexecuted instantiation: XCoreDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: XCoreInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: M68KDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: TMS320C64xDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: TMS320C64xInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: RISCVDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: TriCoreDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: HPPADisassembler.c:maskTrailingOnes32
Unexecuted instantiation: XtensaMapping.c:maskTrailingOnes32
Unexecuted instantiation: ARMDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: ARMDisassemblerExtension.c:maskTrailingOnes32
Unexecuted instantiation: ARMInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: AArch64Disassembler.c:maskTrailingOnes32
Unexecuted instantiation: AArch64DisassemblerExtension.c:maskTrailingOnes32
Unexecuted instantiation: AArch64InstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: MipsDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: PPCDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: PPCInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: SparcDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: SparcDisassemblerExtension.c:maskTrailingOnes32
Unexecuted instantiation: SparcInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: SystemZDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: SystemZInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: TriCoreInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: LoongArchDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: XtensaDisassembler.c:maskTrailingOnes32
Unexecuted instantiation: XtensaInstPrinter.c:maskTrailingOnes32
Unexecuted instantiation: ARCDisassembler.c:maskTrailingOnes32
511
512
#endif