default.cc=arm64 arm64=cc cc.arm64.arg0=x0 cc.arm64.arg1=x1 cc.arm64.arg2=x2 cc.arm64.arg3=x3 cc.arm64.arg4=x4 cc.arm64.arg5=x5 cc.arm64.arg6=x6 cc.arm64.arg7=x7 cc.arm64.argn=stack # an fp arg slot is one v register, spelled s/d/v/q by operand width cc.arm64.fparg0={d0,s0,v0,q0} cc.arm64.fparg1={d1,s1,v1,q1} cc.arm64.fparg2={d2,s2,v2,q2} cc.arm64.fparg3={d3,s3,v3,q3} cc.arm64.fparg4={d4,s4,v4,q4} cc.arm64.fparg5={d5,s5,v5,q5} cc.arm64.fparg6={d6,s6,v6,q6} cc.arm64.fparg7={d7,s7,v7,q7} cc.arm64.stackalloc=lower cc.arm64.ret0=x0 cc.arm64.fpret0={d0,s0,v0,q0} cc.arm64.clobber=x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x30,v0,v1,v2,v3,v4,v5,v6,v7,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31 cc.arm64.preserve=x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,sp,v8,v9,v10,v11,v12,v13,v14,v15 swift=cc cc.swift.arg0=x0 cc.swift.arg1=x1 cc.swift.arg2=x2 cc.swift.arg3=x3 cc.swift.arg4=x4 cc.swift.arg5=x5 cc.swift.arg6=x6 cc.swift.arg7=x7 cc.swift.argn=stack cc.swift.fparg0={d0,s0,v0,q0} cc.swift.fparg1={d1,s1,v1,q1} cc.swift.fparg2={d2,s2,v2,q2} cc.swift.fparg3={d3,s3,v3,q3} cc.swift.fparg4={d4,s4,v4,q4} cc.swift.fparg5={d5,s5,v5,q5} cc.swift.fparg6={d6,s6,v6,q6} cc.swift.fparg7={d7,s7,v7,q7} cc.swift.stackalloc=lower cc.swift.clobber=x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x21,x30,v0,v1,v2,v3,v4,v5,v6,v7,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31 cc.swift.preserve=x19,x20,x22,x23,x24,x25,x26,x27,x28,x29,sp,v8,v9,v10,v11,v12,v13,v14,v15 cc.swift.self=x20 cc.swift.error=x21 cc.swift.ret0=x0 cc.swift.fpret0={d0,s0,v0,q0} p9=cc cc.p9.arg0=x0 cc.p9.argn=stack cc.p9.stackalloc=lower cc.p9.ret0=x0 dlang=cc cc.dlang.arg0=x0 cc.dlang.arg1=x1 cc.dlang.arg2=x2 cc.dlang.arg3=x3 cc.dlang.arg4=x4 cc.dlang.arg5=x5 cc.dlang.arg6=x6 cc.dlang.arg7=x7 cc.dlang.argn=stack cc.dlang.stackalloc=lower cc.dlang.self=x20 cc.dlang.error=x21 cc.dlang.ret0=x0 # Go ABIInternal: X28 holds the goroutine pointer, not a receiver. golang=cc cc.golang.arg0=x0 cc.golang.arg1=x1 cc.golang.arg2=x2 cc.golang.arg3=x3 cc.golang.arg4=x4 cc.golang.arg5=x5 cc.golang.arg6=x6 cc.golang.arg7=x7 cc.golang.arg8=x8 cc.golang.arg9=x9 cc.golang.arg10=x10 cc.golang.arg11=x11 cc.golang.arg12=x12 cc.golang.arg13=x13 cc.golang.arg14=x14 cc.golang.arg15=x15 cc.golang.argn=stack cc.golang.fparg0={d0,s0,v0,q0} cc.golang.fparg1={d1,s1,v1,q1} cc.golang.fparg2={d2,s2,v2,q2} cc.golang.fparg3={d3,s3,v3,q3} cc.golang.fparg4={d4,s4,v4,q4} cc.golang.fparg5={d5,s5,v5,q5} cc.golang.fparg6={d6,s6,v6,q6} cc.golang.fparg7={d7,s7,v7,q7} cc.golang.fparg8={d8,s8,v8,q8} cc.golang.fparg9={d9,s9,v9,q9} cc.golang.fparg10={d10,s10,v10,q10} cc.golang.fparg11={d11,s11,v11,q11} cc.golang.fparg12={d12,s12,v12,q12} cc.golang.fparg13={d13,s13,v13,q13} cc.golang.fparg14={d14,s14,v14,q14} cc.golang.fparg15={d15,s15,v15,q15} cc.golang.stackalloc=lower cc.golang.pop=caller cc.golang.ret0=x0 cc.golang.ret1=x1 cc.golang.ret2=x2 cc.golang.ret3=x3 cc.golang.ret4=x4 cc.golang.ret5=x5 cc.golang.ret6=x6 cc.golang.ret7=x7 cc.golang.ret8=x8 cc.golang.ret9=x9 cc.golang.ret10=x10 cc.golang.ret11=x11 cc.golang.ret12=x12 cc.golang.ret13=x13 cc.golang.ret14=x14 cc.golang.ret15=x15 cc.golang.retn=16 cc.golang.fpret0={d0,s0,v0,q0} arm64syscall=cc cc.arm64syscall.arg0=x0 cc.arm64syscall.arg1=x1 cc.arm64syscall.arg2=x2 cc.arm64syscall.arg3=x3 cc.arm64syscall.arg4=x4 cc.arm64syscall.arg5=x5 cc.arm64syscall.clobber=x0 cc.arm64syscall.ret0=x0