s_addk_i32 GPU Native ISA AMD Scalar

S ADDK I32 Scalar Arithmetic

s_addk_i32

Add a scalar input and the sign extension of a literal 16-bit constant, store the result into a scalar register and store the carry-out bit into SCC.

Encoding

Verified bit-level encoding data is not yet available for this instruction. The instruction-format classification below (SOPK) is well-documented and stable; exact per-target opcode/field bit positions have not yet been imported from a verified source.
Format SOPK
Execution Unit

Operands

Operand details have not yet been curated for this instruction.

GFX Target Compatibility

TargetSupport
gfx1100✅ Supported

Related

More in Scalar Arithmetic

Reference

AMDGPU / GFX ISA

Semantics

tmp = D0.i32; // Save value to check sign bits for overflow later. D0.i32 = D0.i32 + 32'I(signext(S0.i16)); SCC = ((tmp[31] == S0.i16[15]) && (tmp[31] != D0.i32[31])); // signed overflow.

Example

s_addk_i32 s0, 0x1234

A real instruction accepted by the LLVM assembler, taken verbatim from LLVM's own AMDGPU MC test suite (gfx11). Not from an AMD document, and not authored here.

Sources