blob: 91ffb239014b2da72b3381623cb0aa544e630f50 (
plain)
1
2
3
4
5
6
7
|
/* Generated by tools/BackendDump.java; Chapter 21, x86-64 System V. */
window.REBASE.backend = {
source: "struct Box { int x; };\nreturn { !Box box, int arg ->\n int n = arg < 0 ? -arg : arg;\n box.x += n;\n return n;\n};\n",
selected: "id node inputs\n 7 StartNode _ _ _\n11 ConstantNode 7\n15 ConstantNode 7\n18 ConstantNode 7\n22 ConstantNode 7\n 6 FunX86 _ 7\n10 ParmX86:arg 6 11\n14 ParmX86:$mem 6 15\n17 ParmX86:box 6 18\n21 ParmX86:$rpc 6 22\n 8 CmpIX86 _ 10\n20 NegX86 _ 10\n 5 JmpX86 6 8\n12 CProjNode:False 5\n 4 CProjNode:True 5\n 3 RegionNode _ 4 12\n19 PhiNode 3 20 10\n16 MemAddX86 _ 14 17 _ 19\n13 MemMergeNode _ 14 16\n 2 RetX86 3 13 19 21\n 1 StopNode 2\n",
assembly: "\n--- { *Box {int !x; } int -> int #0}---------------------------\n arg rsi\n box rdi\n r15 // r15\n r14 // r14\n r13 // r13\n r12 // r12\n rbp // rbp\n rbx // rbx\n0000 mov rax = rsi // def/empty1 #0\n0000 test rax \n0000 j< L4 // L12\nL12:\n0000 ?? JMP L3\nL4:\n0001 neg rax \nL3:\n rax = phi( N20,N33 )\n0001 add8 [rdi] += rax \n0001 ret rax [stk#33] rbx rbp r12 r13 r14 r15 \n--- ---------------------------\n",
encoded: "\n--- { *Box {int !x; } int -> int #0}---------------------------\n arg:rsi,box:rdi\n0000 488bc6 mov rax = rsi // def/empty1 #0\n0003 4883f800 test rax \n0007 7d03 j>= L3 // L4\nL4:\n0009 48f7d8 neg rax \nL12:\nL3:\n :rax\n000c 480107 add8 [rdi] += rax \n000f c3 ret \n--- ---------------------------\n"
};
|