Index: src/mips/simulator-mips.h |
diff --git a/src/mips/simulator-mips.h b/src/mips/simulator-mips.h |
index a44f0b4e9ccfb4bc3c8f65b326b3375ec344656a..218bffa5070d9fbb8ca57fd4d9e860d29fa91b9d 100644 |
--- a/src/mips/simulator-mips.h |
+++ b/src/mips/simulator-mips.h |
@@ -336,6 +336,12 @@ class Simulator { |
// MSA Data Format |
enum MSADataFormat { MSA_VECT = 0, MSA_BYTE, MSA_HALF, MSA_WORD, MSA_DWORD }; |
+ typedef union { |
+ int8_t b[kMSALanesByte]; |
+ int16_t h[kMSALanesHalf]; |
+ int32_t w[kMSALanesWord]; |
+ int64_t d[kMSALanesDword]; |
+ } msa_reg_t; |
// Read and write memory. |
inline uint32_t ReadBU(int32_t addr); |
@@ -359,6 +365,8 @@ class Simulator { |
void TraceRegWr(int64_t value, TraceType t = DWORD); |
template <typename T> |
void TraceMSARegWr(T* value, TraceType t); |
+ template <typename T> |
+ void TraceMSARegWr(T* value); |
void TraceMemWr(int32_t addr, int32_t value, TraceType t = WORD); |
void TraceMemRd(int32_t addr, int32_t value, TraceType t = WORD); |
void TraceMemWr(int32_t addr, int64_t value, TraceType t = DWORD); |