]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/arm: Speed up aarch64 TBL/TBX
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 24 Feb 2021 23:05:32 +0000 (15:05 -0800)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 5 Mar 2021 15:17:34 +0000 (15:17 +0000)
commit519183d3fee58e52f7b51cf146c9dc9edc565059
treea69f2eb4218c6fcf7fbd4908661eaf23d129d836
parent4565afbbf0b6d897ee746f2410d60460f43c3159
target/arm: Speed up aarch64 TBL/TBX

Always perform one call instead of two for 16-byte operands.
Use byte loads/stores directly into the vector register file
instead of extractions and deposits to a 64-bit local variable.

In order to easily receive pointers into the vector register file,
convert the helper to the gvec out-of-line signature.  Move the
helper into vec_helper.c, where it can make use of H1 and clear_tail.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20210224230532.276878-1-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/helper-a64.c
target/arm/helper-a64.h
target/arm/translate-a64.c
target/arm/vec_helper.c