Function Call Control Flow
Save a return address and transfer control to a called function.
Vendor-Neutral Definition
saved_return_address = PC + instruction_width; PC = target.
⚠️ Cross-vendor mappings describe semantic relationships and are not guaranteed one-to-one compiler
translations.
equivalent with restrictions
Both save a return address and transfer control to a called function.
| Property | NVIDIA PTX | AMDGPU |
|---|---|---|
| Instruction | call | s_call_i64, s_swappc_b64 |
| ISA Layer | Virtual | Native |
| Data Types | - | b64, i64 |
| Version / Target Introduced | PTX ISA 1.0 | gfx1100, gfx1100 |
Important Differences
- PTX's call additionally handles marshaling explicit parameter/return-value lists per its ABI; AMDGPU's call instructions only handle the control-transfer/return-address part - argument passing is the caller/callee's own responsibility via registers or memory, not part of the instruction itself.
Source Evidence
- Parallel Thread Execution ISA ↗ - NVIDIA Corporation
- User Guide for AMDGPU Backend ↗ - LLVM Project
Verification method: documentation