enum AddrSpace [src]

Fields

default
_

Members

Source

pub const AddrSpace = enum(u24) { default, _, // See llvm/lib/Target/X86/X86.h pub const x86 = struct { pub const gs: AddrSpace = @enumFromInt(256); pub const fs: AddrSpace = @enumFromInt(257); pub const ss: AddrSpace = @enumFromInt(258); pub const ptr32_sptr: AddrSpace = @enumFromInt(270); pub const ptr32_uptr: AddrSpace = @enumFromInt(271); pub const ptr64: AddrSpace = @enumFromInt(272); }; pub const x86_64 = x86; // See llvm/lib/Target/AVR/AVR.h pub const avr = struct { pub const data: AddrSpace = @enumFromInt(0); pub const program: AddrSpace = @enumFromInt(1); pub const program1: AddrSpace = @enumFromInt(2); pub const program2: AddrSpace = @enumFromInt(3); pub const program3: AddrSpace = @enumFromInt(4); pub const program4: AddrSpace = @enumFromInt(5); pub const program5: AddrSpace = @enumFromInt(6); }; // See llvm/lib/Target/NVPTX/NVPTX.h pub const nvptx = struct { pub const generic: AddrSpace = @enumFromInt(0); pub const global: AddrSpace = @enumFromInt(1); pub const constant: AddrSpace = @enumFromInt(2); pub const shared: AddrSpace = @enumFromInt(3); pub const param: AddrSpace = @enumFromInt(4); pub const local: AddrSpace = @enumFromInt(5); }; // See llvm/lib/Target/AMDGPU/AMDGPU.h pub const amdgpu = struct { pub const flat: AddrSpace = @enumFromInt(0); pub const global: AddrSpace = @enumFromInt(1); pub const region: AddrSpace = @enumFromInt(2); pub const local: AddrSpace = @enumFromInt(3); pub const constant: AddrSpace = @enumFromInt(4); pub const private: AddrSpace = @enumFromInt(5); pub const constant_32bit: AddrSpace = @enumFromInt(6); pub const buffer_fat_pointer: AddrSpace = @enumFromInt(7); pub const buffer_resource: AddrSpace = @enumFromInt(8); pub const buffer_strided_pointer: AddrSpace = @enumFromInt(9); pub const param_d: AddrSpace = @enumFromInt(6); pub const param_i: AddrSpace = @enumFromInt(7); pub const constant_buffer_0: AddrSpace = @enumFromInt(8); pub const constant_buffer_1: AddrSpace = @enumFromInt(9); pub const constant_buffer_2: AddrSpace = @enumFromInt(10); pub const constant_buffer_3: AddrSpace = @enumFromInt(11); pub const constant_buffer_4: AddrSpace = @enumFromInt(12); pub const constant_buffer_5: AddrSpace = @enumFromInt(13); pub const constant_buffer_6: AddrSpace = @enumFromInt(14); pub const constant_buffer_7: AddrSpace = @enumFromInt(15); pub const constant_buffer_8: AddrSpace = @enumFromInt(16); pub const constant_buffer_9: AddrSpace = @enumFromInt(17); pub const constant_buffer_10: AddrSpace = @enumFromInt(18); pub const constant_buffer_11: AddrSpace = @enumFromInt(19); pub const constant_buffer_12: AddrSpace = @enumFromInt(20); pub const constant_buffer_13: AddrSpace = @enumFromInt(21); pub const constant_buffer_14: AddrSpace = @enumFromInt(22); pub const constant_buffer_15: AddrSpace = @enumFromInt(23); pub const streamout_register: AddrSpace = @enumFromInt(128); }; pub const spirv = struct { pub const function: AddrSpace = @enumFromInt(0); pub const cross_workgroup: AddrSpace = @enumFromInt(1); pub const uniform_constant: AddrSpace = @enumFromInt(2); pub const workgroup: AddrSpace = @enumFromInt(3); pub const generic: AddrSpace = @enumFromInt(4); pub const device_only_intel: AddrSpace = @enumFromInt(5); pub const host_only_intel: AddrSpace = @enumFromInt(6); pub const input: AddrSpace = @enumFromInt(7); }; // See llvm/include/llvm/CodeGen/WasmAddressSpaces.h pub const wasm = struct { pub const default: AddrSpace = @enumFromInt(0); pub const variable: AddrSpace = @enumFromInt(1); pub const externref: AddrSpace = @enumFromInt(10); pub const funcref: AddrSpace = @enumFromInt(20); }; pub fn format(addr_space: AddrSpace, w: *Writer) Writer.Error!void { return Prefixed.format(.{ .addr_space = addr_space, .prefix = "" }, w); } pub const Prefixed = struct { addr_space: AddrSpace, prefix: []const u8, pub fn format(p: Prefixed, w: *Writer) Writer.Error!void { switch (p.addr_space) { .default => return, else => return w.print("{s}addrspace({d})", .{ p.prefix, p.addr_space }), } } }; pub fn fmt(addr_space: AddrSpace, prefix: []const u8) Prefixed { return .{ .addr_space = addr_space, .prefix = prefix }; } }