Philippe Mathieu-Daudé
146f2354b5
target/loongarch: Introduce abstract TYPE_LOONGARCH64_CPU
...
In preparation of introducing TYPE_LOONGARCH32_CPU, introduce
an abstract TYPE_LOONGARCH64_CPU.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230821125959.28666-5-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:55 +08:00
Song Gao
0b36072786
target/loongarch: Fix loongarch_la464_initfn() misses setting LSPW
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20230817093121.1053890-11-gaosong@loongson.cn >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230821125959.28666-4-philmd@linaro.org >
2023-08-24 11:17:55 +08:00
Philippe Mathieu-Daudé
3a4b64c702
target/loongarch: Remove duplicated disas_set_info assignment
...
Commit 228021f05e
("target/loongarch: Add core definition") sets
disas_set_info to loongarch_cpu_disas_set_info. Probably due to
a failed git-rebase, commit ca61e75071
("target/loongarch: Add gdb
support") also sets it to the same value. Remove the duplication.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230821125959.28666-3-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:55 +08:00
Philippe Mathieu-Daudé
3da4004c21
target/loongarch: Log I/O write accesses to CSR registers
...
Various CSR registers have Read/Write fields. We might
want to see guest trying to change such registers.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230821125959.28666-2-philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-08-24 11:17:55 +08:00
Michael Tokarev
8b81968c1c
other architectures: spelling fixes
...
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
2023-07-25 17:14:07 +03:00
Thomas Huth
c34ad45992
target/loongarch: Fix the CSRRD CPUID instruction on big endian hosts
...
The test in tests/avocado/machine_loongarch.py is currently failing
on big endian hosts like s390x. By comparing the traces between running
the QEMU_EFI.fd bios on a s390x and on a x86 host, it's quickly obvious
that the CSRRD instruction for the CPUID is behaving differently. And
indeed: The code currently does a long read (i.e. 64 bit) from the
address that points to the CPUState->cpu_index field (with tcg_gen_ld_tl()
in the trans_csrrd() function). But this cpu_index field is only an "int"
(i.e. 32 bit). While this dirty pointer magic works on little endian hosts,
it of course fails on big endian hosts. Fix it by using a proper helper
function instead.
Message-Id: <20230720175307.854460-1-thuth@redhat.com >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2023-07-24 18:44:48 +02:00
Anton Johansson
bb5de52524
target: Widen pc/cs_base in cpu_get_tb_cpu_state
...
Signed-off-by: Anton Johansson <anjo@rev.ng >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230621135633.1649-4-anjo@rev.ng >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-26 17:32:59 +02:00
Philippe Mathieu-Daudé
de6cd7599b
meson: Replace softmmu_ss -> system_ss
...
We use the user_ss[] array to hold the user emulation sources,
and the softmmu_ss[] array to hold the system emulation ones.
Hold the latter in the 'system_ss[]' array for parity with user
emulation.
Mechanical change doing:
$ sed -i -e s/softmmu_ss/system_ss/g $(git grep -l softmmu_ss)
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230613133347.82210-10-philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-20 10:01:30 +02:00
Jiajie Chen
505aa8d8f2
target/loongarch: Fix CSR.DMW0-3.VSEG check
...
The previous code checks whether the highest 16 bits of virtual address
equal to that of CSR.DMW0-3. This is incorrect according to the spec,
and is corrected to compare only the highest four bits instead.
Signed-off-by: Jiajie Chen <c@jia.je >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230614065556.2397513-1-c@jia.je >
Signed-off-by: Song Gao <gaosong@loongson.cn >
2023-06-16 17:58:46 +08:00
Tianrui Zhao
758a747566
hw/intc: Set physical cpuid route for LoongArch ipi device
...
LoongArch ipi device uses physical cpuid to route to different
vcpus rather logical cpuid, and the physical cpuid is the same
with cpuid in acpi dsdt and srat table.
Reviewed-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230613120552.2471420-3-zhaotianrui@loongson.cn >
2023-06-16 17:58:46 +08:00
Richard Henderson
d654e92817
target/*: Add missing includes of exec/translation-block.h
...
This had been pulled in via exec/exec-all.h, via exec/translator.h,
but the include of exec-all.h will be removed.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-05 12:04:29 -07:00
Richard Henderson
dfd1b81274
accel/tcg: Introduce translator_io_start
...
New wrapper around gen_io_start which takes care of the USE_ICOUNT
check, as well as marking the DisasContext to end the TB.
Remove exec/gen-icount.h.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-05 12:04:29 -07:00
Richard Henderson
d53106c997
tcg: Pass TCGHelperInfo to tcg_gen_callN
...
In preparation for compiling tcg/ only once, eliminate
the all_helpers array. Instantiate the info structs for
the generic helpers in accel/tcg/, and the structs for
the target-specific helpers in each translate.c.
Since we don't see all of the info structs at startup,
initialize at first use, using g_once_init_* to make
sure we don't race while doing so.
Reviewed-by: Anton Johansson <anjo@rev.ng >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-05 12:04:29 -07:00
Song Gao
65bfaaae6a
target/loongarch: Fix the vinsgr2vr/vpickve2gr instructions cause system coredump
...
The vinsgr2vr/vpickve2gr instructions need use get_src/get_dst to get
gpr registers value, not cpu_gpr[]. The $zero register does not
have cpu_gpr[0] allocated.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1662
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230525120005.2223413-1-gaosong@loongson.cn >
2023-05-26 17:21:16 +08:00
Song Gao
2e2ca3c8fa
target/loongarch: Fix LD/ST{LE/GT} instructions get wrong CSR_ERA and CSR_BADV
...
1.helper_asrtle_d/helper_asrtgt_d need use GETPC() to get PC;
2 LD/ST{LE/GT} need set CSR_BADV = gpr[rj];
3 ASRTLE.D/ASRTGT.D also write CSR_BADV, but this value is random
and has no reference value.
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230515130042.2719712-1-gaosong@loongson.cn >
2023-05-26 17:21:12 +08:00
Richard Henderson
335dfd253f
target/loongarch: Do not include tcg-ldst.h
...
This header is supposed to be private to tcg and in fact
does not need to be included here at all.
Reviewed-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-05-11 09:53:41 +01:00
Richard Henderson
7534695b40
target/loongarch: Terminate vmstate subsections list
...
This list requires a NULL terminator.
Fixes: 16f5396cec
("target/loongarch: Add LSX data type VReg")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230510062405.127260-1-richard.henderson@linaro.org >
2023-05-10 09:52:36 +01:00
Song Gao
c6c2fec4b9
target/loongarch: CPUCFG support LSX
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-45-gaosong@loongson.cn >
2023-05-06 11:19:50 +08:00
Song Gao
4854bbbe01
target/loongarch: Use {set/get}_gpr replace to cpu_fpr
...
Introduce set_fpr() and get_fpr() and remove cpu_fpr.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-44-gaosong@loongson.cn >
2023-05-06 11:19:50 +08:00
Song Gao
29bb5d727f
target/loongarch: Implement vldi
...
This patch includes:
- VLDI.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-43-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
843b627a39
target/loongarch: Implement vld vst
...
This patch includes:
- VLD[X], VST[X];
- VLDREPL.{B/H/W/D};
- VSTELM.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-42-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
e93dd43147
target/loongarch: Implement vilvl vilvh vextrins vshuf
...
This patch includes:
- VILV{L/H}.{B/H/W/D};
- VSHUF.{B/H/W/D};
- VSHUF4I.{B/H/W/D};
- VPERMI.W;
- VEXTRINS.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-41-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
d5e5563cb3
target/loongarch: Implement vreplve vpack vpick
...
This patch includes:
- VREPLVE[I].{B/H/W/D};
- VBSLL.V, VBSRL.V;
- VPACK{EV/OD}.{B/H/W/D};
- VPICK{EV/OD}.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-40-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
cdbdefbf5a
target/loongarch: Implement vinsgr2vr vpickve2gr vreplgr2vr
...
This patch includes:
- VINSGR2VR.{B/H/W/D};
- VPICKVE2GR.{B/H/W/D}[U];
- VREPLGR2VR.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-39-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
d0dfa19a7b
target/loongarch: Implement vbitsel vset
...
This patch includes:
- VBITSEL.V;
- VBITSELI.B;
- VSET{EQZ/NEZ}.V;
- VSETANYEQZ.{B/H/W/D};
- VSETALLNEZ.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-38-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
386c4e86d0
target/loongarch: Implement vfcmp
...
This patch includes:
- VFCMP.cond.{S/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-37-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
f435e1e5af
target/loongarch: Implement vseq vsle vslt
...
This patch includes:
- VSEQ[I].{B/H/W/D};
- VSLE[I].{B/H/W/D}[U];
- VSLT[I].{B/H/W/D/}[U].
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-36-gaosong@loongson.cn >
2023-05-06 11:19:49 +08:00
Song Gao
399665d2af
target/loongarch: Implement LSX fpu fcvt instructions
...
This patch includes:
- VFCVT{L/H}.{S.H/D.S};
- VFCVT.{H.S/S.D};
- VFRINT[{RNE/RZ/RP/RM}].{S/D};
- VFTINT[{RNE/RZ/RP/RM}].{W.S/L.D};
- VFTINT[RZ].{WU.S/LU.D};
- VFTINT[{RNE/RZ/RP/RM}].W.D;
- VFTINT[{RNE/RZ/RP/RM}]{L/H}.L.S;
- VFFINT.{S.W/D.L}[U];
- VFFINT.S.L, VFFINT{L/H}.D.W.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-35-gaosong@loongson.cn >
2023-05-06 11:19:48 +08:00
Song Gao
aca67472d2
target/loongarch: Implement LSX fpu arith instructions
...
This patch includes:
- VF{ADD/SUB/MUL/DIV}.{S/D};
- VF{MADD/MSUB/NMADD/NMSUB}.{S/D};
- VF{MAX/MIN}.{S/D};
- VF{MAXA/MINA}.{S/D};
- VFLOGB.{S/D};
- VFCLASS.{S/D};
- VF{SQRT/RECIP/RSQRT}.{S/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-34-gaosong@loongson.cn >
2023-05-06 11:19:48 +08:00
Song Gao
ac95a0b975
target/loongarch: Implement vfrstp
...
This patch includes:
- VFRSTP[I].{B/H}.
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-33-gaosong@loongson.cn >
2023-05-06 11:19:48 +08:00
Song Gao
0b1e67051d
target/loongarch: Implement vbitclr vbitset vbitrev
...
This patch includes:
- VBITCLR[I].{B/H/W/D};
- VBITSET[I].{B/H/W/D};
- VBITREV[I].{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-32-gaosong@loongson.cn >
2023-05-06 11:19:48 +08:00
Song Gao
bb22ee5763
target/loongarch: Implement vpcnt
...
This patch includes:
- VPCNT.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-31-gaosong@loongson.cn >
2023-05-06 11:19:48 +08:00
Song Gao
2e105e12a5
target/loongarch: Implement vclo vclz
...
This patch includes:
- VCLO.{B/H/W/D};
- VCLZ.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-30-gaosong@loongson.cn >
2023-05-06 11:19:48 +08:00
Song Gao
162cd32cfe
target/loongarch: Implement vssrlrn vssrarn
...
This patch includes:
- VSSRLRN.{B.H/H.W/W.D};
- VSSRARN.{B.H/H.W/W.D};
- VSSRLRN.{BU.H/HU.W/WU.D};
- VSSRARN.{BU.H/HU.W/WU.D};
- VSSRLRNI.{B.H/H.W/W.D/D.Q};
- VSSRARNI.{B.H/H.W/W.D/D.Q};
- VSSRLRNI.{BU.H/HU.W/WU.D/DU.Q};
- VSSRARNI.{BU.H/HU.W/WU.D/DU.Q}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-29-gaosong@loongson.cn >
2023-05-06 11:19:48 +08:00
Song Gao
83b3815dbc
target/loongarch: Implement vssrln vssran
...
This patch includes:
- VSSRLN.{B.H/H.W/W.D};
- VSSRAN.{B.H/H.W/W.D};
- VSSRLN.{BU.H/HU.W/WU.D};
- VSSRAN.{BU.H/HU.W/WU.D};
- VSSRLNI.{B.H/H.W/W.D/D.Q};
- VSSRANI.{B.H/H.W/W.D/D.Q};
- VSSRLNI.{BU.H/HU.W/WU.D/DU.Q};
- VSSRANI.{BU.H/HU.W/WU.D/DU.Q}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-28-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
a5200a17c9
target/loongarch: Implement vsrlrn vsrarn
...
This patch includes:
- VSRLRN.{B.H/H.W/W.D};
- VSRARN.{B.H/H.W/W.D};
- VSRLRNI.{B.H/H.W/W.D/D.Q};
- VSRARNI.{B.H/H.W/W.D/D.Q}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-27-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
d79fb8ddcd
target/loongarch: Implement vsrln vsran
...
This patch includes:
- VSRLN.{B.H/H.W/W.D};
- VSRAN.{B.H/H.W/W.D};
- VSRLNI.{B.H/H.W/W.D/D.Q};
- VSRANI.{B.H/H.W/W.D/D.Q}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-26-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
ecb9371675
target/loongarch: Implement vsrlr vsrar
...
This patch includes:
- VSRLR[I].{B/H/W/D};
- VSRAR[I].{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-25-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
9b21a7a510
target/loongarch: Implement vsllwil vextl
...
This patch includes:
- VSLLWIL.{H.B/W.H/D.W};
- VSLLWIL.{HU.BU/WU.HU/DU.WU};
- VEXTL.Q.D, VEXTL.QU.DU.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-24-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
b281d6961d
target/loongarch: Implement vsll vsrl vsra vrotr
...
This patch includes:
- VSLL[I].{B/H/W/D};
- VSRL[I].{B/H/W/D};
- VSRA[I].{B/H/W/D};
- VROTR[I].{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-23-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
f205a539f6
target/loongarch: Implement LSX logic instructions
...
This patch includes:
- V{AND/OR/XOR/NOR/ANDN/ORN}.V;
- V{AND/OR/XOR/NOR}I.B.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-22-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
789f4a4c86
target/loongarch: Implement vmskltz/vmskgez/vmsknz
...
This patch includes:
- VMSKLTZ.{B/H/W/D};
- VMSKGEZ.B;
- VMSKNZ.B.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-21-gaosong@loongson.cn >
2023-05-06 11:19:47 +08:00
Song Gao
f0e395dfb0
target/loongarch: Implement vsigncov
...
This patch includes:
- VSIGNCOV.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-20-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00
Song Gao
3734ad9370
target/loongarch: Implement vexth
...
This patch includes:
- VEXTH.{H.B/W.H/D.W/Q.D};
- VEXTH.{HU.BU/WU.HU/DU.WU/QU.DU}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-19-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00
Song Gao
cbe44190cc
target/loongarch: Implement vsat
...
This patch includes:
- VSAT.{B/H/W/D}[U].
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-18-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00
Song Gao
4cc4c0f78b
target/loongarch: Implement vdiv/vmod
...
This patch includes:
- VDIV.{B/H/W/D}[U];
- VMOD.{B/H/W/D}[U].
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-17-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00
Song Gao
d3aec65bc1
target/loongarch: Implement vmadd/vmsub/vmaddw{ev/od}
...
This patch includes:
- VMADD.{B/H/W/D};
- VMSUB.{B/H/W/D};
- VMADDW{EV/OD}.{H.B/W.H/D.W/Q.D}[U];
- VMADDW{EV/OD}.{H.BU.B/W.HU.H/D.WU.W/Q.DU.D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-16-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00
Song Gao
cd1c49ada0
target/loongarch: Implement vmul/vmuh/vmulw{ev/od}
...
This patch includes:
- VMUL.{B/H/W/D};
- VMUH.{B/H/W/D}[U];
- VMULW{EV/OD}.{H.B/W.H/D.W/Q.D}[U];
- VMULW{EV/OD}.{H.BU.B/W.HU.H/D.WU.W/Q.DU.D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-15-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00
Song Gao
9ab29520f7
target/loongarch: Implement vmax/vmin
...
This patch includes:
- VMAX[I].{B/H/W/D}[U];
- VMIN[I].{B/H/W/D}[U].
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-14-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00
Song Gao
af448cb31a
target/loongarch: Implement vadda
...
This patch includes:
- VADDA.{B/H/W/D}.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230504122810.4094787-13-gaosong@loongson.cn >
2023-05-06 11:19:46 +08:00