popc GPU Virtual ISA NVIDIA
Population Count Integer Arithmetic Instructions
popc.type d, a;
Count the number of set bits in an integer operand.
Encoding
PTX is a virtual instruction set. It has no single, stable native
binary encoding - the compiler lowers this instruction to different native machine
code depending on the selected NVIDIA target architecture (compute capability).
This page intentionally shows no bit-diagram; see the target/version requirements
below for what governs how this instruction compiles.
Syntax Forms
One mnemonic covers many type / state-space / scope / modifier combinations - each row below is an independently valid form.
| Syntax | Data Types | State Space(s) | Modifiers | Min. Target | Description |
|---|---|---|---|---|---|
| popc.type d, a; | b32, b64 | sm_20 | Population count. |
Operands
-
d
Destination register (u32) -
a
Source operand
Reference
NVIDIA PTX ISA
Description
Count the number of one bits in a and place the resulting population count in 32-bit
destination register d. Operand a has the instruction type and destination d has type.u32.
Semantics
d = number of 1-bits in a.
Examples
popc.b32 d, a;
popc.b64 cnt, X; // cnt is .u32Reproduced from NVIDIA's official PTX ISA documentation for technical accuracy.
Sources
-
Parallel Thread Execution ISA ↗
- NVIDIA Corporation, Chapter 9 - Instruction Set
Deep-linked directly to this instruction's section.