| 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 | 115 |
| 116 // Note: It would be more appropriate to list the xmm register aliases as | 116 // Note: It would be more appropriate to list the xmm register aliases as |
| 117 // REGLIST0(), but the corresponding empty initializer gives a syntax error, so | 117 // REGLIST0(), but the corresponding empty initializer gives a syntax error, so |
| 118 // we use REGLIST1() to redundantly assign the register itself as an alias. | 118 // we use REGLIST1() to redundantly assign the register itself as an alias. |
| 119 #define REGX8632_XMM_TABLE \ | 119 #define REGX8632_XMM_TABLE \ |
| 120 /* val, encode, name, base, scratch,preserved,stackptr,frameptr, \ | 120 /* val, encode, name, base, scratch,preserved,stackptr,frameptr, \ |
| 121 isGPR,is64,is32,is16,is8, isXmm, \ | 121 isGPR,is64,is32,is16,is8, isXmm, \ |
| 122 is64To8,is32To8,is16To8,isTrunc8Rcvr,isAhRcvr, aliases */ \ | 122 is64To8,is32To8,is16To8,isTrunc8Rcvr,isAhRcvr, aliases */ \ |
| 123 /* xmm registers */ \ | 123 /* xmm registers */ \ |
| 124 X(Reg_xmm0, 0, "xmm0", Reg_xmm0, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 124 X(Reg_xmm0, 0, "xmm0", Reg_xmm0, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 125 REGLIST1(RegX8632, xmm0)) \ | 125 NO_ALIASES()) \ |
| 126 X(Reg_xmm1, 1, "xmm1", Reg_xmm1, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 126 X(Reg_xmm1, 1, "xmm1", Reg_xmm1, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 127 REGLIST1(RegX8632, xmm1)) \ | 127 NO_ALIASES()) \ |
| 128 X(Reg_xmm2, 2, "xmm2", Reg_xmm2, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 128 X(Reg_xmm2, 2, "xmm2", Reg_xmm2, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 129 REGLIST1(RegX8632, xmm2)) \ | 129 NO_ALIASES()) \ |
| 130 X(Reg_xmm3, 3, "xmm3", Reg_xmm3, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 130 X(Reg_xmm3, 3, "xmm3", Reg_xmm3, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 131 REGLIST1(RegX8632, xmm3)) \ | 131 NO_ALIASES()) \ |
| 132 X(Reg_xmm4, 4, "xmm4", Reg_xmm4, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 132 X(Reg_xmm4, 4, "xmm4", Reg_xmm4, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 133 REGLIST1(RegX8632, xmm4)) \ | 133 NO_ALIASES()) \ |
| 134 X(Reg_xmm5, 5, "xmm5", Reg_xmm5, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 134 X(Reg_xmm5, 5, "xmm5", Reg_xmm5, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 135 REGLIST1(RegX8632, xmm5)) \ | 135 NO_ALIASES()) \ |
| 136 X(Reg_xmm6, 6, "xmm6", Reg_xmm6, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 136 X(Reg_xmm6, 6, "xmm6", Reg_xmm6, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 137 REGLIST1(RegX8632, xmm6)) \ | 137 NO_ALIASES()) \ |
| 138 X(Reg_xmm7, 7, "xmm7", Reg_xmm7, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ | 138 X(Reg_xmm7, 7, "xmm7", Reg_xmm7, 1,0,0,0, 0,0,0,0,0, 1, 0,0,0,0,0, \ |
| 139 REGLIST1(RegX8632, xmm7)) \ | 139 NO_ALIASES()) \ |
| 140 /* End of xmm register set */ | 140 /* End of xmm register set */ |
| 141 //#define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, | 141 //#define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, |
| 142 // isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, | 142 // isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, |
| 143 // isTrunc8Rcvr, isAhRcvr, aliases) | 143 // isTrunc8Rcvr, isAhRcvr, aliases) |
| 144 | 144 |
| 145 // We also provide a combined table, so that there is a namespace where | 145 // We also provide a combined table, so that there is a namespace where |
| 146 // all of the registers are considered and have distinct numberings. | 146 // all of the registers are considered and have distinct numberings. |
| 147 // This is in contrast to the above, where the "encode" is based on how | 147 // This is in contrast to the above, where the "encode" is based on how |
| 148 // the register numbers will be encoded in binaries and values can overlap. | 148 // the register numbers will be encoded in binaries and values can overlap. |
| 149 #define REGX8632_TABLE \ | 149 #define REGX8632_TABLE \ |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 X(v4i1, i32, "?", "", "", "", "d", "", "") \ | 224 X(v4i1, i32, "?", "", "", "", "d", "", "") \ |
| 225 X(v8i1, i16, "?", "", "", "", "w", "", "") \ | 225 X(v8i1, i16, "?", "", "", "", "w", "", "") \ |
| 226 X(v16i1, i8, "?", "", "", "", "b", "", "") \ | 226 X(v16i1, i8, "?", "", "", "", "b", "", "") \ |
| 227 X(v16i8, i8, "?", "", "", "", "b", "", "") \ | 227 X(v16i8, i8, "?", "", "", "", "b", "", "") \ |
| 228 X(v8i16, i16, "?", "", "", "", "w", "", "") \ | 228 X(v8i16, i16, "?", "", "", "", "w", "", "") \ |
| 229 X(v4i32, i32, "dq", "", "", "", "d", "", "") \ | 229 X(v4i32, i32, "dq", "", "", "", "d", "", "") \ |
| 230 X(v4f32, f32, "ps", "", "ps", "ps", "d", "", "") | 230 X(v4f32, f32, "ps", "", "ps", "ps", "d", "", "") |
| 231 //#define X(tag, elementty, cvt, sdss, pdps, spsd, pack, width, fld) | 231 //#define X(tag, elementty, cvt, sdss, pdps, spsd, pack, width, fld) |
| 232 | 232 |
| 233 #endif // SUBZERO_SRC_ICEINSTX8632_DEF | 233 #endif // SUBZERO_SRC_ICEINSTX8632_DEF |
| OLD | NEW |