aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartyn Capewell <martyn.capewell@arm.com>2020-07-02 15:47:54 +0100
committerMartyn Capewell <martyn.capewell@arm.com>2020-07-13 10:05:58 +0100
commit4635261c9edcf4b056f9e1b26052b5612dee61ba (patch)
treefb7a3744324a31bb56d24008269965ce257795a9 /src
parent3eb24e95aabe254788d21fd8c647964ec93aca67 (diff)
downloadvixl-4635261c9edcf4b056f9e1b26052b5612dee61ba.tar.gz
Use segments in SVE indexed fmul simulation
The value used for the second operand in indexed multiplies differs for each segment (128-bit part) of a vector, but the simulator wasn't doing this for FP multiplies. Fix and update the tests. Change-Id: I9cc37ebef9d216243a23bedebea256826e1016cb
Diffstat (limited to 'src')
-rw-r--r--src/aarch64/simulator-aarch64.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/aarch64/simulator-aarch64.cc b/src/aarch64/simulator-aarch64.cc
index 5326b186..e1026cec 100644
--- a/src/aarch64/simulator-aarch64.cc
+++ b/src/aarch64/simulator-aarch64.cc
@@ -8252,7 +8252,7 @@ void Simulator::VisitSVEFPMulIndex(const Instruction* instr) {
SimVRegister& zn = ReadVRegister(instr->GetRn());
SimVRegister temp;
- dup_element(vform, temp, ReadVRegister(zm_code), index);
+ dup_elements_to_segments(vform, temp, ReadVRegister(zm_code), index);
fmul(vform, zd, zn, temp);
}