Install
$ agentstack add skill-mohitmishra786-low-level-dev-skills-branch-prediction-and-speculation ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Branch Prediction and Speculation
Purpose
Explain how modern CPUs predict branches, execute speculatively, recover on mispredict, and why speculation created side channels (Spectre/Meltdown) — linking performance tuning with security-aware low-level coding.
When to Use
- Hot loop branchy code underperforms expectations
- Evaluating
likely/unlikelyor branchless refactors - Understanding kernel
retpoline, IBRS, and similar mitigations - Secure coding around secret-dependent branches
Workflow
1. Branch predictor basics
Fetch sees conditional branch
├── Predict direction (taken / not-taken)
├── Speculatively execute predicted path
└── On resolve:
├── Correct → commit, ~0 penalty (deep pipelines still cost on mispredict)
└── Wrong → squash, refill from correct PC (10–20+ cycles typical)
Patterns: backward branches often predicted taken (loops); forward not-taken.
2. Performance patterns
/* Predictable — tight loop backward branch */
for (int i = 0; i threshold) /* hard to predict */
rare_path();
Techniques: branchless cmov/select, lookup tables, sorting data to reduce branches, splitting hot/cold paths.
/* Branchless min (integer) */
int m = a < b ? a : b; /* compiler may lower to cmov */
3. Compiler hints (use sparingly)
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
if (unlikely(ptr == NULL))
return -EINVAL;
Measure with perf — hints are not magic on modern predictors.
4. Speculative execution and side channels
CPUs may execute instructions before branch outcome is known. If speculated path touches secret-dependent memory, cache state can leak (Spectre variant 1).
Mitigations (high level):
- Kernel: retpoline, IBRS/IBPB, STIBP (see kernel
cpu_show_mitigations) - Compiler: speculative load hardening (
-mspeculative-load-hardeningon Clang) - Code: constant-time crypto — no secret-dependent branches or indices
Meltdown (Intel): user load from kernel mapping — fixed by KPTI (separate page tables).
5. Measurement
perf stat -e branches,branch-misses ./app
High branch-misses ratio → investigate hot branches.
6. Agent usage
/branch-prediction-and-speculation Make this comparison function constant-time against Spectre-style leakage
Common Problems
| Symptom | Cause | Fix | |---------|-------|-----| | Loop slower than expected | Mispredicted exit | Peel iterations; branchless tail | | likely no help | Predictor already good | Profile first | | Secret leak in crypto | Branches on secret bytes | Constant-time algorithms | | Mitigation regression | KPTI/retpoline overhead | Accept or isolate secrets | | "Branchless" slower | CMOV still executes both | Benchmark on target CPU |
Related Skills
skills/computer-architecture/cpu-pipelines-and-hazards— control hazardsskills/security/kernel-security— KPTI, CET, speculation mitigationsskills/low-level-programming/cpu-cache-opt— cache timing channelsskills/profilers/hardware-counters— branch-misses eventskills/runtimes/binary-hardening— userspace hardening overlap
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mohitmishra786
- Source: mohitmishra786/low-level-dev-skills
- License: MIT
- Homepage: https://www.lowleveldevskills.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.