diff options
author | 2018-11-27 16:53:14 -0500 | |
---|---|---|
committer | 2018-11-27 16:53:14 -0500 | |
commit | a4159dba080f5621f19f814440553ba734c8e712 (patch) | |
tree | ae54b8ca8fc46cb990d169fbb912972f7a3a04f7 /Eigen/src/Core/NumTraits.h | |
parent | b131a4db2439ea1ca4ba86cbc86aa962914915c5 (diff) |
do not read buffers out of bounds -- load only the 4 bytes we know exist here. Could also have done a vld1_lane_f32 but doing so here, without the overhead of initializing the unused lane, would have triggered used-of-uninitialized-value errors in tools such as ASan. Note that this code is sub-optimal before or after this change: we should be reading either 2 or 4 float32 values per load-instruction (2 for ARM in-order cores with an affinity for 8-byte loads; 4 for ARM out-of-order cores able to dual-issue 16-byte load instructions with arithmetic instructions). Before or after this patch, we are only loading 4 bytes of useful data here (even if before this patch, we were technically loading 8, only to use only the 4 first).
Diffstat (limited to 'Eigen/src/Core/NumTraits.h')
0 files changed, 0 insertions, 0 deletions