LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::assembly::ebpf Namespace Reference

eBPF architecture-related namespace More...

Classes

class  Instruction
 This class represents an eBPF instruction. More...

Enumerations

enum class  OPCODE {
  PHI = 0 , INLINEASM = 1 , INLINEASM_BR = 2 , CFI_INSTRUCTION = 3 ,
  EH_LABEL = 4 , GC_LABEL = 5 , ANNOTATION_LABEL = 6 , KILL = 7 ,
  EXTRACT_SUBREG = 8 , INSERT_SUBREG = 9 , IMPLICIT_DEF = 10 , INIT_UNDEF = 11 ,
  SUBREG_TO_REG = 12 , COPY_TO_REGCLASS = 13 , DBG_VALUE = 14 , DBG_VALUE_LIST = 15 ,
  DBG_INSTR_REF = 16 , DBG_PHI = 17 , DBG_LABEL = 18 , REG_SEQUENCE = 19 ,
  COPY = 20 , BUNDLE = 21 , LIFETIME_START = 22 , LIFETIME_END = 23 ,
  PSEUDO_PROBE = 24 , ARITH_FENCE = 25 , STACKMAP = 26 , FENTRY_CALL = 27 ,
  PATCHPOINT = 28 , LOAD_STACK_GUARD = 29 , PREALLOCATED_SETUP = 30 , PREALLOCATED_ARG = 31 ,
  STATEPOINT = 32 , LOCAL_ESCAPE = 33 , FAULTING_OP = 34 , PATCHABLE_OP = 35 ,
  PATCHABLE_FUNCTION_ENTER = 36 , PATCHABLE_RET = 37 , PATCHABLE_FUNCTION_EXIT = 38 , PATCHABLE_TAIL_CALL = 39 ,
  PATCHABLE_EVENT_CALL = 40 , PATCHABLE_TYPED_EVENT_CALL = 41 , ICALL_BRANCH_FUNNEL = 42 , FAKE_USE = 43 ,
  MEMBARRIER = 44 , JUMP_TABLE_DEBUG_INFO = 45 , CONVERGENCECTRL_ENTRY = 46 , CONVERGENCECTRL_ANCHOR = 47 ,
  CONVERGENCECTRL_LOOP = 48 , CONVERGENCECTRL_GLUE = 49 , G_ASSERT_SEXT = 50 , G_ASSERT_ZEXT = 51 ,
  G_ASSERT_ALIGN = 52 , G_ADD = 53 , G_SUB = 54 , G_MUL = 55 ,
  G_SDIV = 56 , G_UDIV = 57 , G_SREM = 58 , G_UREM = 59 ,
  G_SDIVREM = 60 , G_UDIVREM = 61 , G_AND = 62 , G_OR = 63 ,
  G_XOR = 64 , G_ABDS = 65 , G_ABDU = 66 , G_IMPLICIT_DEF = 67 ,
  G_PHI = 68 , G_FRAME_INDEX = 69 , G_GLOBAL_VALUE = 70 , G_PTRAUTH_GLOBAL_VALUE = 71 ,
  G_CONSTANT_POOL = 72 , G_EXTRACT = 73 , G_UNMERGE_VALUES = 74 , G_INSERT = 75 ,
  G_MERGE_VALUES = 76 , G_BUILD_VECTOR = 77 , G_BUILD_VECTOR_TRUNC = 78 , G_CONCAT_VECTORS = 79 ,
  G_PTRTOINT = 80 , G_INTTOPTR = 81 , G_BITCAST = 82 , G_FREEZE = 83 ,
  G_CONSTANT_FOLD_BARRIER = 84 , G_INTRINSIC_FPTRUNC_ROUND = 85 , G_INTRINSIC_TRUNC = 86 , G_INTRINSIC_ROUND = 87 ,
  G_INTRINSIC_LRINT = 88 , G_INTRINSIC_LLRINT = 89 , G_INTRINSIC_ROUNDEVEN = 90 , G_READCYCLECOUNTER = 91 ,
  G_READSTEADYCOUNTER = 92 , G_LOAD = 93 , G_SEXTLOAD = 94 , G_ZEXTLOAD = 95 ,
  G_INDEXED_LOAD = 96 , G_INDEXED_SEXTLOAD = 97 , G_INDEXED_ZEXTLOAD = 98 , G_STORE = 99 ,
  G_INDEXED_STORE = 100 , G_ATOMIC_CMPXCHG_WITH_SUCCESS = 101 , G_ATOMIC_CMPXCHG = 102 , G_ATOMICRMW_XCHG = 103 ,
  G_ATOMICRMW_ADD = 104 , G_ATOMICRMW_SUB = 105 , G_ATOMICRMW_AND = 106 , G_ATOMICRMW_NAND = 107 ,
  G_ATOMICRMW_OR = 108 , G_ATOMICRMW_XOR = 109 , G_ATOMICRMW_MAX = 110 , G_ATOMICRMW_MIN = 111 ,
  G_ATOMICRMW_UMAX = 112 , G_ATOMICRMW_UMIN = 113 , G_ATOMICRMW_FADD = 114 , G_ATOMICRMW_FSUB = 115 ,
  G_ATOMICRMW_FMAX = 116 , G_ATOMICRMW_FMIN = 117 , G_ATOMICRMW_FMAXIMUM = 118 , G_ATOMICRMW_FMINIMUM = 119 ,
  G_ATOMICRMW_UINC_WRAP = 120 , G_ATOMICRMW_UDEC_WRAP = 121 , G_ATOMICRMW_USUB_COND = 122 , G_ATOMICRMW_USUB_SAT = 123 ,
  G_FENCE = 124 , G_PREFETCH = 125 , G_BRCOND = 126 , G_BRINDIRECT = 127 ,
  G_INVOKE_REGION_START = 128 , G_INTRINSIC = 129 , G_INTRINSIC_W_SIDE_EFFECTS = 130 , G_INTRINSIC_CONVERGENT = 131 ,
  G_INTRINSIC_CONVERGENT_W_SIDE_EFFECTS = 132 , G_ANYEXT = 133 , G_TRUNC = 134 , G_TRUNC_SSAT_S = 135 ,
  G_TRUNC_SSAT_U = 136 , G_TRUNC_USAT_U = 137 , G_CONSTANT = 138 , G_FCONSTANT = 139 ,
  G_VASTART = 140 , G_VAARG = 141 , G_SEXT = 142 , G_SEXT_INREG = 143 ,
  G_ZEXT = 144 , G_SHL = 145 , G_LSHR = 146 , G_ASHR = 147 ,
  G_FSHL = 148 , G_FSHR = 149 , G_ROTR = 150 , G_ROTL = 151 ,
  G_ICMP = 152 , G_FCMP = 153 , G_SCMP = 154 , G_UCMP = 155 ,
  G_SELECT = 156 , G_UADDO = 157 , G_UADDE = 158 , G_USUBO = 159 ,
  G_USUBE = 160 , G_SADDO = 161 , G_SADDE = 162 , G_SSUBO = 163 ,
  G_SSUBE = 164 , G_UMULO = 165 , G_SMULO = 166 , G_UMULH = 167 ,
  G_SMULH = 168 , G_UADDSAT = 169 , G_SADDSAT = 170 , G_USUBSAT = 171 ,
  G_SSUBSAT = 172 , G_USHLSAT = 173 , G_SSHLSAT = 174 , G_SMULFIX = 175 ,
  G_UMULFIX = 176 , G_SMULFIXSAT = 177 , G_UMULFIXSAT = 178 , G_SDIVFIX = 179 ,
  G_UDIVFIX = 180 , G_SDIVFIXSAT = 181 , G_UDIVFIXSAT = 182 , G_FADD = 183 ,
  G_FSUB = 184 , G_FMUL = 185 , G_FMA = 186 , G_FMAD = 187 ,
  G_FDIV = 188 , G_FREM = 189 , G_FPOW = 190 , G_FPOWI = 191 ,
  G_FEXP = 192 , G_FEXP2 = 193 , G_FEXP10 = 194 , G_FLOG = 195 ,
  G_FLOG2 = 196 , G_FLOG10 = 197 , G_FLDEXP = 198 , G_FFREXP = 199 ,
  G_FNEG = 200 , G_FPEXT = 201 , G_FPTRUNC = 202 , G_FPTOSI = 203 ,
  G_FPTOUI = 204 , G_SITOFP = 205 , G_UITOFP = 206 , G_FPTOSI_SAT = 207 ,
  G_FPTOUI_SAT = 208 , G_FABS = 209 , G_FCOPYSIGN = 210 , G_IS_FPCLASS = 211 ,
  G_FCANONICALIZE = 212 , G_FMINNUM = 213 , G_FMAXNUM = 214 , G_FMINNUM_IEEE = 215 ,
  G_FMAXNUM_IEEE = 216 , G_FMINIMUM = 217 , G_FMAXIMUM = 218 , G_FMINIMUMNUM = 219 ,
  G_FMAXIMUMNUM = 220 , G_GET_FPENV = 221 , G_SET_FPENV = 222 , G_RESET_FPENV = 223 ,
  G_GET_FPMODE = 224 , G_SET_FPMODE = 225 , G_RESET_FPMODE = 226 , G_GET_ROUNDING = 227 ,
  G_PTR_ADD = 228 , G_PTRMASK = 229 , G_SMIN = 230 , G_SMAX = 231 ,
  G_UMIN = 232 , G_UMAX = 233 , G_ABS = 234 , G_LROUND = 235 ,
  G_LLROUND = 236 , G_BR = 237 , G_BRJT = 238 , G_VSCALE = 239 ,
  G_INSERT_SUBVECTOR = 240 , G_EXTRACT_SUBVECTOR = 241 , G_INSERT_VECTOR_ELT = 242 , G_EXTRACT_VECTOR_ELT = 243 ,
  G_SHUFFLE_VECTOR = 244 , G_SPLAT_VECTOR = 245 , G_STEP_VECTOR = 246 , G_VECTOR_COMPRESS = 247 ,
  G_CTTZ = 248 , G_CTTZ_ZERO_UNDEF = 249 , G_CTLZ = 250 , G_CTLZ_ZERO_UNDEF = 251 ,
  G_CTPOP = 252 , G_BSWAP = 253 , G_BITREVERSE = 254 , G_FCEIL = 255 ,
  G_FCOS = 256 , G_FSIN = 257 , G_FSINCOS = 258 , G_FTAN = 259 ,
  G_FACOS = 260 , G_FASIN = 261 , G_FATAN = 262 , G_FATAN2 = 263 ,
  G_FCOSH = 264 , G_FSINH = 265 , G_FTANH = 266 , G_FSQRT = 267 ,
  G_FFLOOR = 268 , G_FRINT = 269 , G_FNEARBYINT = 270 , G_ADDRSPACE_CAST = 271 ,
  G_BLOCK_ADDR = 272 , G_JUMP_TABLE = 273 , G_DYN_STACKALLOC = 274 , G_STACKSAVE = 275 ,
  G_STACKRESTORE = 276 , G_STRICT_FADD = 277 , G_STRICT_FSUB = 278 , G_STRICT_FMUL = 279 ,
  G_STRICT_FDIV = 280 , G_STRICT_FREM = 281 , G_STRICT_FMA = 282 , G_STRICT_FSQRT = 283 ,
  G_STRICT_FLDEXP = 284 , G_READ_REGISTER = 285 , G_WRITE_REGISTER = 286 , G_MEMCPY = 287 ,
  G_MEMCPY_INLINE = 288 , G_MEMMOVE = 289 , G_MEMSET = 290 , G_BZERO = 291 ,
  G_TRAP = 292 , G_DEBUGTRAP = 293 , G_UBSANTRAP = 294 , G_VECREDUCE_SEQ_FADD = 295 ,
  G_VECREDUCE_SEQ_FMUL = 296 , G_VECREDUCE_FADD = 297 , G_VECREDUCE_FMUL = 298 , G_VECREDUCE_FMAX = 299 ,
  G_VECREDUCE_FMIN = 300 , G_VECREDUCE_FMAXIMUM = 301 , G_VECREDUCE_FMINIMUM = 302 , G_VECREDUCE_ADD = 303 ,
  G_VECREDUCE_MUL = 304 , G_VECREDUCE_AND = 305 , G_VECREDUCE_OR = 306 , G_VECREDUCE_XOR = 307 ,
  G_VECREDUCE_SMAX = 308 , G_VECREDUCE_SMIN = 309 , G_VECREDUCE_UMAX = 310 , G_VECREDUCE_UMIN = 311 ,
  G_SBFX = 312 , G_UBFX = 313 , ADJCALLSTACKDOWN = 314 , ADJCALLSTACKUP = 315 ,
  FI_ri = 316 , MEMCPY = 317 , Select = 318 , Select_32 = 319 ,
  Select_32_64 = 320 , Select_64_32 = 321 , Select_Ri = 322 , Select_Ri_32 = 323 ,
  Select_Ri_32_64 = 324 , Select_Ri_64_32 = 325 , ADDR_SPACE_CAST = 326 , ADD_ri = 327 ,
  ADD_ri_32 = 328 , ADD_rr = 329 , ADD_rr_32 = 330 , AND_ri = 331 ,
  AND_ri_32 = 332 , AND_rr = 333 , AND_rr_32 = 334 , BE16 = 335 ,
  BE32 = 336 , BE64 = 337 , BSWAP16 = 338 , BSWAP32 = 339 ,
  BSWAP64 = 340 , CMPXCHGD = 341 , CMPXCHGW32 = 342 , CORE_LD32 = 343 ,
  CORE_LD64 = 344 , CORE_SHIFT = 345 , CORE_ST = 346 , DIV_ri = 347 ,
  DIV_ri_32 = 348 , DIV_rr = 349 , DIV_rr_32 = 350 , JAL = 351 ,
  JALX = 352 , JCOND = 353 , JEQ_ri = 354 , JEQ_ri_32 = 355 ,
  JEQ_rr = 356 , JEQ_rr_32 = 357 , JMP = 358 , JMPL = 359 ,
  JNE_ri = 360 , JNE_ri_32 = 361 , JNE_rr = 362 , JNE_rr_32 = 363 ,
  JSET_ri = 364 , JSET_ri_32 = 365 , JSET_rr = 366 , JSET_rr_32 = 367 ,
  JSGE_ri = 368 , JSGE_ri_32 = 369 , JSGE_rr = 370 , JSGE_rr_32 = 371 ,
  JSGT_ri = 372 , JSGT_ri_32 = 373 , JSGT_rr = 374 , JSGT_rr_32 = 375 ,
  JSLE_ri = 376 , JSLE_ri_32 = 377 , JSLE_rr = 378 , JSLE_rr_32 = 379 ,
  JSLT_ri = 380 , JSLT_ri_32 = 381 , JSLT_rr = 382 , JSLT_rr_32 = 383 ,
  JUGE_ri = 384 , JUGE_ri_32 = 385 , JUGE_rr = 386 , JUGE_rr_32 = 387 ,
  JUGT_ri = 388 , JUGT_ri_32 = 389 , JUGT_rr = 390 , JUGT_rr_32 = 391 ,
  JULE_ri = 392 , JULE_ri_32 = 393 , JULE_rr = 394 , JULE_rr_32 = 395 ,
  JULT_ri = 396 , JULT_ri_32 = 397 , JULT_rr = 398 , JULT_rr_32 = 399 ,
  LDB = 400 , LDB32 = 401 , LDBACQ32 = 402 , LDBSX = 403 ,
  LDD = 404 , LDDACQ = 405 , LDH = 406 , LDH32 = 407 ,
  LDHACQ32 = 408 , LDHSX = 409 , LDW = 410 , LDW32 = 411 ,
  LDWACQ32 = 412 , LDWSX = 413 , LD_ABS_B = 414 , LD_ABS_H = 415 ,
  LD_ABS_W = 416 , LD_IND_B = 417 , LD_IND_H = 418 , LD_IND_W = 419 ,
  LD_imm64 = 420 , LD_pseudo = 421 , LE16 = 422 , LE32 = 423 ,
  LE64 = 424 , MOD_ri = 425 , MOD_ri_32 = 426 , MOD_rr = 427 ,
  MOD_rr_32 = 428 , MOVSX_rr_16 = 429 , MOVSX_rr_32 = 430 , MOVSX_rr_32_16 = 431 ,
  MOVSX_rr_32_8 = 432 , MOVSX_rr_8 = 433 , MOV_32_64 = 434 , MOV_ri = 435 ,
  MOV_ri_32 = 436 , MOV_rr = 437 , MOV_rr_32 = 438 , MUL_ri = 439 ,
  MUL_ri_32 = 440 , MUL_rr = 441 , MUL_rr_32 = 442 , NEG_32 = 443 ,
  NEG_64 = 444 , NOP = 445 , OR_ri = 446 , OR_ri_32 = 447 ,
  OR_rr = 448 , OR_rr_32 = 449 , RET = 450 , SDIV_ri = 451 ,
  SDIV_ri_32 = 452 , SDIV_rr = 453 , SDIV_rr_32 = 454 , SLL_ri = 455 ,
  SLL_ri_32 = 456 , SLL_rr = 457 , SLL_rr_32 = 458 , SMOD_ri = 459 ,
  SMOD_ri_32 = 460 , SMOD_rr = 461 , SMOD_rr_32 = 462 , SRA_ri = 463 ,
  SRA_ri_32 = 464 , SRA_rr = 465 , SRA_rr_32 = 466 , SRL_ri = 467 ,
  SRL_ri_32 = 468 , SRL_rr = 469 , SRL_rr_32 = 470 , STB = 471 ,
  STB32 = 472 , STBREL32 = 473 , STB_imm = 474 , STD = 475 ,
  STDREL = 476 , STD_imm = 477 , STH = 478 , STH32 = 479 ,
  STHREL32 = 480 , STH_imm = 481 , STW = 482 , STW32 = 483 ,
  STWREL32 = 484 , STW_imm = 485 , SUB_ri = 486 , SUB_ri_32 = 487 ,
  SUB_rr = 488 , SUB_rr_32 = 489 , XADDD = 490 , XADDW = 491 ,
  XADDW32 = 492 , XANDD = 493 , XANDW32 = 494 , XCHGD = 495 ,
  XCHGW32 = 496 , XFADDD = 497 , XFADDW32 = 498 , XFANDD = 499 ,
  XFANDW32 = 500 , XFORD = 501 , XFORW32 = 502 , XFXORD = 503 ,
  XFXORW32 = 504 , XORD = 505 , XORW32 = 506 , XOR_ri = 507 ,
  XOR_ri_32 = 508 , XOR_rr = 509 , XOR_rr_32 = 510 , XXORD = 511 ,
  XXORW32 = 512 , INSTRUCTION_LIST_END = 513
}
enum class  REG {
  NoRegister = 0 , R0 = 1 , R1 = 2 , R2 = 3 ,
  R3 = 4 , R4 = 5 , R5 = 6 , R6 = 7 ,
  R7 = 8 , R8 = 9 , R9 = 10 , R10 = 11 ,
  R11 = 12 , W0 = 13 , W1 = 14 , W2 = 15 ,
  W3 = 16 , W4 = 17 , W5 = 18 , W6 = 19 ,
  W7 = 20 , W8 = 21 , W9 = 22 , W10 = 23 ,
  W11 = 24 , NUM_TARGET_REGS = 25
}

Functions

const char * get_register_name (REG r)

Detailed Description

eBPF architecture-related namespace

Enumeration Type Documentation

◆ OPCODE

enum class LIEF::assembly::ebpf::OPCODE
strong
Enumerator
PHI 
INLINEASM 
INLINEASM_BR 
CFI_INSTRUCTION 
EH_LABEL 
GC_LABEL 
ANNOTATION_LABEL 
KILL 
EXTRACT_SUBREG 
INSERT_SUBREG 
IMPLICIT_DEF 
INIT_UNDEF 
SUBREG_TO_REG 
COPY_TO_REGCLASS 
DBG_VALUE 
DBG_VALUE_LIST 
DBG_INSTR_REF 
DBG_PHI 
DBG_LABEL 
REG_SEQUENCE 
COPY 
BUNDLE 
LIFETIME_START 
LIFETIME_END 
PSEUDO_PROBE 
ARITH_FENCE 
STACKMAP 
FENTRY_CALL 
PATCHPOINT 
LOAD_STACK_GUARD 
PREALLOCATED_SETUP 
PREALLOCATED_ARG 
STATEPOINT 
LOCAL_ESCAPE 
FAULTING_OP 
PATCHABLE_OP 
PATCHABLE_FUNCTION_ENTER 
PATCHABLE_RET 
PATCHABLE_FUNCTION_EXIT 
PATCHABLE_TAIL_CALL 
PATCHABLE_EVENT_CALL 
PATCHABLE_TYPED_EVENT_CALL 
ICALL_BRANCH_FUNNEL 
FAKE_USE 
MEMBARRIER 
JUMP_TABLE_DEBUG_INFO 
CONVERGENCECTRL_ENTRY 
CONVERGENCECTRL_ANCHOR 
CONVERGENCECTRL_LOOP 
CONVERGENCECTRL_GLUE 
G_ASSERT_SEXT 
G_ASSERT_ZEXT 
G_ASSERT_ALIGN 
G_ADD 
G_SUB 
G_MUL 
G_SDIV 
G_UDIV 
G_SREM 
G_UREM 
G_SDIVREM 
G_UDIVREM 
G_AND 
G_OR 
G_XOR 
G_ABDS 
G_ABDU 
G_IMPLICIT_DEF 
G_PHI 
G_FRAME_INDEX 
G_GLOBAL_VALUE 
G_PTRAUTH_GLOBAL_VALUE 
G_CONSTANT_POOL 
G_EXTRACT 
G_UNMERGE_VALUES 
G_INSERT 
G_MERGE_VALUES 
G_BUILD_VECTOR 
G_BUILD_VECTOR_TRUNC 
G_CONCAT_VECTORS 
G_PTRTOINT 
G_INTTOPTR 
G_BITCAST 
G_FREEZE 
G_CONSTANT_FOLD_BARRIER 
G_INTRINSIC_FPTRUNC_ROUND 
G_INTRINSIC_TRUNC 
G_INTRINSIC_ROUND 
G_INTRINSIC_LRINT 
G_INTRINSIC_LLRINT 
G_INTRINSIC_ROUNDEVEN 
G_READCYCLECOUNTER 
G_READSTEADYCOUNTER 
G_LOAD 
G_SEXTLOAD 
G_ZEXTLOAD 
G_INDEXED_LOAD 
G_INDEXED_SEXTLOAD 
G_INDEXED_ZEXTLOAD 
G_STORE 
G_INDEXED_STORE 
G_ATOMIC_CMPXCHG_WITH_SUCCESS 
G_ATOMIC_CMPXCHG 
G_ATOMICRMW_XCHG 
G_ATOMICRMW_ADD 
G_ATOMICRMW_SUB 
G_ATOMICRMW_AND 
G_ATOMICRMW_NAND 
G_ATOMICRMW_OR 
G_ATOMICRMW_XOR 
G_ATOMICRMW_MAX 
G_ATOMICRMW_MIN 
G_ATOMICRMW_UMAX 
G_ATOMICRMW_UMIN 
G_ATOMICRMW_FADD 
G_ATOMICRMW_FSUB 
G_ATOMICRMW_FMAX 
G_ATOMICRMW_FMIN 
G_ATOMICRMW_FMAXIMUM 
G_ATOMICRMW_FMINIMUM 
G_ATOMICRMW_UINC_WRAP 
G_ATOMICRMW_UDEC_WRAP 
G_ATOMICRMW_USUB_COND 
G_ATOMICRMW_USUB_SAT 
G_FENCE 
G_PREFETCH 
G_BRCOND 
G_BRINDIRECT 
G_INVOKE_REGION_START 
G_INTRINSIC 
G_INTRINSIC_W_SIDE_EFFECTS 
G_INTRINSIC_CONVERGENT 
G_INTRINSIC_CONVERGENT_W_SIDE_EFFECTS 
G_ANYEXT 
G_TRUNC 
G_TRUNC_SSAT_S 
G_TRUNC_SSAT_U 
G_TRUNC_USAT_U 
G_CONSTANT 
G_FCONSTANT 
G_VASTART 
G_VAARG 
G_SEXT 
G_SEXT_INREG 
G_ZEXT 
G_SHL 
G_LSHR 
G_ASHR 
G_FSHL 
G_FSHR 
G_ROTR 
G_ROTL 
G_ICMP 
G_FCMP 
G_SCMP 
G_UCMP 
G_SELECT 
G_UADDO 
G_UADDE 
G_USUBO 
G_USUBE 
G_SADDO 
G_SADDE 
G_SSUBO 
G_SSUBE 
G_UMULO 
G_SMULO 
G_UMULH 
G_SMULH 
G_UADDSAT 
G_SADDSAT 
G_USUBSAT 
G_SSUBSAT 
G_USHLSAT 
G_SSHLSAT 
G_SMULFIX 
G_UMULFIX 
G_SMULFIXSAT 
G_UMULFIXSAT 
G_SDIVFIX 
G_UDIVFIX 
G_SDIVFIXSAT 
G_UDIVFIXSAT 
G_FADD 
G_FSUB 
G_FMUL 
G_FMA 
G_FMAD 
G_FDIV 
G_FREM 
G_FPOW 
G_FPOWI 
G_FEXP 
G_FEXP2 
G_FEXP10 
G_FLOG 
G_FLOG2 
G_FLOG10 
G_FLDEXP 
G_FFREXP 
G_FNEG 
G_FPEXT 
G_FPTRUNC 
G_FPTOSI 
G_FPTOUI 
G_SITOFP 
G_UITOFP 
G_FPTOSI_SAT 
G_FPTOUI_SAT 
G_FABS 
G_FCOPYSIGN 
G_IS_FPCLASS 
G_FCANONICALIZE 
G_FMINNUM 
G_FMAXNUM 
G_FMINNUM_IEEE 
G_FMAXNUM_IEEE 
G_FMINIMUM 
G_FMAXIMUM 
G_FMINIMUMNUM 
G_FMAXIMUMNUM 
G_GET_FPENV 
G_SET_FPENV 
G_RESET_FPENV 
G_GET_FPMODE 
G_SET_FPMODE 
G_RESET_FPMODE 
G_GET_ROUNDING 
G_PTR_ADD 
G_PTRMASK 
G_SMIN 
G_SMAX 
G_UMIN 
G_UMAX 
G_ABS 
G_LROUND 
G_LLROUND 
G_BR 
G_BRJT 
G_VSCALE 
G_INSERT_SUBVECTOR 
G_EXTRACT_SUBVECTOR 
G_INSERT_VECTOR_ELT 
G_EXTRACT_VECTOR_ELT 
G_SHUFFLE_VECTOR 
G_SPLAT_VECTOR 
G_STEP_VECTOR 
G_VECTOR_COMPRESS 
G_CTTZ 
G_CTTZ_ZERO_UNDEF 
G_CTLZ 
G_CTLZ_ZERO_UNDEF 
G_CTPOP 
G_BSWAP 
G_BITREVERSE 
G_FCEIL 
G_FCOS 
G_FSIN 
G_FSINCOS 
G_FTAN 
G_FACOS 
G_FASIN 
G_FATAN 
G_FATAN2 
G_FCOSH 
G_FSINH 
G_FTANH 
G_FSQRT 
G_FFLOOR 
G_FRINT 
G_FNEARBYINT 
G_ADDRSPACE_CAST 
G_BLOCK_ADDR 
G_JUMP_TABLE 
G_DYN_STACKALLOC 
G_STACKSAVE 
G_STACKRESTORE 
G_STRICT_FADD 
G_STRICT_FSUB 
G_STRICT_FMUL 
G_STRICT_FDIV 
G_STRICT_FREM 
G_STRICT_FMA 
G_STRICT_FSQRT 
G_STRICT_FLDEXP 
G_READ_REGISTER 
G_WRITE_REGISTER 
G_MEMCPY 
G_MEMCPY_INLINE 
G_MEMMOVE 
G_MEMSET 
G_BZERO 
G_TRAP 
G_DEBUGTRAP 
G_UBSANTRAP 
G_VECREDUCE_SEQ_FADD 
G_VECREDUCE_SEQ_FMUL 
G_VECREDUCE_FADD 
G_VECREDUCE_FMUL 
G_VECREDUCE_FMAX 
G_VECREDUCE_FMIN 
G_VECREDUCE_FMAXIMUM 
G_VECREDUCE_FMINIMUM 
G_VECREDUCE_ADD 
G_VECREDUCE_MUL 
G_VECREDUCE_AND 
G_VECREDUCE_OR 
G_VECREDUCE_XOR 
G_VECREDUCE_SMAX 
G_VECREDUCE_SMIN 
G_VECREDUCE_UMAX 
G_VECREDUCE_UMIN 
G_SBFX 
G_UBFX 
ADJCALLSTACKDOWN 
ADJCALLSTACKUP 
FI_ri 
MEMCPY 
Select 
Select_32 
Select_32_64 
Select_64_32 
Select_Ri 
Select_Ri_32 
Select_Ri_32_64 
Select_Ri_64_32 
ADDR_SPACE_CAST 
ADD_ri 
ADD_ri_32 
ADD_rr 
ADD_rr_32 
AND_ri 
AND_ri_32 
AND_rr 
AND_rr_32 
BE16 
BE32 
BE64 
BSWAP16 
BSWAP32 
BSWAP64 
CMPXCHGD 
CMPXCHGW32 
CORE_LD32 
CORE_LD64 
CORE_SHIFT 
CORE_ST 
DIV_ri 
DIV_ri_32 
DIV_rr 
DIV_rr_32 
JAL 
JALX 
JCOND 
JEQ_ri 
JEQ_ri_32 
JEQ_rr 
JEQ_rr_32 
JMP 
JMPL 
JNE_ri 
JNE_ri_32 
JNE_rr 
JNE_rr_32 
JSET_ri 
JSET_ri_32 
JSET_rr 
JSET_rr_32 
JSGE_ri 
JSGE_ri_32 
JSGE_rr 
JSGE_rr_32 
JSGT_ri 
JSGT_ri_32 
JSGT_rr 
JSGT_rr_32 
JSLE_ri 
JSLE_ri_32 
JSLE_rr 
JSLE_rr_32 
JSLT_ri 
JSLT_ri_32 
JSLT_rr 
JSLT_rr_32 
JUGE_ri 
JUGE_ri_32 
JUGE_rr 
JUGE_rr_32 
JUGT_ri 
JUGT_ri_32 
JUGT_rr 
JUGT_rr_32 
JULE_ri 
JULE_ri_32 
JULE_rr 
JULE_rr_32 
JULT_ri 
JULT_ri_32 
JULT_rr 
JULT_rr_32 
LDB 
LDB32 
LDBACQ32 
LDBSX 
LDD 
LDDACQ 
LDH 
LDH32 
LDHACQ32 
LDHSX 
LDW 
LDW32 
LDWACQ32 
LDWSX 
LD_ABS_B 
LD_ABS_H 
LD_ABS_W 
LD_IND_B 
LD_IND_H 
LD_IND_W 
LD_imm64 
LD_pseudo 
LE16 
LE32 
LE64 
MOD_ri 
MOD_ri_32 
MOD_rr 
MOD_rr_32 
MOVSX_rr_16 
MOVSX_rr_32 
MOVSX_rr_32_16 
MOVSX_rr_32_8 
MOVSX_rr_8 
MOV_32_64 
MOV_ri 
MOV_ri_32 
MOV_rr 
MOV_rr_32 
MUL_ri 
MUL_ri_32 
MUL_rr 
MUL_rr_32 
NEG_32 
NEG_64 
NOP 
OR_ri 
OR_ri_32 
OR_rr 
OR_rr_32 
RET 
SDIV_ri 
SDIV_ri_32 
SDIV_rr 
SDIV_rr_32 
SLL_ri 
SLL_ri_32 
SLL_rr 
SLL_rr_32 
SMOD_ri 
SMOD_ri_32 
SMOD_rr 
SMOD_rr_32 
SRA_ri 
SRA_ri_32 
SRA_rr 
SRA_rr_32 
SRL_ri 
SRL_ri_32 
SRL_rr 
SRL_rr_32 
STB 
STB32 
STBREL32 
STB_imm 
STD 
STDREL 
STD_imm 
STH 
STH32 
STHREL32 
STH_imm 
STW 
STW32 
STWREL32 
STW_imm 
SUB_ri 
SUB_ri_32 
SUB_rr 
SUB_rr_32 
XADDD 
XADDW 
XADDW32 
XANDD 
XANDW32 
XCHGD 
XCHGW32 
XFADDD 
XFADDW32 
XFANDD 
XFANDW32 
XFORD 
XFORW32 
XFXORD 
XFXORW32 
XORD 
XORW32 
XOR_ri 
XOR_ri_32 
XOR_rr 
XOR_rr_32 
XXORD 
XXORW32 
INSTRUCTION_LIST_END 

◆ REG

enum class LIEF::assembly::ebpf::REG
strong
Enumerator
NoRegister 
R0 
R1 
R2 
R3 
R4 
R5 
R6 
R7 
R8 
R9 
R10 
R11 
W0 
W1 
W2 
W3 
W4 
W5 
W6 
W7 
W8 
W9 
W10 
W11 
NUM_TARGET_REGS 

Function Documentation

◆ get_register_name()

const char * LIEF::assembly::ebpf::get_register_name ( REG r)