OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 V(v0) V(v1) V(a0) V(a1) V(a2) V(a3) \ | 57 V(v0) V(v1) V(a0) V(a1) V(a2) V(a3) \ |
58 V(a4) V(a5) V(a6) V(a7) V(t0) V(t1) V(t2) V(s7) | 58 V(a4) V(a5) V(a6) V(a7) V(t0) V(t1) V(t2) V(s7) |
59 | 59 |
60 #define DOUBLE_REGISTERS(V) \ | 60 #define DOUBLE_REGISTERS(V) \ |
61 V(f0) V(f1) V(f2) V(f3) V(f4) V(f5) V(f6) V(f7) \ | 61 V(f0) V(f1) V(f2) V(f3) V(f4) V(f5) V(f6) V(f7) \ |
62 V(f8) V(f9) V(f10) V(f11) V(f12) V(f13) V(f14) V(f15) \ | 62 V(f8) V(f9) V(f10) V(f11) V(f12) V(f13) V(f14) V(f15) \ |
63 V(f16) V(f17) V(f18) V(f19) V(f20) V(f21) V(f22) V(f23) \ | 63 V(f16) V(f17) V(f18) V(f19) V(f20) V(f21) V(f22) V(f23) \ |
64 V(f24) V(f25) V(f26) V(f27) V(f28) V(f29) V(f30) V(f31) | 64 V(f24) V(f25) V(f26) V(f27) V(f28) V(f29) V(f30) V(f31) |
65 | 65 |
66 #define FLOAT_REGISTERS DOUBLE_REGISTERS | 66 #define FLOAT_REGISTERS DOUBLE_REGISTERS |
67 #define SIMD128_REGISTERS DOUBLE_REGISTERS | 67 #define SIMD128_REGISTERS(V) \ |
| 68 V(w0) V(w1) V(w2) V(w3) V(w4) V(w5) V(w6) V(w7) \ |
| 69 V(w8) V(w9) V(w10) V(w11) V(w12) V(w13) V(w14) V(w15) \ |
| 70 V(w16) V(w17) V(w18) V(w19) V(w20) V(w21) V(w22) V(w23) \ |
| 71 V(w24) V(w25) V(w26) V(w27) V(w28) V(w29) V(w30) V(w31) |
68 | 72 |
69 #define ALLOCATABLE_DOUBLE_REGISTERS(V) \ | 73 #define ALLOCATABLE_DOUBLE_REGISTERS(V) \ |
70 V(f0) V(f2) V(f4) V(f6) V(f8) V(f10) V(f12) V(f14) \ | 74 V(f0) V(f2) V(f4) V(f6) V(f8) V(f10) V(f12) V(f14) \ |
71 V(f16) V(f18) V(f20) V(f22) V(f24) V(f26) | 75 V(f16) V(f18) V(f20) V(f22) V(f24) V(f26) |
72 // clang-format on | 76 // clang-format on |
73 | 77 |
74 // CPU Registers. | 78 // CPU Registers. |
75 // | 79 // |
76 // 1) We would prefer to use an enum, but enum values are assignment- | 80 // 1) We would prefer to use an enum, but enum values are assignment- |
77 // compatible with int, which has caused code-generation bugs. | 81 // compatible with int, which has caused code-generation bugs. |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 constexpr bool kSimpleFPAliasing = true; | 160 constexpr bool kSimpleFPAliasing = true; |
157 constexpr bool kSimdMaskRegisters = false; | 161 constexpr bool kSimdMaskRegisters = false; |
158 | 162 |
159 // Coprocessor register. | 163 // Coprocessor register. |
160 struct FPURegister { | 164 struct FPURegister { |
161 enum Code { | 165 enum Code { |
162 #define REGISTER_CODE(R) kCode_##R, | 166 #define REGISTER_CODE(R) kCode_##R, |
163 DOUBLE_REGISTERS(REGISTER_CODE) | 167 DOUBLE_REGISTERS(REGISTER_CODE) |
164 #undef REGISTER_CODE | 168 #undef REGISTER_CODE |
165 kAfterLast, | 169 kAfterLast, |
166 kCode_no_reg = -1 | 170 kCode_no_reg = kInvalidFPURegister |
167 }; | 171 }; |
168 | 172 |
169 static constexpr int kMaxNumRegisters = Code::kAfterLast; | 173 static constexpr int kMaxNumRegisters = Code::kAfterLast; |
170 | 174 |
171 inline static int NumRegisters(); | 175 inline static int NumRegisters(); |
172 | 176 |
173 // TODO(plind): Warning, inconsistent numbering here. kNumFPURegisters refers | 177 // TODO(plind): Warning, inconsistent numbering here. kNumFPURegisters refers |
174 // to number of 32-bit FPU regs, but kNumAllocatableRegisters refers to | 178 // to number of 32-bit FPU regs, but kNumAllocatableRegisters refers to |
175 // number of Double regs (64-bit regs, or FPU-reg-pairs). | 179 // number of Double regs (64-bit regs, or FPU-reg-pairs). |
176 | 180 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 return r; | 214 return r; |
211 } | 215 } |
212 void setcode(int f) { | 216 void setcode(int f) { |
213 reg_code = f; | 217 reg_code = f; |
214 DCHECK(is_valid()); | 218 DCHECK(is_valid()); |
215 } | 219 } |
216 // Unfortunately we can't make this private in a struct. | 220 // Unfortunately we can't make this private in a struct. |
217 int reg_code; | 221 int reg_code; |
218 }; | 222 }; |
219 | 223 |
| 224 // MIPS SIMD (MSA) register |
| 225 struct MSARegister { |
| 226 enum Code { |
| 227 #define REGISTER_CODE(R) kCode_##R, |
| 228 SIMD128_REGISTERS(REGISTER_CODE) |
| 229 #undef REGISTER_CODE |
| 230 kAfterLast, |
| 231 kCode_no_reg = kInvalidMSARegister |
| 232 }; |
| 233 |
| 234 static const int kMaxNumRegisters = Code::kAfterLast; |
| 235 |
| 236 inline static int NumRegisters(); |
| 237 |
| 238 bool is_valid() const { return 0 <= reg_code && reg_code < kMaxNumRegisters; } |
| 239 bool is(MSARegister reg) const { return reg_code == reg.reg_code; } |
| 240 |
| 241 int code() const { |
| 242 DCHECK(is_valid()); |
| 243 return reg_code; |
| 244 } |
| 245 int bit() const { |
| 246 DCHECK(is_valid()); |
| 247 return 1 << reg_code; |
| 248 } |
| 249 |
| 250 static MSARegister from_code(int code) { |
| 251 MSARegister r = {code}; |
| 252 return r; |
| 253 } |
| 254 void setcode(int f) { |
| 255 reg_code = f; |
| 256 DCHECK(is_valid()); |
| 257 } |
| 258 // Unfortunately we can't make this private in a struct. |
| 259 int reg_code; |
| 260 }; |
| 261 |
220 // A few double registers are reserved: one as a scratch register and one to | 262 // A few double registers are reserved: one as a scratch register and one to |
221 // hold 0.0. | 263 // hold 0.0. |
222 // f28: 0.0 | 264 // f28: 0.0 |
223 // f30: scratch register. | 265 // f30: scratch register. |
224 | 266 |
225 // V8 now supports the O32 ABI, and the FPU Registers are organized as 32 | 267 // V8 now supports the O32 ABI, and the FPU Registers are organized as 32 |
226 // 32-bit registers, f0 through f31. When used as 'double' they are used | 268 // 32-bit registers, f0 through f31. When used as 'double' they are used |
227 // in pairs, starting with the even numbered register. So a double operation | 269 // in pairs, starting with the even numbered register. So a double operation |
228 // on f0 really uses f0 and f1. | 270 // on f0 really uses f0 and f1. |
229 // (Modern mips hardware also supports 32 64-bit registers, via setting | 271 // (Modern mips hardware also supports 32 64-bit registers, via setting |
230 // (privileged) Status Register FR bit to 1. This is used by the N32 ABI, | 272 // (privileged) Status Register FR bit to 1. This is used by the N32 ABI, |
231 // but it is not in common use. Someday we will want to support this in v8.) | 273 // but it is not in common use. Someday we will want to support this in v8.) |
232 | 274 |
233 // For O32 ABI, Floats and Doubles refer to same set of 32 32-bit registers. | 275 // For O32 ABI, Floats and Doubles refer to same set of 32 32-bit registers. |
234 typedef FPURegister FloatRegister; | 276 typedef FPURegister FloatRegister; |
235 | 277 |
236 typedef FPURegister DoubleRegister; | 278 typedef FPURegister DoubleRegister; |
237 | 279 |
238 // TODO(mips64) Define SIMD registers. | 280 constexpr DoubleRegister no_freg = {kInvalidFPURegister}; |
239 typedef FPURegister Simd128Register; | |
240 | |
241 constexpr DoubleRegister no_freg = {-1}; | |
242 | 281 |
243 constexpr DoubleRegister f0 = {0}; // Return value in hard float mode. | 282 constexpr DoubleRegister f0 = {0}; // Return value in hard float mode. |
244 constexpr DoubleRegister f1 = {1}; | 283 constexpr DoubleRegister f1 = {1}; |
245 constexpr DoubleRegister f2 = {2}; | 284 constexpr DoubleRegister f2 = {2}; |
246 constexpr DoubleRegister f3 = {3}; | 285 constexpr DoubleRegister f3 = {3}; |
247 constexpr DoubleRegister f4 = {4}; | 286 constexpr DoubleRegister f4 = {4}; |
248 constexpr DoubleRegister f5 = {5}; | 287 constexpr DoubleRegister f5 = {5}; |
249 constexpr DoubleRegister f6 = {6}; | 288 constexpr DoubleRegister f6 = {6}; |
250 constexpr DoubleRegister f7 = {7}; | 289 constexpr DoubleRegister f7 = {7}; |
251 constexpr DoubleRegister f8 = {8}; | 290 constexpr DoubleRegister f8 = {8}; |
(...skipping 14 matching lines...) Expand all Loading... |
266 constexpr DoubleRegister f23 = {23}; | 305 constexpr DoubleRegister f23 = {23}; |
267 constexpr DoubleRegister f24 = {24}; | 306 constexpr DoubleRegister f24 = {24}; |
268 constexpr DoubleRegister f25 = {25}; | 307 constexpr DoubleRegister f25 = {25}; |
269 constexpr DoubleRegister f26 = {26}; | 308 constexpr DoubleRegister f26 = {26}; |
270 constexpr DoubleRegister f27 = {27}; | 309 constexpr DoubleRegister f27 = {27}; |
271 constexpr DoubleRegister f28 = {28}; | 310 constexpr DoubleRegister f28 = {28}; |
272 constexpr DoubleRegister f29 = {29}; | 311 constexpr DoubleRegister f29 = {29}; |
273 constexpr DoubleRegister f30 = {30}; | 312 constexpr DoubleRegister f30 = {30}; |
274 constexpr DoubleRegister f31 = {31}; | 313 constexpr DoubleRegister f31 = {31}; |
275 | 314 |
| 315 // SIMD registers. |
| 316 typedef MSARegister Simd128Register; |
| 317 |
| 318 const Simd128Register no_msareg = {kInvalidMSARegister}; |
| 319 |
| 320 constexpr Simd128Register w0 = {0}; |
| 321 constexpr Simd128Register w1 = {1}; |
| 322 constexpr Simd128Register w2 = {2}; |
| 323 constexpr Simd128Register w3 = {3}; |
| 324 constexpr Simd128Register w4 = {4}; |
| 325 constexpr Simd128Register w5 = {5}; |
| 326 constexpr Simd128Register w6 = {6}; |
| 327 constexpr Simd128Register w7 = {7}; |
| 328 constexpr Simd128Register w8 = {8}; |
| 329 constexpr Simd128Register w9 = {9}; |
| 330 constexpr Simd128Register w10 = {10}; |
| 331 constexpr Simd128Register w11 = {11}; |
| 332 constexpr Simd128Register w12 = {12}; |
| 333 constexpr Simd128Register w13 = {13}; |
| 334 constexpr Simd128Register w14 = {14}; |
| 335 constexpr Simd128Register w15 = {15}; |
| 336 constexpr Simd128Register w16 = {16}; |
| 337 constexpr Simd128Register w17 = {17}; |
| 338 constexpr Simd128Register w18 = {18}; |
| 339 constexpr Simd128Register w19 = {19}; |
| 340 constexpr Simd128Register w20 = {20}; |
| 341 constexpr Simd128Register w21 = {21}; |
| 342 constexpr Simd128Register w22 = {22}; |
| 343 constexpr Simd128Register w23 = {23}; |
| 344 constexpr Simd128Register w24 = {24}; |
| 345 constexpr Simd128Register w25 = {25}; |
| 346 constexpr Simd128Register w26 = {26}; |
| 347 constexpr Simd128Register w27 = {27}; |
| 348 constexpr Simd128Register w28 = {28}; |
| 349 constexpr Simd128Register w29 = {29}; |
| 350 constexpr Simd128Register w30 = {30}; |
| 351 constexpr Simd128Register w31 = {31}; |
| 352 |
276 // Register aliases. | 353 // Register aliases. |
277 // cp is assumed to be a callee saved register. | 354 // cp is assumed to be a callee saved register. |
278 constexpr Register kRootRegister = s6; | 355 constexpr Register kRootRegister = s6; |
279 constexpr Register cp = s7; | 356 constexpr Register cp = s7; |
280 constexpr Register kLithiumScratchReg = s3; | 357 constexpr Register kLithiumScratchReg = s3; |
281 constexpr Register kLithiumScratchReg2 = s4; | 358 constexpr Register kLithiumScratchReg2 = s4; |
282 constexpr DoubleRegister kLithiumScratchDouble = f30; | 359 constexpr DoubleRegister kLithiumScratchDouble = f30; |
283 constexpr DoubleRegister kDoubleRegZero = f28; | 360 constexpr DoubleRegister kDoubleRegZero = f28; |
284 // Used on mips64r6 for compare operations. | 361 // Used on mips64r6 for compare operations. |
285 // We use the last non-callee saved odd register for N64 ABI | 362 // We use the last non-callee saved odd register for N64 ABI |
(...skipping 16 matching lines...) Expand all Loading... |
302 reg_code = f; | 379 reg_code = f; |
303 DCHECK(is_valid()); | 380 DCHECK(is_valid()); |
304 } | 381 } |
305 // Unfortunately we can't make this private in a struct. | 382 // Unfortunately we can't make this private in a struct. |
306 int reg_code; | 383 int reg_code; |
307 }; | 384 }; |
308 | 385 |
309 constexpr FPUControlRegister no_fpucreg = {kInvalidFPUControlRegister}; | 386 constexpr FPUControlRegister no_fpucreg = {kInvalidFPUControlRegister}; |
310 constexpr FPUControlRegister FCSR = {kFCSRRegister}; | 387 constexpr FPUControlRegister FCSR = {kFCSRRegister}; |
311 | 388 |
| 389 // MSA control registers |
| 390 struct MSAControlRegister { |
| 391 bool is_valid() const { |
| 392 return (reg_code == kMSAIRRegister) || (reg_code == kMSACSRRegister); |
| 393 } |
| 394 bool is(MSAControlRegister creg) const { return reg_code == creg.reg_code; } |
| 395 int code() const { |
| 396 DCHECK(is_valid()); |
| 397 return reg_code; |
| 398 } |
| 399 int bit() const { |
| 400 DCHECK(is_valid()); |
| 401 return 1 << reg_code; |
| 402 } |
| 403 void setcode(int f) { |
| 404 reg_code = f; |
| 405 DCHECK(is_valid()); |
| 406 } |
| 407 // Unfortunately we can't make this private in a struct. |
| 408 int reg_code; |
| 409 }; |
| 410 |
| 411 constexpr MSAControlRegister no_msacreg = {kInvalidMSAControlRegister}; |
| 412 constexpr MSAControlRegister MSAIR = {kMSAIRRegister}; |
| 413 constexpr MSAControlRegister MSACSR = {kMSACSRRegister}; |
| 414 |
312 // ----------------------------------------------------------------------------- | 415 // ----------------------------------------------------------------------------- |
313 // Machine instruction Operands. | 416 // Machine instruction Operands. |
314 constexpr int kSmiShift = kSmiTagSize + kSmiShiftSize; | 417 constexpr int kSmiShift = kSmiTagSize + kSmiShiftSize; |
315 constexpr uint64_t kSmiShiftMask = (1UL << kSmiShift) - 1; | 418 constexpr uint64_t kSmiShiftMask = (1UL << kSmiShift) - 1; |
316 // Class Operand represents a shifter operand in data processing instructions. | 419 // Class Operand represents a shifter operand in data processing instructions. |
317 class Operand BASE_EMBEDDED { | 420 class Operand BASE_EMBEDDED { |
318 public: | 421 public: |
319 // Immediate. | 422 // Immediate. |
320 INLINE(explicit Operand(int64_t immediate, | 423 INLINE(explicit Operand(int64_t immediate, |
321 RelocInfo::Mode rmode = RelocInfo::NONE64)); | 424 RelocInfo::Mode rmode = RelocInfo::NONE64)); |
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1035 void bc1f(int16_t offset, uint16_t cc = 0); | 1138 void bc1f(int16_t offset, uint16_t cc = 0); |
1036 inline void bc1f(Label* L, uint16_t cc = 0) { | 1139 inline void bc1f(Label* L, uint16_t cc = 0) { |
1037 bc1f(shifted_branch_offset(L), cc); | 1140 bc1f(shifted_branch_offset(L), cc); |
1038 } | 1141 } |
1039 void bc1t(int16_t offset, uint16_t cc = 0); | 1142 void bc1t(int16_t offset, uint16_t cc = 0); |
1040 inline void bc1t(Label* L, uint16_t cc = 0) { | 1143 inline void bc1t(Label* L, uint16_t cc = 0) { |
1041 bc1t(shifted_branch_offset(L), cc); | 1144 bc1t(shifted_branch_offset(L), cc); |
1042 } | 1145 } |
1043 void fcmp(FPURegister src1, const double src2, FPUCondition cond); | 1146 void fcmp(FPURegister src1, const double src2, FPUCondition cond); |
1044 | 1147 |
| 1148 // MSA instructions |
| 1149 void bz_v(MSARegister wt, int16_t offset); |
| 1150 void bz_b(MSARegister wt, int16_t offset); |
| 1151 void bz_h(MSARegister wt, int16_t offset); |
| 1152 void bz_w(MSARegister wt, int16_t offset); |
| 1153 void bz_d(MSARegister wt, int16_t offset); |
| 1154 void bnz_v(MSARegister wt, int16_t offset); |
| 1155 void bnz_b(MSARegister wt, int16_t offset); |
| 1156 void bnz_h(MSARegister wt, int16_t offset); |
| 1157 void bnz_w(MSARegister wt, int16_t offset); |
| 1158 void bnz_d(MSARegister wt, int16_t offset); |
| 1159 |
| 1160 void ld_b(MSARegister wd, const MemOperand& rs); |
| 1161 void ld_h(MSARegister wd, const MemOperand& rs); |
| 1162 void ld_w(MSARegister wd, const MemOperand& rs); |
| 1163 void ld_d(MSARegister wd, const MemOperand& rs); |
| 1164 void st_b(MSARegister wd, const MemOperand& rs); |
| 1165 void st_h(MSARegister wd, const MemOperand& rs); |
| 1166 void st_w(MSARegister wd, const MemOperand& rs); |
| 1167 void st_d(MSARegister wd, const MemOperand& rs); |
| 1168 |
| 1169 void ldi_b(MSARegister wd, int32_t imm10); |
| 1170 void ldi_h(MSARegister wd, int32_t imm10); |
| 1171 void ldi_w(MSARegister wd, int32_t imm10); |
| 1172 void ldi_d(MSARegister wd, int32_t imm10); |
| 1173 |
| 1174 void addvi_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1175 void addvi_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1176 void addvi_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1177 void addvi_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1178 void subvi_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1179 void subvi_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1180 void subvi_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1181 void subvi_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1182 void maxi_s_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1183 void maxi_s_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1184 void maxi_s_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1185 void maxi_s_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1186 void maxi_u_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1187 void maxi_u_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1188 void maxi_u_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1189 void maxi_u_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1190 void mini_s_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1191 void mini_s_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1192 void mini_s_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1193 void mini_s_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1194 void mini_u_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1195 void mini_u_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1196 void mini_u_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1197 void mini_u_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1198 void ceqi_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1199 void ceqi_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1200 void ceqi_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1201 void ceqi_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1202 void clti_s_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1203 void clti_s_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1204 void clti_s_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1205 void clti_s_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1206 void clti_u_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1207 void clti_u_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1208 void clti_u_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1209 void clti_u_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1210 void clei_s_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1211 void clei_s_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1212 void clei_s_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1213 void clei_s_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1214 void clei_u_b(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1215 void clei_u_h(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1216 void clei_u_w(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1217 void clei_u_d(MSARegister wd, MSARegister ws, uint32_t imm5); |
| 1218 |
| 1219 void andi_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1220 void ori_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1221 void nori_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1222 void xori_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1223 void bmnzi_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1224 void bmzi_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1225 void bseli_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1226 void shf_b(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1227 void shf_h(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1228 void shf_w(MSARegister wd, MSARegister ws, uint32_t imm8); |
| 1229 |
| 1230 void and_v(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1231 void or_v(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1232 void nor_v(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1233 void xor_v(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1234 void bmnz_v(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1235 void bmz_v(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1236 void bsel_v(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1237 |
| 1238 void fill_b(MSARegister wd, Register rs); |
| 1239 void fill_h(MSARegister wd, Register rs); |
| 1240 void fill_w(MSARegister wd, Register rs); |
| 1241 void fill_d(MSARegister wd, Register rs); |
| 1242 void pcnt_b(MSARegister wd, MSARegister ws); |
| 1243 void pcnt_h(MSARegister wd, MSARegister ws); |
| 1244 void pcnt_w(MSARegister wd, MSARegister ws); |
| 1245 void pcnt_d(MSARegister wd, MSARegister ws); |
| 1246 void nloc_b(MSARegister wd, MSARegister ws); |
| 1247 void nloc_h(MSARegister wd, MSARegister ws); |
| 1248 void nloc_w(MSARegister wd, MSARegister ws); |
| 1249 void nloc_d(MSARegister wd, MSARegister ws); |
| 1250 void nlzc_b(MSARegister wd, MSARegister ws); |
| 1251 void nlzc_h(MSARegister wd, MSARegister ws); |
| 1252 void nlzc_w(MSARegister wd, MSARegister ws); |
| 1253 void nlzc_d(MSARegister wd, MSARegister ws); |
| 1254 |
| 1255 void fclass_w(MSARegister wd, MSARegister ws); |
| 1256 void fclass_d(MSARegister wd, MSARegister ws); |
| 1257 void ftrunc_s_w(MSARegister wd, MSARegister ws); |
| 1258 void ftrunc_s_d(MSARegister wd, MSARegister ws); |
| 1259 void ftrunc_u_w(MSARegister wd, MSARegister ws); |
| 1260 void ftrunc_u_d(MSARegister wd, MSARegister ws); |
| 1261 void fsqrt_w(MSARegister wd, MSARegister ws); |
| 1262 void fsqrt_d(MSARegister wd, MSARegister ws); |
| 1263 void frsqrt_w(MSARegister wd, MSARegister ws); |
| 1264 void frsqrt_d(MSARegister wd, MSARegister ws); |
| 1265 void frcp_w(MSARegister wd, MSARegister ws); |
| 1266 void frcp_d(MSARegister wd, MSARegister ws); |
| 1267 void frint_w(MSARegister wd, MSARegister ws); |
| 1268 void frint_d(MSARegister wd, MSARegister ws); |
| 1269 void flog2_w(MSARegister wd, MSARegister ws); |
| 1270 void flog2_d(MSARegister wd, MSARegister ws); |
| 1271 void fexupl_w(MSARegister wd, MSARegister ws); |
| 1272 void fexupl_d(MSARegister wd, MSARegister ws); |
| 1273 void fexupr_w(MSARegister wd, MSARegister ws); |
| 1274 void fexupr_d(MSARegister wd, MSARegister ws); |
| 1275 void ffql_w(MSARegister wd, MSARegister ws); |
| 1276 void ffql_d(MSARegister wd, MSARegister ws); |
| 1277 void ffqr_w(MSARegister wd, MSARegister ws); |
| 1278 void ffqr_d(MSARegister wd, MSARegister ws); |
| 1279 void ftint_s_w(MSARegister wd, MSARegister ws); |
| 1280 void ftint_s_d(MSARegister wd, MSARegister ws); |
| 1281 void ftint_u_w(MSARegister wd, MSARegister ws); |
| 1282 void ftint_u_d(MSARegister wd, MSARegister ws); |
| 1283 void ffint_s_w(MSARegister wd, MSARegister ws); |
| 1284 void ffint_s_d(MSARegister wd, MSARegister ws); |
| 1285 void ffint_u_w(MSARegister wd, MSARegister ws); |
| 1286 void ffint_u_d(MSARegister wd, MSARegister ws); |
| 1287 |
| 1288 void sll_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1289 void sll_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1290 void sll_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1291 void sll_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1292 void sra_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1293 void sra_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1294 void sra_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1295 void sra_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1296 void srl_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1297 void srl_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1298 void srl_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1299 void srl_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1300 void bclr_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1301 void bclr_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1302 void bclr_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1303 void bclr_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1304 void bset_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1305 void bset_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1306 void bset_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1307 void bset_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1308 void bneg_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1309 void bneg_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1310 void bneg_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1311 void bneg_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1312 void binsl_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1313 void binsl_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1314 void binsl_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1315 void binsl_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1316 void binsr_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1317 void binsr_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1318 void binsr_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1319 void binsr_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1320 void addv_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1321 void addv_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1322 void addv_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1323 void addv_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1324 void subv_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1325 void subv_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1326 void subv_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1327 void subv_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1328 void max_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1329 void max_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1330 void max_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1331 void max_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1332 void max_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1333 void max_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1334 void max_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1335 void max_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1336 void min_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1337 void min_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1338 void min_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1339 void min_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1340 void min_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1341 void min_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1342 void min_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1343 void min_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1344 void max_a_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1345 void max_a_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1346 void max_a_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1347 void max_a_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1348 void min_a_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1349 void min_a_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1350 void min_a_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1351 void min_a_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1352 void ceq_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1353 void ceq_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1354 void ceq_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1355 void ceq_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1356 void clt_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1357 void clt_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1358 void clt_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1359 void clt_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1360 void clt_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1361 void clt_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1362 void clt_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1363 void clt_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1364 void cle_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1365 void cle_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1366 void cle_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1367 void cle_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1368 void cle_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1369 void cle_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1370 void cle_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1371 void cle_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1372 void add_a_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1373 void add_a_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1374 void add_a_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1375 void add_a_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1376 void adds_a_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1377 void adds_a_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1378 void adds_a_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1379 void adds_a_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1380 void adds_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1381 void adds_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1382 void adds_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1383 void adds_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1384 void adds_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1385 void adds_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1386 void adds_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1387 void adds_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1388 void ave_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1389 void ave_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1390 void ave_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1391 void ave_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1392 void ave_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1393 void ave_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1394 void ave_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1395 void ave_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1396 void aver_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1397 void aver_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1398 void aver_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1399 void aver_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1400 void aver_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1401 void aver_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1402 void aver_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1403 void aver_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1404 void subs_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1405 void subs_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1406 void subs_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1407 void subs_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1408 void subs_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1409 void subs_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1410 void subs_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1411 void subs_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1412 void subsus_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1413 void subsus_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1414 void subsus_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1415 void subsus_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1416 void subsus_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1417 void subsus_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1418 void subsus_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1419 void subsus_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1420 void subsuu_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1421 void subsuu_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1422 void subsuu_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1423 void subsuu_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1424 void subsuu_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1425 void subsuu_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1426 void subsuu_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1427 void subsuu_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1428 void asub_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1429 void asub_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1430 void asub_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1431 void asub_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1432 void asub_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1433 void asub_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1434 void asub_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1435 void asub_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1436 void mulv_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1437 void mulv_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1438 void mulv_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1439 void mulv_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1440 void maddv_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1441 void maddv_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1442 void maddv_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1443 void maddv_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1444 void msubv_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1445 void msubv_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1446 void msubv_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1447 void msubv_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1448 void div_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1449 void div_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1450 void div_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1451 void div_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1452 void div_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1453 void div_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1454 void div_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1455 void div_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1456 void mod_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1457 void mod_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1458 void mod_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1459 void mod_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1460 void mod_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1461 void mod_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1462 void mod_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1463 void mod_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1464 void dotp_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1465 void dotp_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1466 void dotp_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1467 void dotp_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1468 void dotp_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1469 void dotp_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1470 void dotp_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1471 void dotp_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1472 void dpadd_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1473 void dpadd_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1474 void dpadd_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1475 void dpadd_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1476 void dpadd_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1477 void dpadd_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1478 void dpadd_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1479 void dpadd_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1480 void dpsub_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1481 void dpsub_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1482 void dpsub_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1483 void dpsub_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1484 void dpsub_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1485 void dpsub_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1486 void dpsub_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1487 void dpsub_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1488 void sld_b(MSARegister wd, MSARegister ws, Register rt); |
| 1489 void sld_h(MSARegister wd, MSARegister ws, Register rt); |
| 1490 void sld_w(MSARegister wd, MSARegister ws, Register rt); |
| 1491 void sld_d(MSARegister wd, MSARegister ws, Register rt); |
| 1492 void splat_b(MSARegister wd, MSARegister ws, Register rt); |
| 1493 void splat_h(MSARegister wd, MSARegister ws, Register rt); |
| 1494 void splat_w(MSARegister wd, MSARegister ws, Register rt); |
| 1495 void splat_d(MSARegister wd, MSARegister ws, Register rt); |
| 1496 void pckev_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1497 void pckev_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1498 void pckev_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1499 void pckev_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1500 void pckod_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1501 void pckod_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1502 void pckod_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1503 void pckod_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1504 void ilvl_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1505 void ilvl_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1506 void ilvl_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1507 void ilvl_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1508 void ilvr_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1509 void ilvr_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1510 void ilvr_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1511 void ilvr_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1512 void ilvev_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1513 void ilvev_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1514 void ilvev_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1515 void ilvev_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1516 void ilvod_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1517 void ilvod_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1518 void ilvod_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1519 void ilvod_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1520 void vshf_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1521 void vshf_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1522 void vshf_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1523 void vshf_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1524 void srar_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1525 void srar_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1526 void srar_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1527 void srar_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1528 void srlr_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1529 void srlr_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1530 void srlr_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1531 void srlr_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1532 void hadd_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1533 void hadd_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1534 void hadd_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1535 void hadd_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1536 void hadd_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1537 void hadd_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1538 void hadd_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1539 void hadd_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1540 void hsub_s_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1541 void hsub_s_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1542 void hsub_s_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1543 void hsub_s_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1544 void hsub_u_b(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1545 void hsub_u_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1546 void hsub_u_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1547 void hsub_u_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1548 |
| 1549 void fcaf_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1550 void fcaf_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1551 void fcun_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1552 void fcun_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1553 void fceq_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1554 void fceq_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1555 void fcueq_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1556 void fcueq_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1557 void fclt_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1558 void fclt_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1559 void fcult_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1560 void fcult_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1561 void fcle_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1562 void fcle_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1563 void fcule_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1564 void fcule_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1565 void fsaf_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1566 void fsaf_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1567 void fsun_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1568 void fsun_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1569 void fseq_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1570 void fseq_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1571 void fsueq_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1572 void fsueq_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1573 void fslt_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1574 void fslt_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1575 void fsult_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1576 void fsult_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1577 void fsle_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1578 void fsle_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1579 void fsule_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1580 void fsule_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1581 void fadd_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1582 void fadd_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1583 void fsub_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1584 void fsub_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1585 void fmul_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1586 void fmul_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1587 void fdiv_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1588 void fdiv_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1589 void fmadd_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1590 void fmadd_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1591 void fmsub_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1592 void fmsub_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1593 void fexp2_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1594 void fexp2_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1595 void fexdo_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1596 void fexdo_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1597 void ftq_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1598 void ftq_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1599 void fmin_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1600 void fmin_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1601 void fmin_a_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1602 void fmin_a_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1603 void fmax_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1604 void fmax_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1605 void fmax_a_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1606 void fmax_a_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1607 void fcor_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1608 void fcor_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1609 void fcune_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1610 void fcune_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1611 void fcne_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1612 void fcne_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1613 void mul_q_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1614 void mul_q_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1615 void madd_q_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1616 void madd_q_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1617 void msub_q_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1618 void msub_q_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1619 void fsor_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1620 void fsor_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1621 void fsune_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1622 void fsune_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1623 void fsne_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1624 void fsne_d(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1625 void mulr_q_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1626 void mulr_q_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1627 void maddr_q_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1628 void maddr_q_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1629 void msubr_q_h(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1630 void msubr_q_w(MSARegister wd, MSARegister ws, MSARegister wt); |
| 1631 |
| 1632 void sldi_b(MSARegister wd, MSARegister ws, uint32_t n); |
| 1633 void sldi_h(MSARegister wd, MSARegister ws, uint32_t n); |
| 1634 void sldi_w(MSARegister wd, MSARegister ws, uint32_t n); |
| 1635 void sldi_d(MSARegister wd, MSARegister ws, uint32_t n); |
| 1636 void splati_b(MSARegister wd, MSARegister ws, uint32_t n); |
| 1637 void splati_h(MSARegister wd, MSARegister ws, uint32_t n); |
| 1638 void splati_w(MSARegister wd, MSARegister ws, uint32_t n); |
| 1639 void splati_d(MSARegister wd, MSARegister ws, uint32_t n); |
| 1640 void copy_s_b(Register rd, MSARegister ws, uint32_t n); |
| 1641 void copy_s_h(Register rd, MSARegister ws, uint32_t n); |
| 1642 void copy_s_w(Register rd, MSARegister ws, uint32_t n); |
| 1643 void copy_s_d(Register rd, MSARegister ws, uint32_t n); |
| 1644 void copy_u_b(Register rd, MSARegister ws, uint32_t n); |
| 1645 void copy_u_h(Register rd, MSARegister ws, uint32_t n); |
| 1646 void copy_u_w(Register rd, MSARegister ws, uint32_t n); |
| 1647 void insert_b(MSARegister wd, uint32_t n, Register rs); |
| 1648 void insert_h(MSARegister wd, uint32_t n, Register rs); |
| 1649 void insert_w(MSARegister wd, uint32_t n, Register rs); |
| 1650 void insert_d(MSARegister wd, uint32_t n, Register rs); |
| 1651 void insve_b(MSARegister wd, uint32_t n, MSARegister ws); |
| 1652 void insve_h(MSARegister wd, uint32_t n, MSARegister ws); |
| 1653 void insve_w(MSARegister wd, uint32_t n, MSARegister ws); |
| 1654 void insve_d(MSARegister wd, uint32_t n, MSARegister ws); |
| 1655 void move_v(MSARegister wd, MSARegister ws); |
| 1656 void ctcmsa(MSAControlRegister cd, Register rs); |
| 1657 void cfcmsa(Register rd, MSAControlRegister cs); |
| 1658 |
| 1659 void slli_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1660 void slli_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1661 void slli_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1662 void slli_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1663 void srai_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1664 void srai_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1665 void srai_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1666 void srai_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1667 void srli_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1668 void srli_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1669 void srli_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1670 void srli_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1671 void bclri_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1672 void bclri_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1673 void bclri_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1674 void bclri_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1675 void bseti_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1676 void bseti_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1677 void bseti_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1678 void bseti_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1679 void bnegi_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1680 void bnegi_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1681 void bnegi_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1682 void bnegi_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1683 void binsli_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1684 void binsli_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1685 void binsli_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1686 void binsli_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1687 void binsri_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1688 void binsri_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1689 void binsri_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1690 void binsri_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1691 void sat_s_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1692 void sat_s_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1693 void sat_s_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1694 void sat_s_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1695 void sat_u_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1696 void sat_u_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1697 void sat_u_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1698 void sat_u_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1699 void srari_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1700 void srari_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1701 void srari_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1702 void srari_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1703 void srlri_b(MSARegister wd, MSARegister ws, uint32_t m); |
| 1704 void srlri_h(MSARegister wd, MSARegister ws, uint32_t m); |
| 1705 void srlri_w(MSARegister wd, MSARegister ws, uint32_t m); |
| 1706 void srlri_d(MSARegister wd, MSARegister ws, uint32_t m); |
| 1707 |
1045 // Check the code size generated from label to here. | 1708 // Check the code size generated from label to here. |
1046 int SizeOfCodeGeneratedSince(Label* label) { | 1709 int SizeOfCodeGeneratedSince(Label* label) { |
1047 return pc_offset() - label->pos(); | 1710 return pc_offset() - label->pos(); |
1048 } | 1711 } |
1049 | 1712 |
1050 // Check the number of instructions generated from label to here. | 1713 // Check the number of instructions generated from label to here. |
1051 int InstructionsGeneratedSince(Label* label) { | 1714 int InstructionsGeneratedSince(Label* label) { |
1052 return SizeOfCodeGeneratedSince(label) / kInstrSize; | 1715 return SizeOfCodeGeneratedSince(label) / kInstrSize; |
1053 } | 1716 } |
1054 | 1717 |
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1423 Opcode opcode, Register rs, int32_t offset21, | 2086 Opcode opcode, Register rs, int32_t offset21, |
1424 CompactBranchType is_compact_branch = CompactBranchType::NO); | 2087 CompactBranchType is_compact_branch = CompactBranchType::NO); |
1425 void GenInstrImmediate(Opcode opcode, Register rs, uint32_t offset21); | 2088 void GenInstrImmediate(Opcode opcode, Register rs, uint32_t offset21); |
1426 void GenInstrImmediate( | 2089 void GenInstrImmediate( |
1427 Opcode opcode, int32_t offset26, | 2090 Opcode opcode, int32_t offset26, |
1428 CompactBranchType is_compact_branch = CompactBranchType::NO); | 2091 CompactBranchType is_compact_branch = CompactBranchType::NO); |
1429 | 2092 |
1430 void GenInstrJump(Opcode opcode, | 2093 void GenInstrJump(Opcode opcode, |
1431 uint32_t address); | 2094 uint32_t address); |
1432 | 2095 |
| 2096 // MSA |
| 2097 void GenInstrMsaI8(SecondaryField operation, uint32_t imm8, MSARegister ws, |
| 2098 MSARegister wd); |
| 2099 |
| 2100 void GenInstrMsaI5(SecondaryField operation, SecondaryField df, int32_t imm5, |
| 2101 MSARegister ws, MSARegister wd); |
| 2102 |
| 2103 void GenInstrMsaBit(SecondaryField operation, SecondaryField df, uint32_t m, |
| 2104 MSARegister ws, MSARegister wd); |
| 2105 |
| 2106 void GenInstrMsaI10(SecondaryField operation, SecondaryField df, |
| 2107 int32_t imm10, MSARegister wd); |
| 2108 |
| 2109 template <typename RegType> |
| 2110 void GenInstrMsa3R(SecondaryField operation, SecondaryField df, RegType t, |
| 2111 MSARegister ws, MSARegister wd); |
| 2112 |
| 2113 template <typename DstType, typename SrcType> |
| 2114 void GenInstrMsaElm(SecondaryField operation, SecondaryField df, uint32_t n, |
| 2115 SrcType src, DstType dst); |
| 2116 |
| 2117 void GenInstrMsa3RF(SecondaryField operation, uint32_t df, MSARegister wt, |
| 2118 MSARegister ws, MSARegister wd); |
| 2119 |
| 2120 void GenInstrMsaVec(SecondaryField operation, MSARegister wt, MSARegister ws, |
| 2121 MSARegister wd); |
| 2122 |
| 2123 void GenInstrMsaMI10(SecondaryField operation, int32_t s10, Register rs, |
| 2124 MSARegister wd); |
| 2125 |
| 2126 void GenInstrMsa2R(SecondaryField operation, SecondaryField df, |
| 2127 MSARegister ws, MSARegister wd); |
| 2128 |
| 2129 void GenInstrMsa2RF(SecondaryField operation, SecondaryField df, |
| 2130 MSARegister ws, MSARegister wd); |
| 2131 |
| 2132 void GenInstrMsaBranch(SecondaryField operation, MSARegister wt, |
| 2133 int32_t offset16); |
| 2134 |
| 2135 inline bool is_valid_msa_df_m(SecondaryField bit_df, uint32_t m) { |
| 2136 switch (bit_df) { |
| 2137 case BIT_DF_b: |
| 2138 return is_uint3(m); |
| 2139 case BIT_DF_h: |
| 2140 return is_uint4(m); |
| 2141 case BIT_DF_w: |
| 2142 return is_uint5(m); |
| 2143 case BIT_DF_d: |
| 2144 return is_uint6(m); |
| 2145 default: |
| 2146 return false; |
| 2147 } |
| 2148 } |
| 2149 |
| 2150 inline bool is_valid_msa_df_n(SecondaryField elm_df, uint32_t n) { |
| 2151 switch (elm_df) { |
| 2152 case ELM_DF_B: |
| 2153 return is_uint4(n); |
| 2154 case ELM_DF_H: |
| 2155 return is_uint3(n); |
| 2156 case ELM_DF_W: |
| 2157 return is_uint2(n); |
| 2158 case ELM_DF_D: |
| 2159 return is_uint1(n); |
| 2160 default: |
| 2161 return false; |
| 2162 } |
| 2163 } |
| 2164 |
1433 // Labels. | 2165 // Labels. |
1434 void print(Label* L); | 2166 void print(Label* L); |
1435 void bind_to(Label* L, int pos); | 2167 void bind_to(Label* L, int pos); |
1436 void next(Label* L, bool is_internal); | 2168 void next(Label* L, bool is_internal); |
1437 | 2169 |
1438 // One trampoline consists of: | 2170 // One trampoline consists of: |
1439 // - space for trampoline slots, | 2171 // - space for trampoline slots, |
1440 // - space for labels. | 2172 // - space for labels. |
1441 // | 2173 // |
1442 // Space for trampoline slots is equal to slot_count * 2 * kInstrSize. | 2174 // Space for trampoline slots is equal to slot_count * 2 * kInstrSize. |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1523 public: | 2255 public: |
1524 explicit EnsureSpace(Assembler* assembler) { | 2256 explicit EnsureSpace(Assembler* assembler) { |
1525 assembler->CheckBuffer(); | 2257 assembler->CheckBuffer(); |
1526 } | 2258 } |
1527 }; | 2259 }; |
1528 | 2260 |
1529 } // namespace internal | 2261 } // namespace internal |
1530 } // namespace v8 | 2262 } // namespace v8 |
1531 | 2263 |
1532 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 2264 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |