aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2021-10-12 12:37:42 +0100
committerSander de Smalen <sander.desmalen@arm.com>2021-10-20 13:55:24 +0100
commitbe6c8dc765c32a79c0c9b0e6720e3b22d226e478 (patch)
tree008660e5d0fba0e19d88f4adc1d381acea0e5757 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
parent5a8ad80b6fa5cbad58b78384f534b78fca863e7f (diff)
downloadllvm-be6c8dc765c32a79c0c9b0e6720e3b22d226e478.zip
llvm-be6c8dc765c32a79c0c9b0e6720e3b22d226e478.tar.gz
llvm-be6c8dc765c32a79c0c9b0e6720e3b22d226e478.tar.bz2
[SelectionDAG] Fix getVectorSubVecPointer for scalable subvectors.
When inserting a scalable subvector into a scalable vector through the stack, the index to store to needs to be scaled by vscale. Before this patch, that didn't yet happen, so it would generate the wrong offset, thus storing a subvector to the incorrect address and overwriting the wrong lanes. For some insert: nxv8f16 insert_subvector(nxv8f16 %vec, nxv2f16 %subvec, i64 2) The offset was not scaled by vscale: orr x8, x8, #0x4 st1h { z0.h }, p0, [sp] st1h { z1.d }, p1, [x8] ld1h { z0.h }, p0/z, [sp] And is changed to: mov x8, sp st1h { z0.h }, p0, [sp] st1h { z1.d }, p1, [x8, #1, mul vl] ld1h { z0.h }, p0/z, [sp] Differential Revision: https://reviews.llvm.org/D111633
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp')
0 files changed, 0 insertions, 0 deletions