Lines Matching refs:lane
61 T GetLane(int lane) const {
63 VIXL_CHECK(lane >= 0);
64 VIXL_CHECK(kSizeInBytes >= ((lane + 1) * lane_size));
66 memcpy(&result, bytes + (lane * lane_size), lane_size);
71 void SetLane(int lane, T value) {
73 VIXL_CHECK(kSizeInBytes >= ((lane + 1) * lane_size));
74 memcpy(bytes + (lane * lane_size), &value, lane_size);
164 inline T zreg_lane(unsigned code, int lane) const {
167 VIXL_ASSERT(lane < GetSVELaneCount(sizeof(T) * kBitsPerByte));
168 return dump_.z_[code].GetLane<T>(lane);
173 int lane) const {
176 return zreg_lane<uint8_t>(code, lane);
178 return zreg_lane<uint16_t>(code, lane);
180 return zreg_lane<uint32_t>(code, lane);
182 return zreg_lane<uint64_t>(code, lane);
190 int lane) const {
192 VIXL_ASSERT(lane < GetSVELaneCount(p_bits_per_lane * kZRegBitsPerPRegBit));
199 int chunk_index = (lane * p_bits_per_lane) / kChunkSizeInBits;
200 int bit_index = (lane * p_bits_per_lane) % kChunkSizeInBits;
214 inline bool HasSVELane(T reg, int lane) const {
216 return lane < GetSVELaneCount(reg.GetLaneSizeInBits());
220 inline uint64_t GetSVELane(T reg, int lane) const {
221 VIXL_ASSERT(HasSVELane(reg, lane));
223 return zreg_lane(reg.GetCode(), reg.GetLaneSizeInBits(), lane);
228 lane);
396 int lane);
401 int lane);
403 // Check that each SVE lane matches the corresponding expected[] value. The
404 // highest-indexed array element maps to the lowest-numbered lane.
412 // Evaluate and report errors on every lane, rather than just the first.
414 for (int lane = 0; lane < N; ++lane) {
415 if (!core->HasSVELane(reg, lane)) {
425 // Map the highest-indexed array element to the lowest-numbered lane.
426 equal = EqualSVELane(expected[N - lane - 1], core, reg, lane) && equal;
440 // Evaluate and report errors on every lane, rather than just the first.
442 for (int lane = 0; lane < core->GetSVELaneCount(reg.GetLaneSizeInBits());
443 ++lane) {
444 equal = EqualSVELane(expected, core, reg, lane) && equal;
459 // If the lane size is omitted, pick a default.
464 // Evaluate and report errors on every lane, rather than just the first.
467 for (int lane = 0; lane < core->GetSVELaneCount(lane_size); ++lane) {
468 uint64_t expected_lane = core->GetSVELane(expected, lane);
469 equal = equal && EqualSVELane(expected_lane, core, result, lane);
658 // lane.