Teaches Claude to read compiler vectorization reports, write SSE2/AVX2/NEON intrinsics, and debug why loops aren't auto-vectorizing. Covers the full workflow from checking GCC's fopt-info-vec output to manually writing intrinsics when the compiler can't optimize your code. Includes runtime CPU feature detection with __builtin_cpu_supports, common auto-vectorization blockers like pointer aliasing, and concrete intrinsics examples for x86 and ARM. The guidance on when to use intrinsics versus letting the compiler handle it is honest: try auto-vectorization first, only drop to intrinsics for hand-tuned shuffles or when the compiler fails. Useful if you're profiling hot loops and need to squeeze out performance without rewriting everything in assembly.

skills.sh installs
701
GitHub stars
279
last updated
Aug 21, 2026

Install

$ npx -y skills add mohitmishra786/low-level-dev-skills --skill simd-intrinsics --agent claude-code

Installs into .claude/skills of the current project.

Files

SIMD Intrinsics

Purpose

Guide agents through SIMD: reading auto-vectorization output, writing SSE2/AVX2/NEON intrinsics, runtime CPU feature detection, and choosing between compiler auto-vectorization and manual intrinsics.

Triggers

  • "How do I check if my loop is being auto-vectorized?"
  • "How do I write SSE2/AVX2 intrinsics?"
  • "Auto-vectorization failed — how do I fix it?"
  • "How do I check for CPU features at runtime?"
  • "Should I use intrinsics or let the compiler vectorize?"
  • "How do I write NEON intrinsics for ARM?"

Workflow

1. Check auto-vectorization

# GCC: show vectorization info
gcc -O2 -march=native -fopt-info-vec src/hot.c -o hot

# Verbose: show missed + successful
gcc -O2 -march=native -fopt-info-vec-missed -fopt-info-vec-optimized src/hot.c

# Clang: vectorization remarks
clang -O2 -march=native \
    -Rpass=loop-vectorize \
    -Rpass-missed=loop-vectorize \
    -Rpass-analysis=loop-vectorize \
    src/hot.c -o hot

# Example missed message:
# hot.c:15:5: remark: loop not vectorized: value that could not be identified as
# reduction is used outside the loop [-Rpass-missed=loop-vectorize]

Common auto-vectorization blockers:

Sponsors

Details

Repository
github.com/mohitmishra786/low-level-dev-skills
Categories
Documentation, Databases
First seen
Jun 3, 2026

More from mohitmishra786/low-level-dev-skills

All 54
1joellewis avatarcounterparty-riskjoellewis/finance_skillsGuide counterparty credit risk measurement and management for OTC and securities trading, organized around three workflows: assessing a new counterparty, respon700skills.sh installs
2dodopayments avatarlicense-keysdodopayments/skillsGuide for implementing license key management with Dodo Payments - activation, validation, and access control for software products.696skills.sh installs
3joellewis avatarpost-trade-compliancejoellewis/finance_skillsGuide post-trade compliance monitoring and trade surveillance system design. Use when building alert logic to detect churning, front-running, cherry-picking, la691skills.sh installs
4supabase avatarskill-creatorsupabase/agent-skillsGuide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabil691skills.sh installs
5mohitmishra786 avatarlinux-kernel-modulesmohitmishra786/low-level-dev-skillsLinux kernel module skill for writing and debugging loadable kernel modules. Use when writing LKMs with Kbuild, adding module parameters, creating /proc and sys689skills.sh installs
6syncfusion avatarsyncfusion-react-popupssyncfusion/react-ui-components-skillsComprehensive guide for implementing Syncfusion React popup components including Dialog, ToolTip. Use this when building modal/modeless dialogs, confirmation po688skills.sh installs