OLD | NEW |
---|---|
1 //===- subzero/src/IceInstX8632.def - X-macros for x86-32 insts -*- C++ -*-===// | 1 //===- subzero/src/IceInstX8632.def - X-macros for x86-32 insts -*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file defines properties of lowered x86-32 instructions in the | 10 // This file defines properties of lowered x86-32 instructions in the |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
48 /* 8-bit registers */ \ | 48 /* 8-bit registers */ \ |
49 X(Reg_al, 0, "al", Reg_eax, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ | 49 X(Reg_al, 0, "al", Reg_eax, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ |
50 REGLIST2(RegX8632, eax, ax)) \ | 50 REGLIST2(RegX8632, eax, ax)) \ |
51 X(Reg_cl, 1, "cl", Reg_ecx, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ | 51 X(Reg_cl, 1, "cl", Reg_ecx, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ |
52 REGLIST2(RegX8632, ecx, cx)) \ | 52 REGLIST2(RegX8632, ecx, cx)) \ |
53 X(Reg_dl, 2, "dl", Reg_edx, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ | 53 X(Reg_dl, 2, "dl", Reg_edx, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ |
54 REGLIST2(RegX8632, edx, dx)) \ | 54 REGLIST2(RegX8632, edx, dx)) \ |
55 X(Reg_bl, 3, "bl", Reg_ebx, 0,1,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ | 55 X(Reg_bl, 3, "bl", Reg_ebx, 0,1,0,0, 1,0,0,0,1, 0, 0,0,0,1,1, \ |
56 REGLIST2(RegX8632, ebx, bx)) \ | 56 REGLIST2(RegX8632, ebx, bx)) \ |
57 /* High 8-bit registers */ \ | 57 /* High 8-bit registers */ \ |
58 X(Reg_ah, 4, "ah", Reg_eax, 1,0,0,0, 1,0,0,0,0, 0, 0,0,0,0,1, \ | 58 X(Reg_ah, 4, "ah", Reg_eax, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,0,1, \ |
John
2015/11/09 16:23:29
so this is what turns these registers on? (no pun
Jim Stichnoth
2015/11/09 18:45:35
That's right, the previous CL put the framework in
| |
59 REGLIST2(RegX8632, eax, ax)) \ | 59 REGLIST2(RegX8632, eax, ax)) \ |
60 X(Reg_ch, 5, "ch", Reg_ecx, 1,0,0,0, 1,0,0,0,0, 0, 0,0,0,0,1, \ | 60 X(Reg_ch, 5, "ch", Reg_ecx, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,0,1, \ |
61 REGLIST2(RegX8632, ecx, cx)) \ | 61 REGLIST2(RegX8632, ecx, cx)) \ |
62 X(Reg_dh, 6, "dh", Reg_edx, 1,0,0,0, 1,0,0,0,0, 0, 0,0,0,0,1, \ | 62 X(Reg_dh, 6, "dh", Reg_edx, 1,0,0,0, 1,0,0,0,1, 0, 0,0,0,0,1, \ |
63 REGLIST2(RegX8632, edx, dx)) \ | 63 REGLIST2(RegX8632, edx, dx)) \ |
64 X(Reg_bh, 7, "bh", Reg_ebx, 0,1,0,0, 1,0,0,0,0, 0, 0,0,0,0,1, \ | 64 X(Reg_bh, 7, "bh", Reg_ebx, 0,1,0,0, 1,0,0,0,1, 0, 0,0,0,0,1, \ |
65 REGLIST2(RegX8632, ebx, bx)) \ | 65 REGLIST2(RegX8632, ebx, bx)) \ |
66 /* End of 8-bit register set */ | 66 /* End of 8-bit register set */ |
67 //#define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, | 67 //#define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, |
68 // isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, | 68 // isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, |
69 // isTrunc8Rcvr, isAhRcvr, aliases) | 69 // isTrunc8Rcvr, isAhRcvr, aliases) |
70 | 70 |
71 #define REGX8632_GPR_TABLE \ | 71 #define REGX8632_GPR_TABLE \ |
72 /* val, encode, name, base, scratch,preserved,stackptr,frameptr, \ | 72 /* val, encode, name, base, scratch,preserved,stackptr,frameptr, \ |
73 isGPR,is64,is32,is16,is8, isXmm, \ | 73 isGPR,is64,is32,is16,is8, isXmm, \ |
74 is64To8,is32To8,is16To8,isTrunc8Rcvr,isAhRcvr, aliases */ \ | 74 is64To8,is32To8,is16To8,isTrunc8Rcvr,isAhRcvr, aliases */ \ |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
205 X(Cmpps_lt, "lt") \ | 205 X(Cmpps_lt, "lt") \ |
206 X(Cmpps_le, "le") \ | 206 X(Cmpps_le, "le") \ |
207 X(Cmpps_unord, "unord") \ | 207 X(Cmpps_unord, "unord") \ |
208 X(Cmpps_neq, "neq") \ | 208 X(Cmpps_neq, "neq") \ |
209 X(Cmpps_nlt, "nlt") \ | 209 X(Cmpps_nlt, "nlt") \ |
210 X(Cmpps_nle, "nle") \ | 210 X(Cmpps_nle, "nle") \ |
211 X(Cmpps_ord, "ord") | 211 X(Cmpps_ord, "ord") |
212 //#define X(val, emit) | 212 //#define X(val, emit) |
213 | 213 |
214 #define ICETYPEX8632_TABLE \ | 214 #define ICETYPEX8632_TABLE \ |
215 /* tag, element type, cvt , sdss, pack, width, fld */ \ | 215 /* tag, element type, cvt , sdss, pack, width, fld */ \ |
216 X(IceType_void, IceType_void, "?", "", "", "", "") \ | 216 X(void, void, "?", "", "", "", "") \ |
217 X(IceType_i1, IceType_void, "si", "", "", "b", "") \ | 217 X(i1, void, "si", "", "", "b", "") \ |
218 X(IceType_i8, IceType_void, "si", "", "", "b", "") \ | 218 X(i8, void, "si", "", "", "b", "") \ |
219 X(IceType_i16, IceType_void, "si", "", "", "w", "") \ | 219 X(i16, void, "si", "", "", "w", "") \ |
220 X(IceType_i32, IceType_void, "si", "", "", "l", "") \ | 220 X(i32, void, "si", "", "", "l", "") \ |
221 X(IceType_i64, IceType_void, "si", "", "", "q", "") \ | 221 X(i64, void, "si", "", "", "q", "") \ |
222 X(IceType_f32, IceType_void, "ss", "ss", "d", "", "s") \ | 222 X(f32, void, "ss", "ss", "d", "", "s") \ |
223 X(IceType_f64, IceType_void, "sd", "sd", "q", "", "l") \ | 223 X(f64, void, "sd", "sd", "q", "", "l") \ |
224 X(IceType_v4i1, IceType_i32, "?", "", "d", "", "") \ | 224 X(v4i1, i32, "?", "", "d", "", "") \ |
225 X(IceType_v8i1, IceType_i16, "?", "", "w", "", "") \ | 225 X(v8i1, i16, "?", "", "w", "", "") \ |
226 X(IceType_v16i1, IceType_i8, "?", "", "b", "", "") \ | 226 X(v16i1, i8, "?", "", "b", "", "") \ |
227 X(IceType_v16i8, IceType_i8, "?", "", "b", "", "") \ | 227 X(v16i8, i8, "?", "", "b", "", "") \ |
228 X(IceType_v8i16, IceType_i16, "?", "", "w", "", "") \ | 228 X(v8i16, i16, "?", "", "w", "", "") \ |
229 X(IceType_v4i32, IceType_i32, "dq", "", "d", "", "") \ | 229 X(v4i32, i32, "dq", "", "d", "", "") \ |
230 X(IceType_v4f32, IceType_f32, "ps", "", "d", "", "") | 230 X(v4f32, f32, "ps", "", "d", "", "") |
231 //#define X(tag, elementty, cvt, sdss, pack, width, fld) | 231 //#define X(tag, elementty, cvt, sdss, pack, width, fld) |
232 | 232 |
233 #endif // SUBZERO_SRC_ICEINSTX8632_DEF | 233 #endif // SUBZERO_SRC_ICEINSTX8632_DEF |
OLD | NEW |