Add with Carry-Out Arithmetic
Add two operands and record the carry-out of the addition for use by a subsequent extended-precision add.
Vendor-Neutral Definition
d = a + b (mod 2^width); carry_out_flag = 1 if the true sum overflowed width bits, else 0.
⚠️ Cross-vendor mappings describe semantic relationships and are not guaranteed one-to-one compiler
translations.
equivalent with restrictions
Both add two operands and record whether the result overflowed, for use in a following extended-precision add.
| Property | NVIDIA PTX | AMDGPU |
|---|---|---|
| Instruction | add.cc | v_add_co_u32, s_add_u32 |
| ISA Layer | Virtual | Native |
| Data Types | - | u32 |
| Version / Target Introduced | PTX ISA 1.2 | gfx1100, gfx942/gfx1100 |
Important Differences
- PTX writes carry-out to a dedicated condition-code (CC) register read implicitly by the next .cc-suffixed instruction; AMDGPU's carry-out is read from VCC (vector form) or SCC (scalar form), general-purpose condition registers also affected by many other instructions - the two mechanisms are not drop-in equivalent register conventions.
Source Evidence
- Parallel Thread Execution ISA ↗ - NVIDIA Corporation
- User Guide for AMDGPU Backend ↗ - LLVM Project
Verification method: documentation