all.h (897B)
1 #include "../all.h" 2 3 enum Arm64Reg { 4 R0 = RXX + 1, 5 R1, R2, R3, R4, R5, R6, R7, 6 R8, R9, R10, R11, R12, R13, R14, R15, 7 IP0, IP1, R18, R19, R20, R21, R22, R23, 8 R24, R25, R26, R27, R28, FP, LR, SP, 9 10 V0, V1, V2, V3, V4, V5, V6, V7, 11 V8, V9, V10, V11, V12, V13, V14, V15, 12 V16, V17, V18, V19, V20, V21, V22, V23, 13 V24, V25, V26, V27, V28, V29, V30, /* V31, */ 14 15 NFPR = V30 - V0 + 1, 16 NGPR = SP - R0 + 1, 17 NGPS = R18 - R0 + 1 /* LR */ + 1, 18 NFPS = (V7 - V0 + 1) + (V30 - V16 + 1), 19 NCLR = (R28 - R19 + 1) + (V15 - V8 + 1), 20 }; 21 MAKESURE(reg_not_tmp, V30 < (int)Tmp0); 22 23 /* targ.c */ 24 extern int arm64_rsave[]; 25 extern int arm64_rclob[]; 26 27 /* abi.c */ 28 bits arm64_retregs(Ref, int[2]); 29 bits arm64_argregs(Ref, int[2]); 30 void arm64_abi(Fn *); 31 void apple_extsb(Fn *); 32 33 /* isel.c */ 34 int arm64_logimm(uint64_t, int); 35 void arm64_isel(Fn *); 36 37 /* emit.c */ 38 void arm64_emitfn(Fn *, FILE *);