Lines Matching defs:reg_info
38 uint32_t RegisterValue::GetAsMemoryData(const RegisterInfo ®_info, void *dst,
47 "invalid register value type for register {0}", reg_info.name);
51 const uint32_t src_len = reg_info.byte_size;
69 "failed to copy data for register write of %s", reg_info.name);
74 uint32_t RegisterValue::SetFromMemoryData(const RegisterInfo ®_info,
94 const uint32_t dst_len = reg_info.byte_size;
99 reg_info.name, dst_len);
107 error = SetValueFromData(reg_info, src_data, 0, true);
142 RegisterValue::Type RegisterValue::SetType(const RegisterInfo ®_info) {
147 Status error = SetValueFromData(reg_info, copy_data, 0, true);
155 Status RegisterValue::SetValueFromData(const RegisterInfo ®_info,
166 if (reg_info.byte_size == 0) {
173 if (!partial_data_ok && (src_len < reg_info.byte_size)) {
180 if (src_len > reg_info.byte_size)
181 src_len = reg_info.byte_size;
186 switch (reg_info.encoding) {
191 if (reg_info.byte_size == 1)
193 else if (reg_info.byte_size <= 2)
195 else if (reg_info.byte_size <= 4)
197 else if (reg_info.byte_size <= 8)
199 else if (reg_info.byte_size <= 16) {
213 if (reg_info.byte_size == sizeof(float))
215 else if (reg_info.byte_size == sizeof(double))
217 else if (reg_info.byte_size == sizeof(long double))
222 assert(reg_info.byte_size <= kMaxRegisterByteSize);
223 buffer.bytes.resize(reg_info.byte_size);
233 "failed to copy data for register write of %s", reg_info.name);
241 "invalid register value type for register %s", reg_info.name);
246 static bool ParseVectorEncoding(const RegisterInfo *reg_info,
313 Status RegisterValue::SetValueFromString(const RegisterInfo *reg_info,
316 if (reg_info == nullptr) {
326 const uint32_t byte_size = reg_info->byte_size;
333 switch (reg_info->encoding) {
358 if (!SetUInt(uval64, reg_info->byte_size)) {
386 if (!SetUInt(ival64, reg_info->byte_size)) {
427 if (!ParseVectorEncoding(reg_info, value_str, byte_size, this))