Richard Henderson
6b5a3bdf3a
target/arm: Implement SCLAMP, UCLAMP
...
This is an SVE instruction that operates using the SVE vector
length but that it is present only if SME is implemented.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220708151540.18136-31-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-07-11 13:43:51 +01:00
Richard Henderson
7dbfafc157
target/arm: Implement REVD
...
This is an SVE instruction that operates using the SVE vector
length but that it is present only if SME is implemented.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220708151540.18136-30-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-07-11 13:43:51 +01:00
Richard Henderson
598ab0b24c
target/arm: Implement PSEL
...
This is an SVE instruction that operates using the SVE vector
length but that it is present only if SME is implemented.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220708151540.18136-29-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-07-11 13:43:51 +01:00
Richard Henderson
0d93576034
target/arm: Implement SME RDSVL, ADDSVL, ADDSPL
...
These SME instructions are nominally within the SVE decode space,
so we add them to sve.decode and translate-sve.c.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220708151540.18136-18-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-07-11 13:19:35 +01:00
Richard Henderson
e1d1a64326
target/arm: Mark gather prefetch as non-streaming
...
Mark these as a non-streaming instructions, which should trap if full
a64 support is not enabled in streaming mode. In this case, introduce
PRF_ns (prefetch non-streaming) to handle the checks.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220708151540.18136-13-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-07-11 13:19:35 +01:00
Richard Henderson
25aee7cc3b
target/arm: Use TRANS_FEAT for FMMLA
...
Being able to specify the feature predicate in TRANS_FEAT
makes it easier to split trans_FMMLA by element size,
which also happens to simplify the decode.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-79-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:09 +01:00
Richard Henderson
7836c9414f
target/arm: Reject copy w/ shifted byte early
...
Remove the unparsed extractions in trans_CPY_{m,z}_i which are intended
to reject an 8-bit shift of an 8-bit constant for 8-bit element.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-74-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:09 +01:00
Richard Henderson
3a40518079
target/arm: Reject add/sub w/ shifted byte early
...
Remove the unparsed extractions in trans_ADD_zzi, trans_SUBR_zzi,
and do_zzi_sat which are intended to reject an 8-bit shift of an
8-bit constant for 8-bit element.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-73-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:09 +01:00
Richard Henderson
c437c59ba1
target/arm: Reject dup_i w/ shifted byte early
...
Remove the unparsed extraction in trans_DUP_i,
which is intended to reject an 8-bit shift of
an 8-bit constant for 8-bit element.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-72-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:09 +01:00
Richard Henderson
b17ab4705c
target/arm: Fix sve2 ldnt1 and stnt1
...
For both ldnt1 and stnt1, the meaning of the Rn and Rm are different
from ld1 and st1: the vector and integer registers are reversed, and
the integer register 31 refers to XZR instead of SP.
Secondly, the 64-bit version of ldnt1 was being interpreted as
32-bit unpacked unscaled offset instead of 64-bit unscaled offset,
which discarded the upper 32 bits of the address coming from
the vector argument.
Thirdly, validate that the memory element size is in range for the
vector element size for ldnt1. For ld1, we do this via independent
decode patterns, but for ldnt1 we need to do it manually.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/826
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 20220308031655.240710-1-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-03-18 10:55:15 +00:00
Peter Maydell
8fe612a183
target/arm: Remove duplicate 'plus1' function from Neon and SVE decode
...
The Neon and SVE decoders use private 'plus1' functions to implement
"add one" for the !function decoder syntax. We have a generic
"plus_1" function in translate.h, so use that instead.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-id: 20210715095341.701-1-peter.maydell@linaro.org
2021-07-18 10:59:47 +01:00
Richard Henderson
458d0ab683
target/arm: Implement bfloat widening fma (indexed)
...
This is BFMLAL{B,T} for both AArch64 AdvSIMD and SVE,
and VFMA{B,T}.BF16 for AArch32 NEON.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525225817.400336-11-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-06-03 16:43:26 +01:00
Richard Henderson
5693887f2e
target/arm: Implement bfloat widening fma (vector)
...
This is BFMLAL{B,T} for both AArch64 AdvSIMD and SVE,
and VFMA{B,T}.BF16 for AArch32 NEON.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525225817.400336-10-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-06-03 16:43:26 +01:00
Richard Henderson
81266a1f58
target/arm: Implement bfloat16 matrix multiply accumulate
...
This is BFMMLA for both AArch64 AdvSIMD and SVE,
and VMMLA.BF16 for AArch32 NEON.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525225817.400336-9-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-06-03 16:43:26 +01:00
Richard Henderson
839144784b
target/arm: Implement bfloat16 dot product (indexed)
...
This is BFDOT for both AArch64 AdvSIMD and SVE,
and VDOT.BF16 for AArch32 NEON.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525225817.400336-8-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-06-03 16:43:26 +01:00
Richard Henderson
cb8657f7f9
target/arm: Implement bfloat16 dot product (vector)
...
This is BFDOT for both AArch64 AdvSIMD and SVE,
and VDOT.BF16 for AArch32 NEON.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525225817.400336-7-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-06-03 16:43:26 +01:00
Richard Henderson
d29b17ca3e
target/arm: Implement vector float32 to bfloat16 conversion
...
This is BFCVT{N,T} for both AArch64 AdvSIMD and SVE,
and VCVT.BF16.F32 for AArch32 NEON.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525225817.400336-5-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-06-03 16:43:26 +01:00
Richard Henderson
2323c5ffd4
target/arm: Implement integer matrix multiply accumulate
...
This is {S,U,US}MMLA for both AArch64 AdvSIMD and SVE,
and V{S,U,US}MMLA.S8 for AArch32 NEON.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-91-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
50d102bd42
target/arm: Implement SVE2 fp multiply-add long
...
Implements both vectored and indexed FMLALB, FMLALT, FMLSLB, FMLSLT
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-83-richard.henderson@linaro.org
Message-Id: <20200504171240.11220-1-steplong@quicinc.com >
[rth: Rearrange to use float16_to_float32_by_bits.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
a5421b54c4
target/arm: Implement SVE2 bitwise shift immediate
...
Implements SQSHL/UQSHL, SRSHR/URSHR, and SQSHLU
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-81-richard.henderson@linaro.org
Message-Id: <20200430194159.24064-1-steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
74b64b2562
target/arm: Implement 128-bit ZIP, UZP, TRN
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-80-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
12c563f683
target/arm: Implement SVE2 LD1RO
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-79-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
631be02e29
target/arm: Implement SVE2 FLOGB
...
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-76-richard.henderson@linaro.org
Message-Id: <20200430191405.21641-1-steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
9536527731
target/arm: Implement SVE2 FCVTXNT, FCVTX
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-75-richard.henderson@linaro.org
Message-Id: <20200428174332.17162-4-steplong@quicinc.com >
[rth: Use do_frint_mode, which avoids a specific runtime helper.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
83c2523f80
target/arm: Implement SVE2 FCVTLT
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-74-richard.henderson@linaro.org
Message-Id: <20200428174332.17162-3-steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
5c1b7226f5
target/arm: Implement SVE2 FCVTNT
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-73-richard.henderson@linaro.org
Message-Id: <20200428174332.17162-2-steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
80a712a2be
target/arm: Implement SVE2 TBL, TBX
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-72-richard.henderson@linaro.org
Message-Id: <20200428144352.9275-1-steplong@quicinc.com >
[rth: rearrange the macros a little and rebase]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
3358eb3fb7
target/arm: Implement SVE2 crypto constructive binary operations
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-71-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
3cc7a88e0d
target/arm: Implement SVE2 crypto destructive binary operations
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-70-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
b2bcd1be4b
target/arm: Implement SVE2 crypto unary operations
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-69-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
6a98cb2ae0
target/arm: Implement SVE mixed sign dot product
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-68-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
2867039a9f
target/arm: Implement SVE mixed sign dot product (indexed)
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-67-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
21068f3972
target/arm: Implement SVE2 complex integer dot product
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-64-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
3b787ed808
target/arm: Implement SVE2 complex integer multiply-add (indexed)
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-63-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
d3949c4c7b
target/arm: Implement SVE2 integer multiply long (indexed)
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-62-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
d462469fc6
target/arm: Implement SVE2 multiply-add long (indexed)
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-61-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
1aee2d70e3
target/arm: Implement SVE2 saturating multiply high (indexed)
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-60-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
169d7c5825
target/arm: Implement SVE2 signed saturating doubling multiply high
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-59-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
b95f5eebf6
target/arm: Implement SVE2 saturating multiply (indexed)
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-58-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
c5c455d783
target/arm: Implement SVE2 saturating multiply-add (indexed)
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-57-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
75d6d5fc33
target/arm: Implement SVE2 saturating multiply-add high (indexed)
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-56-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
8a02aac740
target/arm: Implement SVE2 integer multiply-add (indexed)
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-55-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
814d4c521f
target/arm: Implement SVE2 integer multiply (indexed)
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-54-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
0a82d963b7
target/arm: Split out formats for 3 vectors + 1 index
...
Used by FMLA and DOT, but will shortly be used more.
Split FMLA from FMLS to avoid an extra sub field;
similarly for SDOT from UDOT.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-53-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
1c737d9c5f
target/arm: Split out formats for 2 vectors + 1 index
...
Currently only used by FMUL, but will shortly be used more.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-52-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Richard Henderson
bc2bd6974e
target/arm: Pass separate addend to {U, S}DOT helpers
...
For SVE, we potentially have a 4th argument coming from the
movprfx instruction. Currently we do not optimize movprfx,
so the problem is not visible.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-50-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
751147928e
target/arm: Implement SVE2 SPLICE, EXT
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-48-richard.henderson@linaro.org
Message-Id: <20200423180347.9403-1-steplong@quicinc.com >
[rth: Rename the trans_* functions to *_sve2.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
4f26756b87
target/arm: Implement SVE2 FMMLA
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-47-richard.henderson@linaro.org
Message-Id: <20200422165503.13511-1-steplong@quicinc.com >
[rth: Fix indexing in helpers, expand macro to straight functions.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
cf32744981
target/arm: Implement SVE2 gather load insns
...
Add decoding logic for SVE2 64-bit/32-bit gather non-temporal
load insns.
64-bit
* LDNT1SB
* LDNT1B (vector plus scalar)
* LDNT1SH
* LDNT1H (vector plus scalar)
* LDNT1SW
* LDNT1W (vector plus scalar)
* LDNT1D (vector plus scalar)
32-bit
* LDNT1SB
* LDNT1B (vector plus scalar)
* LDNT1SH
* LDNT1H (vector plus scalar)
* LDNT1W (vector plus scalar)
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-46-richard.henderson@linaro.org
Message-Id: <20200422152343.12493-1-steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00
Stephen Long
6ebca45faf
target/arm: Implement SVE2 scatter store insns
...
Add decoding logic for SVE2 64-bit/32-bit scatter non-temporal
store insns.
64-bit
* STNT1B (vector plus scalar)
* STNT1H (vector plus scalar)
* STNT1W (vector plus scalar)
* STNT1D (vector plus scalar)
32-bit
* STNT1B (vector plus scalar)
* STNT1H (vector plus scalar)
* STNT1W (vector plus scalar)
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stephen Long <steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-45-richard.henderson@linaro.org
Message-Id: <20200422141553.8037-1-steplong@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2021-05-25 16:01:44 +01:00