[nix-shell:~/dev/zig/build-release]$ cat test.zir @void = primitive(void) @u32 = primitive(u32) @fnty = fntype([@u32, @u32], @void) @0 = str("entry") @1 = export(@0, "entry") @entry = fn(@fnty, { %0 = arg(0) %1 = arg(1) %2 = add(%0, %1) %3 = int(7) %4 = block("if", { %neq = cmp(%2, neq, %3) %5 = condbr(%neq, { %6 = unreachable() }, { %7 = breakvoid("if") }) }) %11 = returnvoid() }) [nix-shell:~/dev/zig/build-release]$ readelf -s test.o Symbol table '.symtab' contains 5 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000008000000 6 OBJECT LOCAL DEFAULT 2 0$0 2: 0000000008000008 8 OBJECT LOCAL DEFAULT 2 0 3: 0000000008000012 20 FUNC LOCAL DEFAULT 2 entry 4: 0000000008000012 20 FUNC GLOBAL DEFAULT 2 entry [nix-shell:~/dev/zig/build-release]$ objdump -d test.o test.o: file format elf64-x86-64 Disassembly of section .text: 0000000008000000 <0$0-0x8000000>: 8000000: 65 6e outsb %gs:(%rsi),(%dx) 8000002: 74 72 je 8000076 <0$0-0x7ffff8a> 8000004: 79 00 jns 8000006 <0$0-0x7fffffa> 8000006: 00 00 add %al,(%rax) 8000008: 00 00 add %al,(%rax) 800000a: 00 08 add %cl,(%rax) 800000c: 00 00 add %al,(%rax) 800000e: 00 00 add %al,(%rax) 8000010: 00 00 add %al,(%rax) 8000012: 48 01 f7 add %rsi,%rdi 8000015: 48 83 ff 07 cmp $0x7,%rdi 8000019: 0f 84 01 00 00 00 je 8000020 <0$0-0x7ffffe0> 800001f: cc int3 8000020: e9 00 00 00 00 jmpq 8000025 <0$0-0x7ffffdb> 8000025: c3 retq