target/arm/vec_helper: Handle oprsz less than 16 bytes in indexed operations
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 28 Aug 2020 18:33:51 +0000 (19:33 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 1 Sep 2020 10:45:29 +0000 (11:45 +0100)
commitd7ce81e553e6789bf27657105b32575668d60b1c
treeee07b25293b3f423b3aaa6b87bdac82325792a57
parent23afcdd2511f2a3dc05bed650d27bd25cf9b2a3c
target/arm/vec_helper: Handle oprsz less than 16 bytes in indexed operations

In the gvec helper functions for indexed operations, for AArch32
Neon the oprsz (total size of the vector) can be less than 16 bytes
if the operation is on a D reg. Since the inner loop in these
helpers always goes from 0 to segment, we must clamp it based
on oprsz to avoid processing a full 16 byte segment when asked to
handle an 8 byte wide vector.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200828183354.27913-43-peter.maydell@linaro.org
target/arm/vec_helper.c