Global Information Lookup Global Information

Indirect branch information


An indirect branch (also known as a computed jump, indirect jump and register-indirect jump) is a type of program control instruction present in some machine language instruction sets. Rather than specifying the address of the next instruction to execute, as in a direct branch, the argument specifies where the address is located. An example is 'jump indirect on the r1 register', which means that the next instruction to be executed is at the address in register r1. The address to be jumped to is not known until the instruction is executed. Indirect branches can also depend on the value of a memory location.

An indirect branch can be useful to make a conditional branch, especially a multiway branch. For instance, based on program input, a value could be looked up in a jump table of pointers to code for handling the various cases implied by the data value. The data value could be added to the address of the table, with the result stored in a register. An indirect jump could then be made based on the value of that register, efficiently dispatching program control to the code appropriate to the input.

In a similar manner, subroutine call instructions can be indirect, with the address of the subroutine to be called specified in memory. Function Pointers are typically implemented with indirect subroutine calls.

Indirect branches were one of the attack surfaces of Spectre. To mitigate the attack GCC 8.1 introduced the following new options: -mindirect-branch=, -mfunction-return= and -mindirect-branch-register.[1][nb 1]

  1. ^ Cite error: The named reference GCC_2018_Spectre was invoked but never defined (see the help page).


Cite error: There are <ref group=nb> tags on this page, but the references will not show without a {{reflist|group=nb}} template (see the help page).

and 22 Related for: Indirect branch information

Request time (Page generated in 0.849 seconds.)

Indirect branch

Last Update:

An indirect branch (also known as a computed jump, indirect jump and register-indirect jump) is a type of program control instruction present in some...

Word Count : 357

Indirect branch tracking

Last Update:

Indirect branch tracking (IBT), also known as branch target identification (BTI) is a control flow integrity mechanism implemented on some Intel x86-64...

Word Count : 268

CPUID

Last Update:

Operating Environment Architecture, book III" (PDF). "AMD64 Technology Indirect Branch Control Extension" (PDF) (White paper). Revision 4.10.18. Advanced...

Word Count : 11410

Branch predictor

Last Update:

Indirect branch control (IBC) Indirect branch prediction barrier (IBPB) Indirect branch restricted speculation (IBRS) Single thread indirect branch predictor...

Word Count : 4762

Branch target predictor

Last Update:

target addresses of target branches. Indirect branch control (IBC) Indirect branch prediction barrier (IBPB) Indirect branch restricted speculation (IBRS)...

Word Count : 395

Indirect election

Last Update:

nearly all cases the body that controls the executive branch (such as a cabinet) is elected indirectly. This includes the cabinets of most parliamentary systems;...

Word Count : 1821

Branch table

Last Update:

result in saving one machine instruction, and avoids the indirect jump (to one of the branch instructions). The resulting list of pointers to functions...

Word Count : 2066

Instruction set architecture

Last Update:

Conditionally branch to another location if a certain condition holds. Indirectly branch to another location. Call another block of code, while saving the...

Word Count : 4278

Linux kernel version history

Last Update:

2022. "Indirect Branch Tracking - 006 - ID:655258 | 12th Generation Intel® Core™ Processors". edc.intel.com. Retrieved 11 July 2022. "Indirect branch tracking...

Word Count : 7854

Opcode

Last Update:

concepts Instruction set Opcode Illegal opcode Opcode table Operand Instructions NOP Branch Indirect branch Repeat instruction Execute instruction v t e...

Word Count : 1135

Zen 4

Last Update:

the first one. L2 BTB increased to 7K entries. Improved direct and indirect branch predictors. OP cache size increased by 68%, to 6.75K OPs. The OP cache...

Word Count : 3994

IBRS

Last Update:

may refer to: International Business Reply Service, a postal service Indirect Branch Restricted Speculation, an extended feature flag for the x86 architecture...

Word Count : 63

Apple A9

Last Update:

of shifter ALUs 4 Load/Store Units 2 Integer pipe buffer size 48 Number of branch units 2 Indirect branch units 1 Branch pipe buffer size 24 FP ALUs 3...

Word Count : 1377

Alder Lake

Last Update:

branch records (LBRs) Hypervisor-managed linear address translation (HLAT) Control-flow enforcement technology (CET), including support for indirect branch...

Word Count : 2703

X86 instruction listings

Last Update:

such as return-oriented programming: a shadow stack (CET_SS), and indirect branch tracking (CET_IBT). The RDSSPD and RDSSPQ instructions act as NOPs...

Word Count : 15580

Addressing mode

Last Update:

memory-indirect addressing could itself have an indirect flag set to indicate another memory indirect cycle. This flag is referred to as an indirection bit...

Word Count : 5929

IBC

Last Update:

International Buddhist Confederation, Republic of India IBC Root Beer Indirect Branch Control, information returned by the CPUID instruction for the Intel...

Word Count : 291

Tiger Lake

Last Update:

CPU cores TAGE-like directional branch predictor (with a global history size of 194 taken branches) Indirect branch tracking and CET shadow stack Intel...

Word Count : 1528

IBM 1130

Last Update:

Subprograms return to wherever they were called on that occasion using an indirect branch through that first word of the subprogram. Placing the return address...

Word Count : 10272

Banking agent

Last Update:

mobile network operator to process clients’ transactions. Rather than a branch teller, it is the owner or an employee of the retail outlet who conducts...

Word Count : 1580

Transient execution CPU vulnerability

Last Update:

2018). Branch Target Injection (Technical report). Retrieved 2024-03-06. Two mitigation techniques have been developed ...: indirect branch control mechanisms...

Word Count : 3249

Sandy Bridge

Last Update:

optimized branch predictor Sandy Bridge retains the four branch predictors found in Nehalem: the branch target buffer (BTB), indirect branch target array...

Word Count : 2686

PDF Search Engine © AllGlobal.net