OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_S390_CONSTANTS_S390_H_ | 5 #ifndef V8_S390_CONSTANTS_S390_H_ |
6 #define V8_S390_CONSTANTS_S390_H_ | 6 #define V8_S390_CONSTANTS_S390_H_ |
7 | 7 |
8 // Get the standard printf format macros for C99 stdint types. | 8 // Get the standard printf format macros for C99 stdint types. |
9 #ifndef __STDC_FORMAT_MACROS | 9 #ifndef __STDC_FORMAT_MACROS |
10 #define __STDC_FORMAT_MACROS | 10 #define __STDC_FORMAT_MACROS |
(...skipping 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1135 V(tabort, TABORT, 0xB2FC) /* type = S TRANSACTION ABORT */ \ | 1135 V(tabort, TABORT, 0xB2FC) /* type = S TRANSACTION ABORT */ \ |
1136 V(trap4, TRAP4, 0xB2FF) /* type = S TRAP */ | 1136 V(trap4, TRAP4, 0xB2FF) /* type = S TRAP */ |
1137 | 1137 |
1138 #define S390_RX_A_OPCODE_LIST(V) \ | 1138 #define S390_RX_A_OPCODE_LIST(V) \ |
1139 V(la, LA, 0x41) /* type = RX_A LOAD ADDRESS */ \ | 1139 V(la, LA, 0x41) /* type = RX_A LOAD ADDRESS */ \ |
1140 V(stc, STC, 0x42) /* type = RX_A STORE CHARACTER */ \ | 1140 V(stc, STC, 0x42) /* type = RX_A STORE CHARACTER */ \ |
1141 V(ic_z, IC_z, 0x43) /* type = RX_A INSERT CHARACTER */ \ | 1141 V(ic_z, IC_z, 0x43) /* type = RX_A INSERT CHARACTER */ \ |
1142 V(ex, EX, 0x44) /* type = RX_A EXECUTE */ \ | 1142 V(ex, EX, 0x44) /* type = RX_A EXECUTE */ \ |
1143 V(bal, BAL, 0x45) /* type = RX_A BRANCH AND LINK */ \ | 1143 V(bal, BAL, 0x45) /* type = RX_A BRANCH AND LINK */ \ |
1144 V(bct, BCT, 0x46) /* type = RX_A BRANCH ON COUNT (32) */ \ | 1144 V(bct, BCT, 0x46) /* type = RX_A BRANCH ON COUNT (32) */ \ |
1145 V(bc, BC, 0x47) /* type = RX_A BRANCH ON CONDITION */ \ | 1145 V(lh, LH, 0x48) /* type = RX_A LOAD HALFWORD (32<-16) */ \ |
1146 V(ch, CH, 0x49) /* type = RX_A COMPARE HALFWORD (32<-16) */ \ | 1146 V(ch, CH, 0x49) /* type = RX_A COMPARE HALFWORD (32<-16) */ \ |
1147 V(ah, AH, 0x4A) /* type = RX_A ADD HALFWORD (32<-16) */ \ | 1147 V(ah, AH, 0x4A) /* type = RX_A ADD HALFWORD (32<-16) */ \ |
1148 V(sh, SH, 0x4B) /* type = RX_A SUBTRACT HALFWORD (32<-16) */ \ | 1148 V(sh, SH, 0x4B) /* type = RX_A SUBTRACT HALFWORD (32<-16) */ \ |
1149 V(mh, MH, 0x4C) /* type = RX_A MULTIPLY HALFWORD (32<-16) */ \ | 1149 V(mh, MH, 0x4C) /* type = RX_A MULTIPLY HALFWORD (32<-16) */ \ |
1150 V(bas, BAS, 0x4D) /* type = RX_A BRANCH AND SAVE */ \ | 1150 V(bas, BAS, 0x4D) /* type = RX_A BRANCH AND SAVE */ \ |
1151 V(cvd, CVD, 0x4E) /* type = RX_A CONVERT TO DECIMAL (32) */ \ | 1151 V(cvd, CVD, 0x4E) /* type = RX_A CONVERT TO DECIMAL (32) */ \ |
1152 V(cvb, CVB, 0x4F) /* type = RX_A CONVERT TO BINARY (32) */ \ | 1152 V(cvb, CVB, 0x4F) /* type = RX_A CONVERT TO BINARY (32) */ \ |
1153 V(st, ST, 0x50) /* type = RX_A STORE (32) */ \ | 1153 V(st, ST, 0x50) /* type = RX_A STORE (32) */ \ |
1154 V(lae, LAE, 0x51) /* type = RX_A LOAD ADDRESS EXTENDED */ \ | 1154 V(lae, LAE, 0x51) /* type = RX_A LOAD ADDRESS EXTENDED */ \ |
1155 V(n, N, 0x54) /* type = RX_A AND (32) */ \ | 1155 V(n, N, 0x54) /* type = RX_A AND (32) */ \ |
1156 V(cl, CL, 0x55) /* type = RX_A COMPARE LOGICAL (32) */ \ | 1156 V(cl, CL, 0x55) /* type = RX_A COMPARE LOGICAL (32) */ \ |
1157 V(o, O, 0x56) /* type = RX_A OR (32) */ \ | 1157 V(o, O, 0x56) /* type = RX_A OR (32) */ \ |
1158 V(x, X, 0x57) /* type = RX_A EXCLUSIVE OR (32) */ \ | 1158 V(x, X, 0x57) /* type = RX_A EXCLUSIVE OR (32) */ \ |
1159 V(l, L, 0x58) /* type = RX_A LOAD (32) */ \ | 1159 V(l, L, 0x58) /* type = RX_A LOAD (32) */ \ |
1160 V(c, C, 0x59) /* type = RX_A COMPARE (32) */ \ | 1160 V(c, C, 0x59) /* type = RX_A COMPARE (32) */ \ |
1161 V(a, A, 0x5A) /* type = RX_A ADD (32) */ \ | 1161 V(a, A, 0x5A) /* type = RX_A ADD (32) */ \ |
1162 V(s, S, 0x5B) /* type = RX_A SUBTRACT (32) */ \ | 1162 V(s, S, 0x5B) /* type = RX_A SUBTRACT (32) */ \ |
1163 V(m, M, 0x5C) /* type = RX_A MULTIPLY (64<-32) */ \ | 1163 V(m, M, 0x5C) /* type = RX_A MULTIPLY (64<-32) */ \ |
1164 V(d, D, 0x5D) /* type = RX_A DIVIDE (32<-64) */ \ | 1164 V(d, D, 0x5D) /* type = RX_A DIVIDE (32<-64) */ \ |
1165 V(al, AL, 0x5E) /* type = RX_A ADD LOGICAL (32) */ \ | 1165 V(al_z, AL, 0x5E) /* type = RX_A ADD LOGICAL (32) */ \ |
1166 V(sl, SL, 0x5F) /* type = RX_A SUBTRACT LOGICAL (32) */ \ | 1166 V(sl, SL, 0x5F) /* type = RX_A SUBTRACT LOGICAL (32) */ \ |
1167 V(std, STD, 0x60) /* type = RX_A STORE (long) */ \ | 1167 V(std, STD, 0x60) /* type = RX_A STORE (long) */ \ |
1168 V(mxd, MXD, 0x67) /* type = RX_A MULTIPLY (long to extended HFP) */ \ | 1168 V(mxd, MXD, 0x67) /* type = RX_A MULTIPLY (long to extended HFP) */ \ |
1169 V(ld, LD, 0x68) /* type = RX_A LOAD (long) */ \ | 1169 V(ld, LD, 0x68) /* type = RX_A LOAD (long) */ \ |
1170 V(cd, CD, 0x69) /* type = RX_A COMPARE (long HFP) */ \ | 1170 V(cd, CD, 0x69) /* type = RX_A COMPARE (long HFP) */ \ |
1171 V(ad, AD, 0x6A) /* type = RX_A ADD NORMALIZED (long HFP) */ \ | 1171 V(ad, AD, 0x6A) /* type = RX_A ADD NORMALIZED (long HFP) */ \ |
1172 V(sd, SD, 0x6B) /* type = RX_A SUBTRACT NORMALIZED (long HFP) */ \ | 1172 V(sd, SD, 0x6B) /* type = RX_A SUBTRACT NORMALIZED (long HFP) */ \ |
1173 V(md, MD, 0x6C) /* type = RX_A MULTIPLY (long HFP) */ \ | 1173 V(md, MD, 0x6C) /* type = RX_A MULTIPLY (long HFP) */ \ |
1174 V(dd, DD, 0x6D) /* type = RX_A DIVIDE (long HFP) */ \ | 1174 V(dd, DD, 0x6D) /* type = RX_A DIVIDE (long HFP) */ \ |
1175 V(aw, AW, 0x6E) /* type = RX_A ADD UNNORMALIZED (long HFP) */ \ | 1175 V(aw, AW, 0x6E) /* type = RX_A ADD UNNORMALIZED (long HFP) */ \ |
1176 V(sw, SW, 0x6F) /* type = RX_A SUBTRACT UNNORMALIZED (long HFP) */ \ | 1176 V(sw, SW, 0x6F) /* type = RX_A SUBTRACT UNNORMALIZED (long HFP) */ \ |
1177 V(ste, STE, 0x70) /* type = RX_A STORE (short) */ \ | 1177 V(ste, STE, 0x70) /* type = RX_A STORE (short) */ \ |
1178 V(ms, MS, 0x71) /* type = RX_A MULTIPLY SINGLE (32) */ \ | 1178 V(ms, MS, 0x71) /* type = RX_A MULTIPLY SINGLE (32) */ \ |
1179 V(le, LE, 0x78) /* type = RX_A LOAD (short) */ \ | 1179 V(le_z, LE, 0x78) /* type = RX_A LOAD (short) */ \ |
1180 V(ce, CE, 0x79) /* type = RX_A COMPARE (short HFP) */ \ | 1180 V(ce, CE, 0x79) /* type = RX_A COMPARE (short HFP) */ \ |
1181 V(ae, AE, 0x7A) /* type = RX_A ADD NORMALIZED (short HFP) */ \ | 1181 V(ae, AE, 0x7A) /* type = RX_A ADD NORMALIZED (short HFP) */ \ |
1182 V(se, SE, 0x7B) /* type = RX_A SUBTRACT NORMALIZED (short HFP) */ \ | 1182 V(se, SE, 0x7B) /* type = RX_A SUBTRACT NORMALIZED (short HFP) */ \ |
1183 V(mde, MDE, 0x7C) /* type = RX_A MULTIPLY (short to long HFP) */ \ | 1183 V(mde, MDE, 0x7C) /* type = RX_A MULTIPLY (short to long HFP) */ \ |
1184 V(me, ME, 0x7C) /* type = RX_A MULTIPLY (short to long HFP) */ \ | 1184 V(me, ME, 0x7C) /* type = RX_A MULTIPLY (short to long HFP) */ \ |
1185 V(de, DE, 0x7D) /* type = RX_A DIVIDE (short HFP) */ \ | 1185 V(de, DE, 0x7D) /* type = RX_A DIVIDE (short HFP) */ \ |
1186 V(au, AU, 0x7E) /* type = RX_A ADD UNNORMALIZED (short HFP) */ \ | 1186 V(au, AU, 0x7E) /* type = RX_A ADD UNNORMALIZED (short HFP) */ \ |
1187 V(su, SU, 0x7F) /* type = RX_A SUBTRACT UNNORMALIZED (short HFP) */ \ | 1187 V(su, SU, 0x7F) /* type = RX_A SUBTRACT UNNORMALIZED (short HFP) */ \ |
1188 V(ssm, SSM, 0x80) /* type = RX_A SET SYSTEM MASK */ \ | 1188 V(ssm, SSM, 0x80) /* type = RX_A SET SYSTEM MASK */ \ |
1189 V(lra, LRA, 0xB1) /* type = RX_A LOAD REAL ADDRESS (32) */ | 1189 V(lra, LRA, 0xB1) /* type = RX_A LOAD REAL ADDRESS (32) */ \ |
| 1190 V(sth, STH, 0x40) /* type = RX_A STORE HALFWORD (16) */ |
1190 | 1191 |
1191 #define S390_RX_B_OPCODE_LIST(V) \ | 1192 #define S390_RX_B_OPCODE_LIST(V) \ |
1192 V(lh, LH, 0x48) /* type = RX_B LOAD HALFWORD (32<-16) */ | 1193 V(bc, BC, 0x47) /* type = RX_B BRANCH ON CONDITION */ |
1193 | 1194 |
1194 #define S390_RIE_A_OPCODE_LIST(V) \ | 1195 #define S390_RIE_A_OPCODE_LIST(V) \ |
1195 V(cgit, CGIT, 0xEC70) /* type = RIE_A COMPARE IMMEDIATE AND TRAP (64<-16) */ \ | 1196 V(cgit, CGIT, 0xEC70) /* type = RIE_A COMPARE IMMEDIATE AND TRAP (64<-16) */ \ |
1196 V(clgit, CLGIT, \ | 1197 V(clgit, CLGIT, \ |
1197 0xEC71) /* type = RIE_A COMPARE LOGICAL IMMEDIATE AND TRAP (64<-16) */ \ | 1198 0xEC71) /* type = RIE_A COMPARE LOGICAL IMMEDIATE AND TRAP (64<-16) */ \ |
1198 V(cit, CIT, 0xEC72) /* type = RIE_A COMPARE IMMEDIATE AND TRAP (32<-16) */ \ | 1199 V(cit, CIT, 0xEC72) /* type = RIE_A COMPARE IMMEDIATE AND TRAP (32<-16) */ \ |
1199 V(clfit, CLFIT, \ | 1200 V(clfit, CLFIT, \ |
1200 0xEC73) /* type = RIE_A COMPARE LOGICAL IMMEDIATE AND TRAP (32<-16) */ | 1201 0xEC73) /* type = RIE_A COMPARE LOGICAL IMMEDIATE AND TRAP (32<-16) */ |
1201 | 1202 |
1202 #define S390_RRD_OPCODE_LIST(V) \ | 1203 #define S390_RRD_OPCODE_LIST(V) \ |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1578 V(axr, AXR, 0x36) /* type = RR ADD NORMALIZED (extended HFP) */ \ | 1579 V(axr, AXR, 0x36) /* type = RR ADD NORMALIZED (extended HFP) */ \ |
1579 V(sxr, SXR, 0x37) /* type = RR SUBTRACT NORMALIZED (extended HFP) */ \ | 1580 V(sxr, SXR, 0x37) /* type = RR SUBTRACT NORMALIZED (extended HFP) */ \ |
1580 V(ler, LER, 0x38) /* type = RR LOAD (short) */ \ | 1581 V(ler, LER, 0x38) /* type = RR LOAD (short) */ \ |
1581 V(cer, CER, 0x39) /* type = RR COMPARE (short HFP) */ \ | 1582 V(cer, CER, 0x39) /* type = RR COMPARE (short HFP) */ \ |
1582 V(aer, AER, 0x3A) /* type = RR ADD NORMALIZED (short HFP) */ \ | 1583 V(aer, AER, 0x3A) /* type = RR ADD NORMALIZED (short HFP) */ \ |
1583 V(ser, SER, 0x3B) /* type = RR SUBTRACT NORMALIZED (short HFP) */ \ | 1584 V(ser, SER, 0x3B) /* type = RR SUBTRACT NORMALIZED (short HFP) */ \ |
1584 V(mder, MDER, 0x3C) /* type = RR MULTIPLY (short to long HFP) */ \ | 1585 V(mder, MDER, 0x3C) /* type = RR MULTIPLY (short to long HFP) */ \ |
1585 V(mer, MER, 0x3C) /* type = RR MULTIPLY (short to long HFP) */ \ | 1586 V(mer, MER, 0x3C) /* type = RR MULTIPLY (short to long HFP) */ \ |
1586 V(der, DER, 0x3D) /* type = RR DIVIDE (short HFP) */ \ | 1587 V(der, DER, 0x3D) /* type = RR DIVIDE (short HFP) */ \ |
1587 V(aur, AUR, 0x3E) /* type = RR ADD UNNORMALIZED (short HFP) */ \ | 1588 V(aur, AUR, 0x3E) /* type = RR ADD UNNORMALIZED (short HFP) */ \ |
1588 V(sur, SUR, 0x3F) /* type = RR SUBTRACT UNNORMALIZED (short HFP) */ \ | 1589 V(sur, SUR, 0x3F) /* type = RR SUBTRACT UNNORMALIZED (short HFP) */ |
1589 V(sth, STH, 0x40) /* type = RR STORE HALFWORD (16) */ | |
1590 | 1590 |
1591 #define S390_RIE_F_OPCODE_LIST(V) \ | 1591 #define S390_RIE_F_OPCODE_LIST(V) \ |
1592 V(risblg, RISBLG, \ | 1592 V(risblg, RISBLG, \ |
1593 0xEC51) /* type = RIE_F ROTATE THEN INSERT SELECTED BITS LOW (64) */ \ | 1593 0xEC51) /* type = RIE_F ROTATE THEN INSERT SELECTED BITS LOW (64) */ \ |
1594 V(rnsbg, RNSBG, \ | 1594 V(rnsbg, RNSBG, \ |
1595 0xEC54) /* type = RIE_F ROTATE THEN AND SELECTED BITS (64) */ \ | 1595 0xEC54) /* type = RIE_F ROTATE THEN AND SELECTED BITS (64) */ \ |
1596 V(risbg, RISBG, \ | 1596 V(risbg, RISBG, \ |
1597 0xEC55) /* type = RIE_F ROTATE THEN INSERT SELECTED BITS (64) */ \ | 1597 0xEC55) /* type = RIE_F ROTATE THEN INSERT SELECTED BITS (64) */ \ |
1598 V(rosbg, ROSBG, 0xEC56) /* type = RIE_F ROTATE THEN OR SELECTED BITS (64) */ \ | 1598 V(rosbg, ROSBG, 0xEC56) /* type = RIE_F ROTATE THEN OR SELECTED BITS (64) */ \ |
1599 V(rxsbg, RXSBG, \ | 1599 V(rxsbg, RXSBG, \ |
(...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2371 static int Number(const char* name); | 2371 static int Number(const char* name); |
2372 | 2372 |
2373 private: | 2373 private: |
2374 static const char* names_[kNumDoubleRegisters]; | 2374 static const char* names_[kNumDoubleRegisters]; |
2375 }; | 2375 }; |
2376 | 2376 |
2377 } // namespace internal | 2377 } // namespace internal |
2378 } // namespace v8 | 2378 } // namespace v8 |
2379 | 2379 |
2380 #endif // V8_S390_CONSTANTS_S390_H_ | 2380 #endif // V8_S390_CONSTANTS_S390_H_ |
OLD | NEW |