diff options
author | Martyn Capewell <martyn.capewell@arm.com> | 2020-07-02 15:47:54 +0100 |
---|---|---|
committer | Martyn Capewell <martyn.capewell@arm.com> | 2020-07-13 10:05:58 +0100 |
commit | 4635261c9edcf4b056f9e1b26052b5612dee61ba (patch) | |
tree | fb7a3744324a31bb56d24008269965ce257795a9 /src | |
parent | 3eb24e95aabe254788d21fd8c647964ec93aca67 (diff) | |
download | vixl-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.cc | 2 |
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); } |